summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-09-27 11:55:27 +0200
committerCarl Hetherington <cth@carlh.net>2021-09-27 11:55:27 +0200
commit6e3e984162ca7a181bc7c98d90c295e88e4e7f6c (patch)
treef514e6618e9012c307188a11a9d2a2ade2e04d19 /test
parenta3d4dfb4357a265d4c3a4bfafe7d17a8ecc72f66 (diff)
parent0771af91ad52ed2e25ab89410eb6e783b50f7329 (diff)
Merge branch 'own-config' into v2.15.x
This makes 2.15.x copy the 2.14.x configuration so you can run 2.14.x again afterwards without recreating everything.
Diffstat (limited to 'test')
-rw-r--r--test/config_test.cc59
m---------test/data0
2 files changed, 40 insertions, 19 deletions
diff --git a/test/config_test.cc b/test/config_test.cc
index d78b9357b..173c95cbf 100644
--- a/test/config_test.cc
+++ b/test/config_test.cc
@@ -32,11 +32,11 @@ static void
rewrite_bad_config ()
{
boost::system::error_code ec;
- boost::filesystem::remove ("build/test/bad_config/config.xml", ec);
+ boost::filesystem::remove ("build/test/bad_config/2.16/config.xml", ec);
Config::override_path = "build/test/bad_config";
- boost::filesystem::create_directories ("build/test/bad_config");
- ofstream f ("build/test/bad_config/config.xml");
+ boost::filesystem::create_directories ("build/test/bad_config/2.16");
+ ofstream f ("build/test/bad_config/2.16/config.xml");
f << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
<< "<Config>\n"
<< "<Foo></Foo>\n"
@@ -57,37 +57,37 @@ BOOST_AUTO_TEST_CASE (config_backup_test)
Config::instance();
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.2"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.3"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4"));
+ BOOST_CHECK ( boost::filesystem::exists("build/test/bad_config/2.16/config.xml.1"));
+ 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"));
Config::drop();
rewrite_bad_config();
Config::instance();
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1"));
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.2"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.3"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4"));
+ BOOST_CHECK ( boost::filesystem::exists("build/test/bad_config/2.16/config.xml.1"));
+ 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"));
Config::drop();
rewrite_bad_config();
Config::instance();
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1"));
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.2"));
- BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.3"));
- BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4"));
+ BOOST_CHECK ( boost::filesystem::exists("build/test/bad_config/2.16/config.xml.1"));
+ 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"));
Config::drop();
rewrite_bad_config();
Config::instance();
- BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.1"));
- BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.2"));
- BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.3"));
- BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.4"));
+ BOOST_CHECK (boost::filesystem::exists("build/test/bad_config/2.16/config.xml.1"));
+ 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.
@@ -112,3 +112,24 @@ BOOST_AUTO_TEST_CASE (config_write_utf8_test)
setup_test_config ();
}
+
+BOOST_AUTO_TEST_CASE (config_upgrade_test)
+{
+ boost::filesystem::path dir = "build/test/config_upgrade_test";
+ Config::override_path = dir;
+ Config::drop ();
+ boost::filesystem::remove_all (dir);
+ boost::filesystem::create_directories (dir);
+
+ 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();
+
+ 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 / "2.16" / "config.xml", "test/data/2.16.config.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"));
+}
+
diff --git a/test/data b/test/data
-Subproject d8d9a1eedc24b5f67f377b6e87e649cdee6fc3b
+Subproject 56b37afdf96ecc83752ce70af061ee6c7ed4f78