X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Ftest.cc;h=241032099b8922ebf7935c971978dcba6ac898f0;hb=2e504b33eb9f38cac629ad31b7c107fb0cf5efda;hp=22dea1fc4ea537b705d36084731305b808c63df3;hpb=1853a4a89d47e068c31d993dd4ecb8d83cedc884;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index 22dea1fc4..241032099 100644 --- a/test/test.cc +++ b/test/test.cc @@ -19,8 +19,9 @@ #include #include +#include #include -#include +#include #include "lib/config.h" #include "lib/util.h" #include "lib/ui_signaller.h" @@ -29,6 +30,7 @@ #include "lib/job.h" #include "lib/cross.h" #include "lib/server_finder.h" +#include "lib/image.h" #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE dcpomatic_test #include @@ -53,15 +55,16 @@ public: struct TestConfig { - TestConfig() + TestConfig () { - dcpomatic_setup(); + dcpomatic_setup (); Config::instance()->set_num_local_encoding_threads (1); Config::instance()->set_server_port_base (61920); Config::instance()->set_default_dci_metadata (DCIMetadata ()); Config::instance()->set_default_container (static_cast (0)); Config::instance()->set_default_dcp_content_type (static_cast (0)); + Config::instance()->set_default_audio_delay (0); ServerFinder::instance()->disable (); @@ -94,14 +97,14 @@ new_test_film (string name) return f; } -static void -check_file (string ref, string check) +void +check_file (boost::filesystem::path ref, boost::filesystem::path check) { uintmax_t N = boost::filesystem::file_size (ref); - BOOST_CHECK_EQUAL (N, boost::filesystem::file_size(check)); + BOOST_CHECK_EQUAL (N, boost::filesystem::file_size (check)); FILE* ref_file = fopen (ref.c_str(), "rb"); BOOST_CHECK (ref_file); - FILE* check_file = fopen (check.c_str(), "rb"); + FILE* check_file = fopen_boost (check, "rb"); BOOST_CHECK (check_file); int const buffer_size = 65536; @@ -127,26 +130,26 @@ check_file (string ref, string check) } static void -note (libdcp::NoteType t, string n) +note (dcp::NoteType t, string n) { - if (t == libdcp::ERROR) { + if (t == dcp::ERROR) { cerr << n << "\n"; } } void -check_dcp (string ref, string check) +check_dcp (boost::filesystem::path ref, boost::filesystem::path check) { - libdcp::DCP ref_dcp (ref); + dcp::DCP ref_dcp (ref); ref_dcp.read (); - libdcp::DCP check_dcp (check); + dcp::DCP check_dcp (check); check_dcp.read (); - libdcp::EqualityOptions options; + dcp::EqualityOptions options; options.max_mean_pixel_error = 5; options.max_std_dev_pixel_error = 5; options.max_audio_sample_error = 255; - options.cpl_names_can_differ = true; + options.cpl_annotation_texts_can_differ = true; options.mxf_names_can_differ = true; BOOST_CHECK (ref_dcp.equals (check_dcp, options, boost::bind (note, _1, _2))); @@ -230,3 +233,12 @@ wait_for_jobs () ui_signaller->ui_idle (); } + +void +write_image (shared_ptr image, boost::filesystem::path file) +{ + using namespace MagickCore; + + Magick::Image m (image->size().width, image->size().height, "ARGB", CharPixel, (void *) image->data()[0]); + m.write (file.string ()); +}