projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add ConfigRestorer and use it instead of setup_test_config() directly.
[dcpomatic.git]
/
test
/
config_test.cc
diff --git
a/test/config_test.cc
b/test/config_test.cc
index 173c95cbf9c4fe1cc778b221cead0b8b6f6a4798..48dec27d76543e9b13566ae1f614f3f9c75d62c8 100644
(file)
--- a/
test/config_test.cc
+++ b/
test/config_test.cc
@@
-47,6
+47,8
@@
rewrite_bad_config ()
BOOST_AUTO_TEST_CASE (config_backup_test)
{
BOOST_AUTO_TEST_CASE (config_backup_test)
{
+ ConfigRestorer cr;
+
Config::override_path = "build/test/bad_config";
Config::drop();
Config::override_path = "build/test/bad_config";
Config::drop();
@@
-88,16
+90,13
@@
BOOST_AUTO_TEST_CASE (config_backup_test)
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.2"));
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.3"));
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.4"));
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.2"));
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.3"));
BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.4"));
-
- /* This test has called Config::set_defaults(), so take us back
- to the config that we want for our tests.
- */
- setup_test_config ();
}
BOOST_AUTO_TEST_CASE (config_write_utf8_test)
{
}
BOOST_AUTO_TEST_CASE (config_write_utf8_test)
{
+ ConfigRestorer cr;
+
boost::filesystem::remove_all ("build/test/config.xml");
boost::filesystem::copy_file ("test/data/utf8_config.xml", "build/test/config.xml");
Config::override_path = "build/test";
boost::filesystem::remove_all ("build/test/config.xml");
boost::filesystem::copy_file ("test/data/utf8_config.xml", "build/test/config.xml");
Config::override_path = "build/test";
@@
-105,16
+104,13
@@
BOOST_AUTO_TEST_CASE (config_write_utf8_test)
Config::instance()->write();
check_text_file ("test/data/utf8_config.xml", "build/test/config.xml");
Config::instance()->write();
check_text_file ("test/data/utf8_config.xml", "build/test/config.xml");
-
- /* This test has called Config::set_defaults(), so take us back
- to the config that we want for our tests.
- */
- setup_test_config ();
}
BOOST_AUTO_TEST_CASE (config_upgrade_test)
{
}
BOOST_AUTO_TEST_CASE (config_upgrade_test)
{
+ ConfigRestorer cr;
+
boost::filesystem::path dir = "build/test/config_upgrade_test";
Config::override_path = dir;
Config::drop ();
boost::filesystem::path dir = "build/test/config_upgrade_test";
Config::override_path = dir;
Config::drop ();
@@
-124,11
+120,19
@@
BOOST_AUTO_TEST_CASE (config_upgrade_test)
boost::filesystem::copy_file ("test/data/2.14.config.xml", dir / "config.xml");
boost::filesystem::copy_file ("test/data/2.14.cinemas.xml", dir / "cinemas.xml");
Config::instance();
boost::filesystem::copy_file ("test/data/2.14.config.xml", dir / "config.xml");
boost::filesystem::copy_file ("test/data/2.14.cinemas.xml", dir / "cinemas.xml");
Config::instance();
- Config::instance()->write();
+ try {
+ /* This will fail to write cinemas.xml since the link is to a non-existant directory */
+ Config::instance()->write();
+ } catch (...) {}
check_xml (dir / "config.xml", "test/data/2.14.config.xml", {});
check_xml (dir / "cinemas.xml", "test/data/2.14.cinemas.xml", {});
check_xml (dir / "config.xml", "test/data/2.14.config.xml", {});
check_xml (dir / "cinemas.xml", "test/data/2.14.cinemas.xml", {});
+#ifdef DCPOMATIC_WINDOWS
+ /* This file has the windows path for dkdm_recipients.xml (with backslashes) */
+ check_xml (dir / "2.16" / "config.xml", "test/data/2.16.config.windows.xml", {});
+#else
check_xml (dir / "2.16" / "config.xml", "test/data/2.16.config.xml", {});
check_xml (dir / "2.16" / "config.xml", "test/data/2.16.config.xml", {});
+#endif
/* cinemas.xml is not copied into 2.16 as its format has not changed */
BOOST_REQUIRE (!boost::filesystem::exists(dir / "2.16" / "cinemas.xml"));
}
/* cinemas.xml is not copied into 2.16 as its format has not changed */
BOOST_REQUIRE (!boost::filesystem::exists(dir / "2.16" / "cinemas.xml"));
}