X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.cc;h=8ca103a6bdedb9800c97ef94f3f14509ac5253ee;hb=66563a87f230392d3405b5b20997f43cbcd9cf6b;hp=bd23f7522d0c8072b273972df108901e2ee83d4a;hpb=67f39ff3eebb5ac727324b12130ff9cc262e9ffa;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index bd23f7522..8ca103a6b 100644 --- a/test/test.cc +++ b/test/test.cc @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -107,7 +108,7 @@ TestPaths::TestPaths::private_data () boost::filesystem::path TestPaths::xsd () { - return boost::filesystem::canonical(boost::filesystem::path("..") / boost::filesystem::path("libdcp") / boost::filesystem::path("xsd")); + return boost::filesystem::current_path().parent_path() / "libdcp" / "xsd"; } @@ -122,6 +123,7 @@ setup_test_config () Config::instance()->set_default_j2k_bandwidth (100000000); Config::instance()->set_default_interop (false); Config::instance()->set_default_still_length (10); + Config::instance()->set_default_dcp_audio_channels(8); Config::instance()->set_log_types ( LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR | LogEntry::TYPE_DISK @@ -134,6 +136,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("test/data/empty_cinemas.xml"); } @@ -156,6 +159,7 @@ struct TestConfig dcpomatic_setup (); setup_test_config (); + capture_ffmpeg_logs(); EncodeServerFinder::instance()->stop (); @@ -284,6 +288,7 @@ check_mxf_audio_file (boost::filesystem::path ref, boost::filesystem::path check BOOST_REQUIRE (!ASDCP_FAILURE (check_reader.FillAudioDescriptor (check_desc))); BOOST_REQUIRE_EQUAL (ref_desc.ContainerDuration, check_desc.ContainerDuration); + BOOST_REQUIRE_MESSAGE(ref_desc.ChannelCount, check_desc.ChannelCount); ASDCP::PCM::FrameBuffer ref_buffer (Kumu::Megabyte); ASDCP::PCM::FrameBuffer check_buffer (Kumu::Megabyte); @@ -544,7 +549,7 @@ check_dcp (boost::filesystem::path ref, shared_ptr film) void -check_dcp (boost::filesystem::path ref, boost::filesystem::path check) +check_dcp(boost::filesystem::path ref, boost::filesystem::path check, bool sound_can_differ) { dcp::DCP ref_dcp (ref); ref_dcp.read (); @@ -561,8 +566,9 @@ check_dcp (boost::filesystem::path ref, boost::filesystem::path check) options.asset_hashes_can_differ = true; options.issue_dates_can_differ = true; options.max_subtitle_vertical_position_error = 0.001; + options.sound_assets_can_differ = sound_can_differ; - BOOST_CHECK (ref_dcp.equals (check_dcp, options, boost::bind (note, _1, _2))); + BOOST_CHECK_MESSAGE(ref_dcp.equals(check_dcp, options, boost::bind (note, _1, _2)), check << " does not match " << ref); } void @@ -837,7 +843,7 @@ dcp_file (shared_ptr film, string prefix) vector matches; std::copy_if(recursive_directory_iterator(film->dir(film->dcp_name())), recursive_directory_iterator(), std::back_inserter(matches), [&prefix](directory_entry const& entry) { - return boost::algorithm::starts_with(entry.path().leaf().string(), prefix); + return boost::algorithm::starts_with(entry.path().filename().string(), prefix); }); BOOST_REQUIRE_MESSAGE(matches.size() == 1, "Found " << matches.size() << " files with prefix " << prefix); @@ -848,7 +854,7 @@ boost::filesystem::path subtitle_file (shared_ptr film) { for (auto i: boost::filesystem::recursive_directory_iterator(film->directory().get() / film->dcp_name(false))) { - if (boost::algorithm::starts_with(i.path().leaf().string(), "sub_")) { + if (boost::algorithm::starts_with(i.path().filename().string(), "sub_")) { return i.path(); } } @@ -942,7 +948,7 @@ void progress (float) {} void verify_dcp(boost::filesystem::path dir, vector ignore) { - auto notes = dcp::verify({dir}, &stage, &progress, {}, TestPaths::xsd()); + auto notes = dcp::verify({dir}, {}, &stage, &progress, {}, TestPaths::xsd()); bool ok = true; for (auto i: notes) { if (find(ignore.begin(), ignore.end(), i.code()) == ignore.end()) {