Change video content scaling so that it either:
[dcpomatic.git] / test / digest_test.cc
index f7480132e58660e543c161e609305dbd97496152..68e443779c1228330b1f35615e8f9bec804d8718 100644 (file)
 
 */
 
+/** @file  test/digest_test.cc
+ *  @brief Check computed DCP digests against references calculated by the `openssl` binary.
+ *  @ingroup specific
+ */
+
 #include "lib/film.h"
 #include "lib/image_content.h"
 #include "lib/dcp_content_type.h"
 #include "lib/compose.hpp"
+#include "lib/config.h"
 #include "test.h"
 #include <dcp/cpl.h>
 #include <dcp/reel.h>
@@ -57,17 +63,19 @@ BOOST_AUTO_TEST_CASE (digest_test)
        shared_ptr<Film> film = new_test_film ("digest_test");
        film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST"));
        film->set_name ("digest_test");
-       shared_ptr<ImageContent> r (new ImageContent (film, "test/data/flat_red.png"));
-       shared_ptr<ImageContent> g (new ImageContent (film, "test/data/flat_green.png"));
-       shared_ptr<ImageContent> b (new ImageContent (film, "test/data/flat_blue.png"));
+       shared_ptr<ImageContent> r (new ImageContent("test/data/flat_red.png"));
+       shared_ptr<ImageContent> g (new ImageContent("test/data/flat_green.png"));
+       shared_ptr<ImageContent> b (new ImageContent("test/data/flat_blue.png"));
        film->examine_and_add_content (r);
        film->examine_and_add_content (g);
        film->examine_and_add_content (b);
        film->set_reel_type (REELTYPE_BY_VIDEO_CONTENT);
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
 
+       Config::instance()->set_master_encoding_threads (4);
        film->make_dcp ();
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
+       Config::instance()->set_master_encoding_threads (1);
 
        dcp::DCP dcp (film->dir (film->dcp_name ()));
        dcp.read ();
@@ -76,13 +84,19 @@ BOOST_AUTO_TEST_CASE (digest_test)
 
        list<shared_ptr<dcp::Reel> >::const_iterator i = reels.begin ();
        BOOST_REQUIRE (i != reels.end ());
-       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file ()));
+       BOOST_REQUIRE ((*i)->main_picture()->hash());
+       BOOST_REQUIRE ((*i)->main_picture()->asset()->file());
+       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file().get()));
        ++i;
        BOOST_REQUIRE (i != reels.end ());
-       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file ()));
+       BOOST_REQUIRE ((*i)->main_picture()->hash());
+       BOOST_REQUIRE ((*i)->main_picture()->asset()->file());
+       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file().get()));
        ++i;
        BOOST_REQUIRE (i != reels.end ());
-       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file ()));
+       BOOST_REQUIRE ((*i)->main_picture()->hash());
+       BOOST_REQUIRE ((*i)->main_picture()->asset()->file());
+       BOOST_CHECK_EQUAL ((*i)->main_picture()->hash().get(), openssl_hash ((*i)->main_picture()->asset()->file().get()));
        ++i;
        BOOST_REQUIRE (i == reels.end ());
 }