X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.cc;h=0636c6e4875667181c96e0e6eaa82dc5414ffd95;hb=9bced5ab9be5f35c42627d4635c8e500cb5090fa;hp=2620800bcc95354ce6e0fe0131d11dadabbc95ce;hpb=920bbd068a0868bbec7da57724aaf1c14e8b3795;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index 2620800bc..0636c6e48 100644 --- a/test/test.cc +++ b/test/test.cc @@ -29,7 +29,7 @@ #include #include "lib/config.h" #include "lib/util.h" -#include "lib/ui_signaller.h" +#include "lib/signal_manager.h" #include "lib/film.h" #include "lib/job_manager.h" #include "lib/job.h" @@ -46,12 +46,13 @@ using std::min; using std::cout; using std::cerr; using std::list; +using std::abs; using boost::shared_ptr; using boost::scoped_array; boost::filesystem::path private_data = boost::filesystem::path ("..") / boost::filesystem::path ("dcpomatic-test-private"); -class TestUISignaller : public UISignaller +class TestSignalManager : public SignalManager { public: /* No wakes in tests: we call ui_idle ourselves */ @@ -68,16 +69,16 @@ struct TestConfig dcpomatic_setup (); Config::instance()->set_num_local_encoding_threads (1); - Config::instance()->set_server_port_base (61920); + Config::instance()->set_server_port_base (61921); Config::instance()->set_default_isdcf_metadata (ISDCFMetadata ()); - Config::instance()->set_default_container (static_cast (0)); + 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); ServerFinder::instance()->disable (); - ui_signaller = new TestUISignaller (); + signal_manager = new TestSignalManager (); } ~TestConfig () @@ -143,7 +144,7 @@ check_audio_file (boost::filesystem::path ref, boost::filesystem::path check) BOOST_CHECK_EQUAL (r, this_time); for (sf_count_t i = 0; i < this_time; ++i) { - BOOST_CHECK (fabs (ref_buffer[i] - check_buffer[i]) <= 65536); + BOOST_REQUIRE (abs (ref_buffer[i] - check_buffer[i]) <= 65536); } N -= this_time; @@ -210,7 +211,7 @@ check_dcp (boost::filesystem::path ref, boost::filesystem::path check) options.max_std_dev_pixel_error = 5; options.max_audio_sample_error = 255; options.cpl_annotation_texts_can_differ = true; - options.mxf_filenames_can_differ = true; + options.reel_annotation_texts_can_differ = true; options.reel_hashes_can_differ = true; BOOST_CHECK (ref_dcp.equals (check_dcp, options, boost::bind (note, _1, _2))); @@ -285,8 +286,11 @@ wait_for_jobs () { JobManager* jm = JobManager::instance (); while (jm->work_to_do ()) { - ui_signaller->ui_idle (); + signal_manager->ui_idle (); } + + cout << "Waiting for jobs: all finished; errors=" << jm->errors() << ".\n"; + if (jm->errors ()) { int N = 0; for (list >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) { @@ -304,10 +308,15 @@ wait_for_jobs () } } } - - BOOST_CHECK (!jm->errors()); - ui_signaller->ui_idle (); + signal_manager->ui_idle (); + + if (jm->errors ()) { + cout << "Dropping JobManager\n"; + JobManager::drop (); + } else { + cout << "Not dropping JobManager\n"; + } } void