X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.cc;h=241032099b8922ebf7935c971978dcba6ac898f0;hb=2e504b33eb9f38cac629ad31b7c107fb0cf5efda;hp=473626fac8a313a80d6235b19a54bbdc9bdab876;hpb=f8678dcae5f90eb946ad6e51d9a62e0c02bc63e3;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index 473626fac..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" @@ -28,6 +29,8 @@ #include "lib/job_manager.h" #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 @@ -52,16 +55,18 @@ public: struct TestConfig { - TestConfig() + TestConfig () { - dcpomatic_setup(); + dcpomatic_setup (); Config::instance()->set_num_local_encoding_threads (1); - Config::instance()->set_servers (vector ()); 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 (); ui_signaller = new TestUISignaller (); } @@ -92,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; @@ -125,24 +130,26 @@ check_file (string ref, string check) } static void -note (libdcp::NoteType, string n) +note (dcp::NoteType t, string n) { - cout << n << "\n"; + 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))); @@ -226,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 ()); +}