From 08cf432a8cc9bd0289e76bf684fb5264a7cfc7a7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 27 Feb 2021 21:16:59 +0100 Subject: [PATCH] Try to fix text-file-checking test on Windows. --- test/config_test.cc | 2 +- test/test.cc | 20 ++++++++++++++++---- test/test.h | 4 ++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/test/config_test.cc b/test/config_test.cc index 0c5c86a4a..d22e635c8 100644 --- a/test/config_test.cc +++ b/test/config_test.cc @@ -101,7 +101,7 @@ BOOST_AUTO_TEST_CASE (config_write_utf8_test) Config::drop (); Config::instance()->write(); - check_file ("test/data/utf8_config.xml", "build/test/config.xml"); + check_file ("test/data/utf8_config.xml", "build/test/config.xml", false); /* This test has called Config::set_defaults(), so take us back to the config that we want for our tests. diff --git a/test/test.cc b/test/test.cc index 1e84d5162..27393386b 100644 --- a/test/test.cc +++ b/test/test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2020 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,10 +18,13 @@ */ + + /** @file test/test.cc * @brief Overall test stuff and useful methods for tests. */ + #include "lib/compose.hpp" #include "lib/config.h" #include "lib/cross.h" @@ -61,6 +64,7 @@ extern "C" { #include #include + using std::abs; using std::cerr; using std::cout; @@ -123,6 +127,7 @@ setup_test_config () Config::instance()->set_decryption_chain (decryption); } + class TestSignalManager : public SignalManager { public: @@ -156,8 +161,10 @@ struct TestConfig } }; + BOOST_GLOBAL_FIXTURE (TestConfig); + boost::filesystem::path test_film_dir (string name) { @@ -168,6 +175,7 @@ test_film_dir (string name) return p; } + shared_ptr new_test_film (string name) { @@ -181,6 +189,7 @@ new_test_film (string name) return film; } + shared_ptr new_test_film2 (string name, vector> content, Cleanup* cleanup) { @@ -205,6 +214,7 @@ new_test_film2 (string name, vector> content, Cleanup* clean return film; } + void check_wav_file (boost::filesystem::path ref, boost::filesystem::path check) { @@ -248,6 +258,7 @@ check_wav_file (boost::filesystem::path ref, boost::filesystem::path check) } } + void check_mxf_audio_file (boost::filesystem::path ref, boost::filesystem::path check) { @@ -434,13 +445,13 @@ check_image (boost::filesystem::path ref, boost::filesystem::path check, double void -check_file (boost::filesystem::path ref, boost::filesystem::path check) +check_file (boost::filesystem::path ref, boost::filesystem::path check, bool binary_mode) { auto N = boost::filesystem::file_size (ref); BOOST_CHECK_EQUAL (N, boost::filesystem::file_size (check)); - auto ref_file = fopen_boost (ref, "rb"); + auto ref_file = fopen_boost (ref, binary_mode ? "rb" : "r"); BOOST_CHECK (ref_file); - auto check_file = fopen_boost (check, "rb"); + auto check_file = fopen_boost (check, binary_mode ? "rb" : "r"); BOOST_CHECK (check_file); int const buffer_size = 65536; @@ -471,6 +482,7 @@ check_file (boost::filesystem::path ref, boost::filesystem::path check) fclose (check_file); } + static void note (dcp::NoteType t, string n) { diff --git a/test/test.h b/test/test.h index a4b6bedd1..9d2262657 100644 --- a/test/test.h +++ b/test/test.h @@ -61,12 +61,12 @@ extern std::shared_ptr new_test_film (std::string); extern std::shared_ptr new_test_film2 (std::string, std::vector> content = {}, Cleanup* cleanup = nullptr); extern void check_dcp (boost::filesystem::path, boost::filesystem::path); extern void check_dcp (boost::filesystem::path, std::shared_ptr); -extern void check_file (boost::filesystem::path ref, boost::filesystem::path check); +extern void check_file (boost::filesystem::path ref, boost::filesystem::path check, bool binary_mode = true); +extern void check_text_file (boost::filesystem::path ref, boost::filesystem::path check); extern void check_wav_file (boost::filesystem::path ref, boost::filesystem::path check); extern void check_mxf_audio_file (boost::filesystem::path ref, boost::filesystem::path check); extern bool mxf_atmos_files_same (boost::filesystem::path ref, boost::filesystem::path check, bool verbose = false); extern void check_xml (boost::filesystem::path, boost::filesystem::path, std::list); -extern void check_file (boost::filesystem::path, boost::filesystem::path); extern void check_ffmpeg (boost::filesystem::path, boost::filesystem::path, int audio_tolerance); extern void check_image (boost::filesystem::path, boost::filesystem::path, double threshold = 4); extern boost::filesystem::path test_film_dir (std::string); -- 2.30.2