Fill test disk partitions with random noise to expose more bugs.
[dcpomatic.git] / test / digest_test.cc
index ba73461bf1b8d4719f5b8d28ea969767dfe18123..59a8cb7a772f8b7d92dbf0c98aa964df2e812f1e 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 /** @file  test/digest_test.cc
  *  @brief Check computed DCP digests against references calculated by the `openssl` binary.
  *  @ingroup feature
  */
 
+
 #include "lib/film.h"
 #include "lib/image_content.h"
 #include "lib/dcp_content_type.h"
 #include <dcp/reel_picture_asset.h>
 #include <boost/test/unit_test.hpp>
 
+
 using std::list;
 using std::string;
 using std::shared_ptr;
+using std::make_shared;
+
 
 static string
 openssl_hash (boost::filesystem::path file)
 {
-       FILE* pipe = popen (String::compose ("openssl sha1 -binary %1 | openssl base64 -e", file.string()).c_str (), "r");
+       auto pipe = popen (String::compose ("openssl sha1 -binary %1 | openssl base64 -e", file.string()).c_str (), "r");
        BOOST_REQUIRE (pipe);
        char buffer[128];
        string output;
@@ -57,24 +62,24 @@ openssl_hash (boost::filesystem::path file)
        return output;
 }
 
+
 /** Test the digests made by the DCP writing code on a multi-reel DCP */
 BOOST_AUTO_TEST_CASE (digest_test)
 {
-       shared_ptr<Film> film = new_test_film ("digest_test");
+       auto 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("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"));
+       auto r = make_shared<ImageContent>("test/data/flat_red.png");
+       auto g = make_shared<ImageContent>("test/data/flat_green.png");
+       auto b = make_shared<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);
+       film->set_reel_type (ReelType::BY_VIDEO_CONTENT);
        BOOST_REQUIRE (!wait_for_jobs());
 
        BOOST_CHECK (Config::instance()->master_encoding_threads() > 1);
-       film->make_dcp ();
-       BOOST_REQUIRE (!wait_for_jobs());
+       make_and_verify_dcp (film);
 
        dcp::DCP dcp (film->dir (film->dcp_name ()));
        dcp.read ();