Add ConfigRestorer and use it instead of setup_test_config() directly.
[dcpomatic.git] / test / test.cc
index 4dab0cff1b5895c0e197e19c0db140092662757e..c63dd132a1d7a446c3757a2d79f82ae298c7cf2b 100644 (file)
@@ -99,10 +99,10 @@ boost::filesystem::path TestPaths::xsd ()
 }
 
 
-void
+static void
 setup_test_config ()
 {
-       Config::instance()->set_master_encoding_threads (boost::thread::hardware_concurrency());
+       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"));
@@ -364,9 +364,9 @@ double
 rms_error (boost::filesystem::path ref, boost::filesystem::path check)
 {
        FFmpegImageProxy ref_proxy (ref);
-       auto ref_image = ref_proxy.image().image;
+       auto ref_image = ref_proxy.image(Image::Alignment::COMPACT).image;
        FFmpegImageProxy check_proxy (check);
-       auto check_image = check_proxy.image().image;
+       auto check_image = check_proxy.image(Image::Alignment::COMPACT).image;
 
        BOOST_REQUIRE_EQUAL (ref_image->pixel_format(), check_image->pixel_format());
        AVPixelFormat const format = ref_image->pixel_format();
@@ -920,3 +920,10 @@ check_int_close (std::pair<int, int> a, std::pair<int, int> b, int d)
        check_int_close (a.first, b.first, d);
        check_int_close (a.second, b.second, d);
 }
+
+
+ConfigRestorer::~ConfigRestorer()
+{
+       setup_test_config();
+}
+