*/
+/** @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"
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_num_local_encoding_threads (4);
+ Config::instance()->set_master_encoding_threads (4);
film->make_dcp ();
- wait_for_jobs ();
- Config::instance()->set_num_local_encoding_threads (1);
+ BOOST_REQUIRE (!wait_for_jobs());
+ Config::instance()->set_master_encoding_threads (1);
dcp::DCP dcp (film->dir (film->dcp_name ()));
dcp.read ();
list<shared_ptr<dcp::Reel> >::const_iterator i = reels.begin ();
BOOST_REQUIRE (i != reels.end ());
+ 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_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_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 ());