]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Randomize tests so travis-ci tests can check for existing failures 325/head
authorNick Terrell <terrelln@fb.com>
Thu, 1 Sep 2016 23:39:45 +0000 (16:39 -0700)
committerNick Terrell <terrelln@fb.com>
Thu, 1 Sep 2016 23:39:45 +0000 (16:39 -0700)
contrib/pzstd/test/PzstdTest.cpp

index a6eb7459652c46bb4d6b3ec1110ca4544b1be67b..9d1256fa5800398e0d8775ee1772bee80213a442 100644 (file)
 #include <cstddef>
 #include <cstdio>
 #include <memory>
+#include <random>
 
 using namespace std;
 using namespace pzstd;
 
 TEST(Pzstd, SmallSizes) {
+  unsigned seed = std::random_device{}();
+  std::fprintf(stderr, "Pzstd.SmallSizes seed: %u\n", seed);
+  std::mt19937 gen(seed);
+
   for (unsigned len = 1; len < 1028; ++len) {
     std::string inputFile = std::tmpnam(nullptr);
     auto guard = makeScopeGuard([&] { std::remove(inputFile.c_str()); });
     {
       static uint8_t buf[1028];
-      RDG_genBuffer(buf, len, 0.5, 0.0, 42);
+      RDG_genBuffer(buf, len, 0.5, 0.0, gen());
       auto fd = std::fopen(inputFile.c_str(), "wb");
       auto written = std::fwrite(buf, 1, len, fd);
       std::fclose(fd);
@@ -56,12 +61,16 @@ TEST(Pzstd, SmallSizes) {
 }
 
 TEST(Pzstd, LargeSizes) {
+  unsigned seed = std::random_device{}();
+  std::fprintf(stderr, "Pzstd.LargeSizes seed: %u\n", seed);
+  std::mt19937 gen(seed);
+
   for (unsigned len = 1 << 20; len <= (1 << 24); len *= 2) {
     std::string inputFile = std::tmpnam(nullptr);
     auto guard = makeScopeGuard([&] { std::remove(inputFile.c_str()); });
     {
       std::unique_ptr<uint8_t[]> buf(new uint8_t[len]);
-      RDG_genBuffer(buf.get(), len, 0.5, 0.0, 42);
+      RDG_genBuffer(buf.get(), len, 0.5, 0.0, gen());
       auto fd = std::fopen(inputFile.c_str(), "wb");
       auto written = std::fwrite(buf.get(), 1, len, fd);
       std::fclose(fd);