Fix warnings.
[dcpomatic.git] / test / test.cc
index 2620800bcc95354ce6e0fe0131d11dadabbc95ce..0636c6e4875667181c96e0e6eaa82dc5414ffd95 100644 (file)
@@ -29,7 +29,7 @@
 #include <dcp/dcp.h>
 #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<Ratio*> (0));
+               Config::instance()->set_default_container (Ratio::from_id ("185"));
                Config::instance()->set_default_dcp_content_type (static_cast<DCPContentType*> (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<shared_ptr<Job> >::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