summaryrefslogtreecommitdiff
path: root/libs/pbd/test
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2014-06-24 17:05:45 +1000
committerPaul Davis <paul@linuxaudiosystems.com>2014-06-25 12:40:11 -0400
commit7338c4e242f9448668238d26d9f64c46e4ace737 (patch)
tree31233a6099bc8606fddcb1ce09eb11627a56b019 /libs/pbd/test
parent94d8dfa2566b401ccbfb7ce85dd01079b8c3db6d (diff)
Add test for PBD::copy_file
From this I can see that PBD::copy_file is not working correctly on windows as it is adding windows style line endings. Adding O_BINARY to ::open flags would fix it, but perhaps there is a better way...
Diffstat (limited to 'libs/pbd/test')
-rw-r--r--libs/pbd/test/filesystem_test.cc22
-rw-r--r--libs/pbd/test/filesystem_test.h2
2 files changed, 23 insertions, 1 deletions
diff --git a/libs/pbd/test/filesystem_test.cc b/libs/pbd/test/filesystem_test.cc
index 458105d177..8a173858a0 100644
--- a/libs/pbd/test/filesystem_test.cc
+++ b/libs/pbd/test/filesystem_test.cc
@@ -1,8 +1,14 @@
+#include "filesystem_test.h"
+
#include <unistd.h>
#include <stdlib.h>
-#include "filesystem_test.h"
+
+#include <glibmm/miscutils.h>
+
#include "pbd/file_utils.h"
+#include "test_common.h"
+
using namespace std;
CPPUNIT_TEST_SUITE_REGISTRATION (FilesystemTest);
@@ -35,3 +41,17 @@ FilesystemTest::testPathIsWithin ()
#endif
}
+void
+FilesystemTest::testCopyFile ()
+{
+ std::string testdata_path;
+ CPPUNIT_ASSERT (find_file (test_search_path (), "RosegardenPatchFile.xml", testdata_path));
+
+ std::string output_path = test_output_directory ("CopyFile");
+
+ output_path = Glib::build_filename (output_path, "RosegardenPatchFile.xml");
+
+ cerr << "CopyFile test output path: " << output_path << endl;
+
+ CPPUNIT_ASSERT (PBD::copy_file (testdata_path, output_path));
+}
diff --git a/libs/pbd/test/filesystem_test.h b/libs/pbd/test/filesystem_test.h
index 57f26631d0..f25d3abbc8 100644
--- a/libs/pbd/test/filesystem_test.h
+++ b/libs/pbd/test/filesystem_test.h
@@ -5,10 +5,12 @@ class FilesystemTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE (FilesystemTest);
CPPUNIT_TEST (testPathIsWithin);
+ CPPUNIT_TEST (testCopyFile);
CPPUNIT_TEST_SUITE_END ();
public:
void testPathIsWithin ();
+ void testCopyFile ();
};