X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftests.cc;h=49c6689ff8efb6d80672df9ada597454337d9b67;hb=25074e781d2c55c606db3f202457447af30ae774;hp=b8d9ef976d40a6597965119492e796c562318246;hpb=4c987f7feb504fe4011b52ffeb231e3b25823de1;p=libdcp.git diff --git a/test/tests.cc b/test/tests.cc index b8d9ef97..49c6689f 100644 --- a/test/tests.cc +++ b/test/tests.cc @@ -17,7 +17,9 @@ */ +#include #include +#include #include "KM_prng.h" #include "dcp.h" #include "util.h" @@ -25,105 +27,65 @@ #include "types.h" #include "exceptions.h" #include "subtitle_asset.h" +#include "picture_asset.h" +#include "sound_asset.h" +#include "reel.h" +#include "certificates.h" +#include "crypt_chain.h" +#include "gamma_lut.h" +#include "cpl.h" +#include "encryption.h" #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE libdcp_test #include -using namespace std; -using namespace boost; +using std::string; +using std::cout; +using std::vector; +using std::list; +using boost::shared_ptr; -string +struct TestConfig +{ + TestConfig() + { + libdcp::init (); + } +}; + +BOOST_GLOBAL_FIXTURE (TestConfig); + +static string j2c (int) { return "test/data/32x32_red_square.j2c"; } -string +static string wav (libdcp::Channel) { return "test/data/1s_24-bit_48k_silence.wav"; } - - -BOOST_AUTO_TEST_CASE (dcp_test) -{ - Kumu::libdcp_test = true; - - libdcp::Metadata* t = libdcp::Metadata::instance (); - t->issuer = "OpenDCP 0.0.25"; - t->creator = "OpenDCP 0.0.25"; - t->company_name = "OpenDCP"; - t->product_name = "OpenDCP"; - t->product_version = "0.0.25"; - t->issue_date = "2012-07-17T04:45:18+00:00"; - filesystem::remove_all ("build/test/foo"); - filesystem::create_directories ("build/test/foo"); - libdcp::DCP d ("build/test/foo", "A Test DCP", libdcp::FEATURE, 24, 24); - - d.add_picture_asset (sigc::ptr_fun (&j2c), 32, 32); - d.add_sound_asset (sigc::ptr_fun (&wav), 2); - - d.write_xml (); -} - -BOOST_AUTO_TEST_CASE (error_test) -{ - libdcp::DCP d ("build/test/bar", "A Test DCP", libdcp::TEST, 24, 24); - vector p; - p.push_back ("frobozz"); - BOOST_CHECK_THROW (d.add_picture_asset (p, 32, 32), libdcp::FileError); - BOOST_CHECK_THROW (d.add_sound_asset (p), libdcp::FileError); -} - -BOOST_AUTO_TEST_CASE (read_dcp) -{ - libdcp::DCP d ("test/ref/DCP"); - - BOOST_CHECK_EQUAL (d.name(), "A Test DCP"); - BOOST_CHECK_EQUAL (d.content_kind(), libdcp::FEATURE); - BOOST_CHECK_EQUAL (d.frames_per_second(), 24); - BOOST_CHECK_EQUAL (d.length(), 24); -} - -BOOST_AUTO_TEST_CASE (subtitles) -{ - libdcp::SubtitleAsset subs ("test/ref", "subs.xml"); - - BOOST_CHECK_EQUAL (subs.language(), "French"); - BOOST_CHECK_EQUAL (subs.fonts().size(), 1); - BOOST_CHECK_EQUAL (subs.fonts().front()->subtitles().size(), 4); - - list >::const_iterator i = subs.fonts().front()->subtitles().begin (); - - BOOST_CHECK_EQUAL ((*i)->in(), libdcp::Time (0, 0, 5, 198)); - BOOST_CHECK_EQUAL ((*i)->out(), libdcp::Time (0, 0, 7, 115)); - BOOST_CHECK_EQUAL ((*i)->texts().size(), 1); - BOOST_CHECK_EQUAL ((*i)->texts().front()->v_position(), 15); - BOOST_CHECK_EQUAL ((*i)->texts().front()->text(), "My jacket was Idi Amin's"); - ++i; - - BOOST_CHECK_EQUAL ((*i)->in(), libdcp::Time (0, 0, 7, 177)); - BOOST_CHECK_EQUAL ((*i)->out(), libdcp::Time (0, 0, 11, 31)); - BOOST_CHECK_EQUAL ((*i)->texts().size(), 2); - BOOST_CHECK_EQUAL ((*i)->texts().front()->v_position(), 21); - BOOST_CHECK_EQUAL ((*i)->texts().front()->text(), "My corset was H.M. The Queen's"); - BOOST_CHECK_EQUAL ((*i)->texts().back()->v_position(), 15); - BOOST_CHECK_EQUAL ((*i)->texts().back()->text(), "My large wonderbra"); - ++i; - - BOOST_CHECK_EQUAL ((*i)->in(), libdcp::Time (0, 0, 11, 94)); - BOOST_CHECK_EQUAL ((*i)->out(), libdcp::Time (0, 0, 13, 63)); - BOOST_CHECK_EQUAL ((*i)->texts().size(), 1); - BOOST_CHECK_EQUAL ((*i)->texts().front()->v_position(), 15); - BOOST_CHECK_EQUAL ((*i)->texts().front()->text(), "Once belonged to the Shah"); - ++i; - - BOOST_CHECK_EQUAL ((*i)->in(), libdcp::Time (0, 0, 13, 104)); - BOOST_CHECK_EQUAL ((*i)->out(), libdcp::Time (0, 0, 15, 177)); - BOOST_CHECK_EQUAL ((*i)->texts().size(), 1); - BOOST_CHECK_EQUAL ((*i)->texts().front()->v_position(), 15); - BOOST_CHECK_EQUAL ((*i)->texts().front()->text(), "And these are Roy Hattersley's jeans"); -} - +static string test_corpus = "../libdcp-test"; + +#include "kdm_test.cc" +#include "decryption_test.cc" +#include "dcp_test.cc" +#include "error_test.cc" +#include "read_dcp_test.cc" +#include "subtitle_tests.cc" +#include "dcp_time_test.cc" +#include "color_test.cc" +#include "recovery_test.cc" + +//BOOST_AUTO_TEST_CASE (crypt_chain) +//{ +// boost::filesystem::remove_all ("build/test/crypt"); +// boost::filesystem::create_directory ("build/test/crypt"); +// libdcp::make_crypt_chain ("build/test/crypt"); +//} + +//#include "encryption_test.cc" +//#include "certificates_test.cc"