Add ConfigRestorer and use it instead of setup_test_config() directly.
[dcpomatic.git] / test / test.cc
index 15bb2cc55e5a12f84198508846ea2636e8a2f732..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"));
@@ -363,10 +363,10 @@ static
 double
 rms_error (boost::filesystem::path ref, boost::filesystem::path check)
 {
-       FFmpegImageProxy ref_proxy (ref, VideoRange::FULL);
-       auto ref_image = ref_proxy.image().image;
-       FFmpegImageProxy check_proxy (check, VideoRange::FULL);
-       auto check_image = check_proxy.image().image;
+       FFmpegImageProxy ref_proxy (ref);
+       auto ref_image = ref_proxy.image(Image::Alignment::COMPACT).image;
+       FFmpegImageProxy check_proxy (check);
+       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();
@@ -910,7 +910,7 @@ make_and_verify_dcp (shared_ptr<Film> film, vector<dcp::VerificationNote::Code>
 void
 check_int_close (int a, int b, int d)
 {
-       BOOST_CHECK (std::abs(a - b) < d);
+       BOOST_CHECK_MESSAGE (std::abs(a - b) < d, a << " differs from " << b << " by more than " << d);
 }
 
 
@@ -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();
+}
+