X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.cc;h=b40d5eed6e9eaa96abb86655a6db677085ebf110;hb=6be09bd518eb246adc84ebbed3c8c4c03f719735;hp=15bb2cc55e5a12f84198508846ea2636e8a2f732;hpb=6fb258f79548b588031c4cc6d0ca1774ca35b752;p=dcpomatic.git diff --git a/test/test.cc b/test/test.cc index 15bb2cc55..b40d5eed6 100644 --- a/test/test.cc +++ b/test/test.cc @@ -363,10 +363,10 @@ static double rms_error (boost::filesystem::path ref, boost::filesystem::path check) { - FFmpegImageProxy ref_proxy (ref, VideoRange::FULL); - auto ref_image = ref_proxy.image().image; - FFmpegImageProxy check_proxy (check, VideoRange::FULL); - auto check_image = check_proxy.image().image; + FFmpegImageProxy ref_proxy (ref); + auto ref_image = ref_proxy.image(Image::Alignment::COMPACT).image; + FFmpegImageProxy check_proxy (check); + auto check_image = check_proxy.image(Image::Alignment::COMPACT).image; BOOST_REQUIRE_EQUAL (ref_image->pixel_format(), check_image->pixel_format()); AVPixelFormat const format = ref_image->pixel_format(); @@ -452,29 +452,26 @@ check_file (boost::filesystem::path ref, boost::filesystem::path check) BOOST_CHECK (check_file); int const buffer_size = 65536; - uint8_t* ref_buffer = new uint8_t[buffer_size]; - uint8_t* check_buffer = new uint8_t[buffer_size]; + std::vector ref_buffer(buffer_size); + std::vector check_buffer(buffer_size); string error = "File " + check.string() + " differs from reference " + ref.string(); while (N) { uintmax_t this_time = min (uintmax_t (buffer_size), N); - size_t r = fread (ref_buffer, 1, this_time, ref_file); + size_t r = fread (ref_buffer.data(), 1, this_time, ref_file); BOOST_CHECK_EQUAL (r, this_time); - r = fread (check_buffer, 1, this_time, check_file); + r = fread (check_buffer.data(), 1, this_time, check_file); BOOST_CHECK_EQUAL (r, this_time); - BOOST_CHECK_MESSAGE (memcmp (ref_buffer, check_buffer, this_time) == 0, error); - if (memcmp (ref_buffer, check_buffer, this_time)) { + BOOST_CHECK_MESSAGE (memcmp(ref_buffer.data(), check_buffer.data(), this_time) == 0, error); + if (memcmp(ref_buffer.data(), check_buffer.data(), this_time)) { break; } N -= this_time; } - delete[] ref_buffer; - delete[] check_buffer; - fclose (ref_file); fclose (check_file); } @@ -495,17 +492,14 @@ check_text_file (boost::filesystem::path ref, boost::filesystem::path check) DCPOMATIC_ASSERT (buffer_size < 1024 * 1024); - auto ref_buffer = new uint8_t[buffer_size]; - auto ref_read = fread(ref_buffer, 1, buffer_size, ref_file); - auto check_buffer = new uint8_t[buffer_size]; - auto check_read = fread(check_buffer, 1, buffer_size, check_file); + std::vector ref_buffer(buffer_size); + auto ref_read = fread(ref_buffer.data(), 1, buffer_size, ref_file); + std::vector check_buffer(buffer_size); + auto check_read = fread(check_buffer.data(), 1, buffer_size, check_file); BOOST_CHECK_EQUAL (ref_read, check_read); string const error = "File " + check.string() + " differs from reference " + ref.string(); - BOOST_CHECK_MESSAGE(memcmp(ref_buffer, check_buffer, ref_read) == 0, error); - - delete[] ref_buffer; - delete[] check_buffer; + BOOST_CHECK_MESSAGE(memcmp(ref_buffer.data(), check_buffer.data(), ref_read) == 0, error); fclose (ref_file); fclose (check_file); @@ -910,7 +904,7 @@ make_and_verify_dcp (shared_ptr film, vector void check_int_close (int a, int b, int d) { - BOOST_CHECK (std::abs(a - b) < d); + BOOST_CHECK_MESSAGE (std::abs(a - b) < d, a << " differs from " << b << " by more than " << d); }