Fix tests on Windows now that we replace . with _ in filenames.
authorCarl Hetherington <cth@carlh.net>
Mon, 5 Dec 2022 11:15:30 +0000 (12:15 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 5 Dec 2022 21:52:25 +0000 (22:52 +0100)
test/file_naming_test.cc

index be4856cd1bce236d5c4b2aab3dc6da1c4fc592bc..7175e209ab2a81195530da655bba3e9fc48f1e96 100644 (file)
@@ -62,6 +62,19 @@ private:
 };
 
 
+static
+string
+mxf_regex(string part) {
+#ifdef DCPOMATIC_WINDOWS
+       /* Windows replaces . in filenames with _ */
+       return String::compose(".*flat_%1_png_.*\\.mxf", part);
+#else
+       return String::compose(".*flat_%1\\.png_.*\\.mxf", part);
+#endif
+};
+
+
+
 BOOST_AUTO_TEST_CASE (file_naming_test)
 {
        Keep k;
@@ -100,11 +113,11 @@ BOOST_AUTO_TEST_CASE (file_naming_test)
 
        int got[3] = { 0, 0, 0 };
        for (auto i: boost::filesystem::directory_iterator(film->file(film->dcp_name()))) {
-               if (boost::regex_match(i.path().string(), boost::regex(".*flat_red\\.png_.*\\.mxf"))) {
+               if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("red")))) {
                        ++got[0];
-               } else if (boost::regex_match(i.path().string(), boost::regex(".*flat_green\\.png_.*\\.mxf"))) {
+               } else if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("green")))) {
                        ++got[1];
-               } else if (boost::regex_match(i.path().string(), boost::regex(".*flat_blue\\.png_.*\\.mxf"))) {
+               } else if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("blue")))) {
                        ++got[2];
                }
        }
@@ -158,11 +171,11 @@ BOOST_AUTO_TEST_CASE (file_naming_test2)
 
        int got[3] = { 0, 0, 0 };
        for (auto i: boost::filesystem::directory_iterator (film->file(film->dcp_name()))) {
-               if (boost::regex_match(i.path().string(), boost::regex(".*flat_red\\.png_.*\\.mxf"))) {
+               if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("red")))) {
                        ++got[0];
-               } else if (boost::regex_match(i.path().string(), boost::regex(".*flat_green\\.png_.*\\.mxf"))) {
+               } else if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("green")))) {
                        ++got[1];
-               } else if (boost::regex_match(i.path().string(), boost::regex(".*flat_blue\\.png_.*\\.mxf"))) {
+               } else if (boost::regex_match(i.path().string(), boost::regex(mxf_regex("blue")))) {
                        ++got[2];
                }
        }