More logging and make it go to the right place.
[dcpomatic.git] / test / test.cc
index b111a3b6b85a62dfe591e81aac2c78c2aae822b1..3ec78e68b3c16377bcb821a90399473909c7671f 100644 (file)
@@ -71,13 +71,13 @@ using boost::shared_ptr;
 using boost::scoped_array;
 using boost::dynamic_pointer_cast;
 
-boost::filesystem::path private_data = boost::filesystem::canonical(boost::filesystem::path ("..") / boost::filesystem::path ("dcpomatic-test-private"));
+boost::filesystem::path TestPaths::TestPaths::private_data = boost::filesystem::canonical(boost::filesystem::path ("..") / boost::filesystem::path ("dcpomatic-test-private"));
 boost::filesystem::path TestPaths::xsd = boost::filesystem::canonical(boost::filesystem::path("..") / boost::filesystem::path("libdcp") / boost::filesystem::path("xsd"));
 
 void
 setup_test_config ()
 {
-       Config::instance()->set_master_encoding_threads (1);
+       Config::instance()->set_master_encoding_threads (boost::thread::hardware_concurrency());
        Config::instance()->set_server_encoding_threads (1);
        Config::instance()->set_server_port_base (61921);
        Config::instance()->set_default_isdcf_metadata (ISDCFMetadata ());
@@ -87,7 +87,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_log_types (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR);
+       Config::instance()->set_log_types (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR | LogEntry::TYPE_DEBUG_THREED | LogEntry::TYPE_DEBUG_ENCODE);
        Config::instance()->set_automatic_audio_analysis (false);
 }
 
@@ -114,7 +114,7 @@ struct TestConfig
 
                char* env_private = getenv("DCPOMATIC_TEST_PRIVATE");
                if (env_private) {
-                       private_data = env_private;
+                       TestPaths::TestPaths::private_data = env_private;
                }
 
                dcpomatic_log.reset (new FileLog("build/test/log"));
@@ -297,6 +297,14 @@ note (dcp::NoteType t, string n)
        }
 }
 
+
+void
+check_dcp (boost::filesystem::path ref, shared_ptr<const Film> film)
+{
+       check_dcp (ref, film->dir(film->dcp_name()));
+}
+
+
 void
 check_dcp (boost::filesystem::path ref, boost::filesystem::path check)
 {
@@ -523,3 +531,17 @@ make_random_file (boost::filesystem::path path, size_t size)
        fclose (r);
        free (buffer);
 }
+
+
+LogSwitcher::LogSwitcher (shared_ptr<Log> log)
+       : _old (dcpomatic_log)
+{
+       dcpomatic_log = log;
+}
+
+
+LogSwitcher::~LogSwitcher ()
+{
+       dcpomatic_log = _old;
+}
+