Merge master; fix destruction of Server; some test cleanups.
[dcpomatic.git] / test / test.cc
index f393e80c33ba0c414909ad3af2d51232b8434f98..32f74a7d2fb62b8243056d11c11b84eeb5eea0b1 100644 (file)
 
 */
 
+/** @file  test/test.cc
+ *  @brief Overall test stuff and useful methods for tests.
+ */
+
 #include <vector>
 #include <list>
 #include <Magick++.h>
@@ -63,7 +67,7 @@ struct TestConfig
 
                Config::instance()->set_num_local_encoding_threads (1);
                Config::instance()->set_server_port_base (61920);
-               Config::instance()->set_default_dci_metadata (DCIMetadata ());
+               Config::instance()->set_default_isdcf_metadata (ISDCFMetadata ());
                Config::instance()->set_default_container (static_cast<Ratio*> (0));
                Config::instance()->set_default_dcp_content_type (static_cast<DCPContentType*> (0));
                Config::instance()->set_default_audio_delay (0);
@@ -72,6 +76,11 @@ struct TestConfig
 
                ui_signaller = new TestUISignaller ();
        }
+
+       ~TestConfig ()
+       {
+               JobManager::drop ();
+       }
 };
 
 BOOST_GLOBAL_FIXTURE (TestConfig);
@@ -134,7 +143,7 @@ check_file (boost::filesystem::path ref, boost::filesystem::path check)
 static void
 note (dcp::NoteType t, string n)
 {
-       if (t == dcp::ERROR) {
+       if (t == dcp::DCP_ERROR) {
                cerr << n << "\n";
        }
 }
@@ -223,10 +232,19 @@ wait_for_jobs ()
                ui_signaller->ui_idle ();
        }
        if (jm->errors ()) {
+               int N = 0;
+               for (list<shared_ptr<Job> >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) {
+                       if ((*i)->finished_in_error ()) {
+                               ++N;
+                       }
+               }
+               cerr << N << " errors.\n";
+
                for (list<shared_ptr<Job> >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) {
                        if ((*i)->finished_in_error ()) {
-                               cerr << (*i)->error_summary () << "\n"
-                                    << (*i)->error_details () << "\n";
+                               cerr << (*i)->name() << ":\n"
+                                    << "\tsummary: " << (*i)->error_summary () << "\n"
+                                    << "\tdetails: " << (*i)->error_details () << "\n";
                        }
                }
        }