X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Ftest.cc;h=fd9c6941be30e4aac818a3debf3f2b6706df865b;hp=9260d568facce6a738b78f22bb182e18f4c5cd11;hb=6d686ea45f5cd01a0d11f92a903ac77779ad8562;hpb=8a8c977c12fc65f1f50ea05099387e0fc8840e7d diff --git a/test/test.cc b/test/test.cc index 9260d568f..fd9c6941b 100644 --- a/test/test.cc +++ b/test/test.cc @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -59,8 +60,11 @@ extern "C" { } #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE dcpomatic_test -#include #include +LIBDCP_DISABLE_WARNINGS +#include +LIBDCP_ENABLE_WARNINGS +#include #include #include #include @@ -791,12 +795,12 @@ check_one_frame (boost::filesystem::path dcp_dir, int64_t index, boost::filesyst boost::filesystem::path dcp_file (shared_ptr film, string prefix) { - auto i = boost::filesystem::directory_iterator (film->dir(film->dcp_name())); - while (i != boost::filesystem::directory_iterator() && !boost::algorithm::starts_with (i->path().leaf().string(), prefix)) { + auto i = boost::filesystem::recursive_directory_iterator(film->dir(film->dcp_name())); + while (i != boost::filesystem::recursive_directory_iterator() && !boost::algorithm::starts_with(i->path().leaf().string(), prefix)) { ++i; } - BOOST_REQUIRE (i != boost::filesystem::directory_iterator()); + BOOST_REQUIRE_MESSAGE(i != boost::filesystem::recursive_directory_iterator(), "Could not find file with prefix " << prefix); return i->path(); } @@ -818,14 +822,21 @@ subtitle_file (shared_ptr film) return boost::filesystem::path("/"); } + void make_random_file (boost::filesystem::path path, size_t size) { - dcp::File t(path, "wb"); - BOOST_REQUIRE (t); - for (size_t i = 0; i < size; ++i) { - uint8_t r = rand() & 0xff; - t.write(&r, 1, 1); + dcp::File random_file(path, "wb"); + BOOST_REQUIRE (random_file); + + boost::random::mt19937 rng(1); + boost::random::uniform_int_distribution dist(0); + + while (size > 0) { + auto this_time = std::min(size, size_t(8)); + uint64_t random = dist(rng); + random_file.write(&random, this_time, 1); + size -= this_time; } }