summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-05-09 00:48:07 +0200
committerCarl Hetherington <cth@carlh.net>2025-05-29 11:49:34 +0200
commit4021e2a5b467338814664c466a84714da5fcbc0b (patch)
tree7902f5300ffc2673fd6ba5d30e9c402a1ea347a9 /test
parent6cc78916f19b813cef89ef7028b7c4de6bb94c1f (diff)
Interpret relative cinemas SQLite3 paths as being relative to the config.xml (#3038).
Diffstat (limited to 'test')
-rw-r--r--test/cinema_list_test.cc2
-rw-r--r--test/config_test.cc44
m---------test/data0
-rw-r--r--test/kdm_cli_test.cc4
-rw-r--r--test/test.cc2
5 files changed, 34 insertions, 18 deletions
diff --git a/test/cinema_list_test.cc b/test/cinema_list_test.cc
index 15e832eba..0dd88387a 100644
--- a/test/cinema_list_test.cc
+++ b/test/cinema_list_test.cc
@@ -215,7 +215,7 @@ BOOST_AUTO_TEST_CASE(update_screen_test)
BOOST_AUTO_TEST_CASE(cinemas_list_copy_from_xml_test)
{
- ConfigRestorer cr("build/test/cinemas_list_copy_config");
+ ConfigRestorer cr(boost::filesystem::current_path() / "build/test/cinemas_list_copy_config");
dcp::filesystem::remove_all(*Config::override_path);
dcp::filesystem::create_directories(*Config::override_path);
diff --git a/test/config_test.cc b/test/config_test.cc
index 8fd19b693..378b28d5c 100644
--- a/test/config_test.cc
+++ b/test/config_test.cc
@@ -171,8 +171,12 @@ BOOST_AUTO_TEST_CASE (config_upgrade_test1)
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");
+#if defined(DCPOMATIC_WINDOWS)
+ boost::filesystem::copy_file("test/data/2.14.config.windows.xml", dir / "config.xml");
+#else
+ boost::filesystem::copy_file("test/data/2.14.config.xml", dir / "config.xml");
+#endif
+ boost::filesystem::copy_file("test/data/2.14.cinemas.xml", dir / "cinemas.xml");
try {
/* This will fail to read cinemas.xml since the link is to a non-existent directory */
Config::instance();
@@ -180,8 +184,14 @@ BOOST_AUTO_TEST_CASE (config_upgrade_test1)
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", {});
+#if defined(DCPOMATIC_WINDOWS)
+ check_xml(dir / "config.xml", "test/data/2.14.config.windows.xml", {});
+#else
+ check_xml(dir / "config.xml", "test/data/2.14.config.xml", {});
+#endif
+
+ check_xml(dir / "cinemas.xml", "test/data/2.14.cinemas.xml", {});
+
#if defined(DCPOMATIC_WINDOWS)
/* This file has the windows path for dkdm_recipients.xml (with backslashes) */
check_xml(dir / "2.18" / "config.xml", "test/data/2.18.config.windows.sqlite.xml", {});
@@ -235,7 +245,7 @@ BOOST_AUTO_TEST_CASE (config_upgrade_test2)
BOOST_AUTO_TEST_CASE (config_keep_cinemas_if_making_new_config)
{
- boost::filesystem::path dir = "build/test/config_keep_cinemas_if_making_new_config";
+ auto const dir = boost::filesystem::current_path() / "build/test/config_keep_cinemas_if_making_new_config";
ConfigRestorer cr(dir);
boost::filesystem::remove_all (dir);
boost::filesystem::create_directories (dir);
@@ -258,7 +268,7 @@ BOOST_AUTO_TEST_CASE (config_keep_cinemas_if_making_new_config)
BOOST_AUTO_TEST_CASE(keep_config_if_cinemas_fail_to_load)
{
/* Make a new config */
- boost::filesystem::path dir = "build/test/keep_config_if_cinemas_fail_to_load";
+ auto const dir = boost::filesystem::current_path() / "build/test/keep_config_if_cinemas_fail_to_load";
ConfigRestorer cr(dir);
boost::filesystem::remove_all(dir);
boost::filesystem::create_directories(dir);
@@ -393,7 +403,7 @@ BOOST_AUTO_TEST_CASE(read_dkdm_recipients_xml_and_write_sqlite)
BOOST_AUTO_TEST_CASE(save_config_as_zip_test)
{
- boost::filesystem::path const dir = "build/test/save_config_as_zip_test";
+ auto const dir = boost::filesystem::current_path() / "build/test/save_config_as_zip_test";
ConfigRestorer cr(dir);
boost::system::error_code ec;
boost::filesystem::remove_all(dir, ec);
@@ -463,9 +473,11 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_zip)
{
ConfigRestorer cr;
- boost::filesystem::path const zip = "build/test/load.zip";
+ using namespace boost::filesystem;
+
+ path const zip = "build/test/load.zip";
boost::system::error_code ec;
- boost::filesystem::remove(zip, ec);
+ remove(zip, ec);
Zipper zipper(zip);
zipper.add(
@@ -473,7 +485,7 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_zip)
boost::algorithm::replace_all_copy(
dcp::file_to_string("test/data/2.18.config.xml"),
"/home/realldoesnt/exist/this/path/is/nonsense.sqlite3",
- "build/test/hide/it/here/cinemas.sqlite3"
+ path(current_path() / "build/test/hide/it/here/cinemas.sqlite3").string()
)
);
@@ -482,7 +494,7 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_zip)
Config::instance()->load_from_zip(zip, Config::CinemasAction::WRITE_TO_PATH_IN_ZIPPED_CONFIG);
- CinemaList cinema_list("build/test/hide/it/here/cinemas.sqlite3");
+ CinemaList cinema_list(current_path() / "build/test/hide/it/here/cinemas.sqlite3");
auto cinemas = cinema_list.cinemas();
BOOST_REQUIRE_EQUAL(cinemas.size(), 3U);
BOOST_CHECK_EQUAL(cinemas[0].second.name, "classy joint");
@@ -496,12 +508,14 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_ignore)
{
ConfigRestorer cr;
- CinemaList cinema_list("build/test/hide/it/here/cinemas.sqlite3");
+ using namespace boost::filesystem;
+
+ CinemaList cinema_list(current_path() / "build/test/hide/it/here/cinemas.sqlite3");
cinema_list.add_cinema(Cinema("Foo", {}, "Bar", dcp::UTCOffset()));
- boost::filesystem::path const zip = "build/test/load.zip";
+ path const zip = "build/test/load.zip";
boost::system::error_code ec;
- boost::filesystem::remove(zip, ec);
+ remove(zip, ec);
Zipper zipper(zip);
zipper.add(
@@ -509,7 +523,7 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_ignore)
boost::algorithm::replace_all_copy(
dcp::file_to_string("test/data/2.18.config.xml"),
"/home/realldoesnt/exist/this/path/is/nonsense.xml",
- "build/test/hide/it/here/cinemas.sqlite3"
+ path(current_path() / "build/test/hide/it/here/cinemas.sqlite3").string()
)
);
diff --git a/test/data b/test/data
-Subproject ec2d28b9d2561ae92e05ce4034379587549642f
+Subproject 865e5399ee2e053bf144e30dad165fd38fb5a05
diff --git a/test/kdm_cli_test.cc b/test/kdm_cli_test.cc
index 85fd61c62..a788a9642 100644
--- a/test/kdm_cli_test.cc
+++ b/test/kdm_cli_test.cc
@@ -248,10 +248,12 @@ BOOST_AUTO_TEST_CASE(kdm_cli_specify_cinemas_file)
setup_test_config();
+ using namespace boost::filesystem;
+
vector<string> args = {
"kdm_cli",
"--cinemas-file",
- "test/data/cinemas.sqlite3",
+ path(current_path() / "test/data/cinemas.sqlite3").string(),
"list-cinemas"
};
diff --git a/test/test.cc b/test/test.cc
index c55025650..553c4587a 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -137,7 +137,7 @@ setup_test_config ()
decryption->set_key(dcp::file_to_string("test/data/decryption_key"));
Config::instance()->set_decryption_chain (decryption);
Config::instance()->set_dcp_asset_filename_format(dcp::NameFormat("%t"));
- Config::instance()->set_cinemas_file("build/test/cinemas.sqlite3");
+ Config::instance()->set_cinemas_file(boost::filesystem::current_path() / "build/test/cinemas.sqlite3");
Config::instance()->set_dkdm_recipients_file("build/test/dkdm_recipients.sqlite3");
}