#include "array_data.h"
#include "util.h"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
+#include <boost/random.hpp>
#include <boost/test/unit_test.hpp>
#include <sys/time.h>
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
+
+
void progress (float)
{
BOOST_AUTO_TEST_CASE (make_digest_test)
{
/* Make a big file with some random data */
- srand (1);
+
+ boost::random::mt19937 rng(1);
+ boost::random::uniform_int_distribution<> dist(0, 255);
+
int const N = 256 * 1024 * 1024;
dcp::ArrayData data (N);
auto p = data.data();
for (int i = 0; i < N; ++i) {
- *p++ = rand() & 0xff;
+ *p++ = dist(rng);
}
data.write ("build/test/random");
/* Hash it */
- BOOST_CHECK_EQUAL (dcp::make_digest("build/test/random", boost::bind(&progress, _1)), "GKbk/V3fcRtP5MaPdSmAGNbKkaU=");
+ BOOST_CHECK_EQUAL (dcp::make_digest("build/test/random", boost::bind(&progress, _1)), "HayqPBWBRKqLNgfuo4XSajc+D5s=");
}