X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.cc;h=b2a0cd5acfcaad18aaca3c13bcae9b13e46202e9;hb=68397475b07181446d9593ca65c88c6261934afd;hp=9261ce43ba0e0515fa4e57dd3e29fc5ce28eb7f3;hpb=8e4f083438e2a6234da96f63fcceadafd5a8bd03;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index 9261ce43b..b2a0cd5ac 100644 --- a/test/test.cc +++ b/test/test.cc @@ -110,7 +110,6 @@ setup_test_config () Config::instance()->set_master_encoding_threads (boost::thread::hardware_concurrency() / 2); Config::instance()->set_server_encoding_threads (1); Config::instance()->set_server_port_base (61921); - Config::instance()->set_default_container (Ratio::from_id ("185")); Config::instance()->set_default_dcp_content_type (static_cast (0)); Config::instance()->set_default_audio_delay (0); Config::instance()->set_default_j2k_bandwidth (100000000); @@ -283,7 +282,7 @@ check_mxf_audio_file (boost::filesystem::path ref, boost::filesystem::path check for (size_t i = 0; i < ref_desc.ContainerDuration; ++i) { ref_reader.ReadFrame (i, ref_buffer, 0); check_reader.ReadFrame (i, check_buffer, 0); - BOOST_REQUIRE (memcmp(ref_buffer.RoData(), check_buffer.RoData(), ref_buffer.Size()) == 0); + BOOST_REQUIRE_MESSAGE(memcmp(ref_buffer.RoData(), check_buffer.RoData(), ref_buffer.Size()) == 0, "Audio MXF differs in frame " << i); } } @@ -552,6 +551,7 @@ check_dcp (boost::filesystem::path ref, boost::filesystem::path check) options.reel_annotation_texts_can_differ = true; options.reel_hashes_can_differ = true; options.issue_dates_can_differ = true; + options.max_subtitle_vertical_position_error = 0.001; BOOST_CHECK (ref_dcp.equals (check_dcp, options, boost::bind (note, _1, _2))); } @@ -836,13 +836,9 @@ dcp_file (shared_ptr film, string prefix) boost::filesystem::path subtitle_file (shared_ptr film) { - for (auto i: boost::filesystem::directory_iterator(film->directory().get() / film->dcp_name (false))) { - if (boost::filesystem::is_directory(i.path())) { - for (auto j: boost::filesystem::directory_iterator(i.path())) { - if (boost::algorithm::starts_with(j.path().leaf().string(), "sub_")) { - return j.path(); - } - } + 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_")) { + return i.path(); } } @@ -984,3 +980,27 @@ find_file (boost::filesystem::path dir, string filename_part) BOOST_REQUIRE (found); return *found; } + + +Editor::Editor(boost::filesystem::path path) + : _path(path) + , _content(dcp::file_to_string(path)) +{ + +} + +Editor::~Editor() +{ + auto f = fopen(_path.string().c_str(), "w"); + BOOST_REQUIRE(f); + fwrite(_content.c_str(), _content.length(), 1, f); + fclose(f); +} + +void +Editor::replace(string a, string b) +{ + auto old_content = _content; + boost::algorithm::replace_all(_content, a, b); + BOOST_REQUIRE(_content != old_content); +}