diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2014-06-24 17:05:45 +1000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-25 12:40:11 -0400 |
commit | 7338c4e242f9448668238d26d9f64c46e4ace737 (patch) | |
tree | 31233a6099bc8606fddcb1ce09eb11627a56b019 /libs/pbd/test | |
parent | 94d8dfa2566b401ccbfb7ce85dd01079b8c3db6d (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.cc | 22 | ||||
-rw-r--r-- | libs/pbd/test/filesystem_test.h | 2 |
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 (); }; |