Merge branch 'v2.15.x' of ssh://localhost:2222/home/carl/git/dcpomatic into v2.15.x
[dcpomatic.git] / test / test.cc
index 318ac479952c8cc3c0c391f2c1516fbb8307b605..c5bc417f3865df4d084b29dd01bb9ced1251149b 100644 (file)
@@ -495,3 +495,26 @@ subtitle_file (shared_ptr<Film> film)
        /* Remove warning */
        return boost::filesystem::path("/");
 }
+
+void
+make_random_file (boost::filesystem::path path, size_t size)
+{
+       size_t const chunk = 128 * 1024;
+       uint8_t* buffer = static_cast<uint8_t*> (malloc(chunk));
+       BOOST_REQUIRE (buffer);
+       FILE* r = fopen("/dev/urandom", "rb");
+       BOOST_REQUIRE (r);
+       FILE* t = fopen_boost(path, "wb");
+       BOOST_REQUIRE (t);
+       while (size) {
+               size_t this_time = min (size, chunk);
+               size_t N = fread (buffer, 1, this_time, r);
+               BOOST_REQUIRE (N == this_time);
+               N = fwrite (buffer, 1, this_time, t);
+               BOOST_REQUIRE (N == this_time);
+               size -= this_time;
+       }
+       fclose (t);
+       fclose (r);
+       free (buffer);
+}