+void
+check_text_file (boost::filesystem::path ref, boost::filesystem::path check)
+{
+ dcp::File ref_file(ref, "r");
+ BOOST_CHECK (ref_file);
+ dcp::File check_file(check, "r");
+ BOOST_CHECK (check_file);
+
+ int const buffer_size = std::max(
+ boost::filesystem::file_size(ref),
+ boost::filesystem::file_size(check)
+ );
+
+ DCPOMATIC_ASSERT (buffer_size < 1024 * 1024);
+
+ std::vector<uint8_t> ref_buffer(buffer_size);
+ auto ref_read = ref_file.read(ref_buffer.data(), 1, buffer_size);
+ std::vector<uint8_t> check_buffer(buffer_size);
+ auto check_read = check_file.read(check_buffer.data(), 1, buffer_size);
+ BOOST_CHECK_EQUAL (ref_read, check_read);
+
+ string const error = "File " + check.string() + " differs from reference " + ref.string();
+ BOOST_CHECK_MESSAGE(memcmp(ref_buffer.data(), check_buffer.data(), ref_read) == 0, error);