diff --git a/table/table_test.cc b/table/table_test.cc index 855bbd82a..a3db1c5d9 100644 --- a/table/table_test.cc +++ b/table/table_test.cc @@ -963,6 +963,31 @@ class HarnessTest : public testing::Test { // Returns nullptr if not running against a DB DB* db() const { return constructor_->db(); } + void RandomizedHarnessTest(size_t part, size_t total) { + std::vector args = GenerateArgList(); + assert(part); + assert(part <= total); + size_t start_i = (part - 1) * args.size() / total; + size_t end_i = part * args.size() / total; + for (unsigned int i = start_i; i < end_i; i++) { + Init(args[i]); + Random rnd(test::RandomSeed() + 5); + for (int num_entries = 0; num_entries < 2000; + num_entries += (num_entries < 50 ? 1 : 200)) { + if ((num_entries % 10) == 0) { + fprintf(stderr, "case %d of %d: num_entries = %d\n", (i + 1), + static_cast(args.size()), num_entries); + } + for (int e = 0; e < num_entries; e++) { + std::string v; + Add(test::RandomKey(&rnd, rnd.Skewed(4)), + test::RandomString(&rnd, rnd.Skewed(5), &v).ToString()); + } + Test(&rnd); + } + } + } + private: Options options_ = Options(); ImmutableCFOptions ioptions_; @@ -2578,25 +2603,18 @@ TEST_F(GeneralTableTest, ApproximateOffsetOfCompressed) { } } -TEST_F(HarnessTest, Randomized) { - std::vector args = GenerateArgList(); - for (unsigned int i = 0; i < args.size(); i++) { - Init(args[i]); - Random rnd(test::RandomSeed() + 5); - for (int num_entries = 0; num_entries < 2000; - num_entries += (num_entries < 50 ? 1 : 200)) { - if ((num_entries % 10) == 0) { - fprintf(stderr, "case %d of %d: num_entries = %d\n", (i + 1), - static_cast(args.size()), num_entries); - } - for (int e = 0; e < num_entries; e++) { - std::string v; - Add(test::RandomKey(&rnd, rnd.Skewed(4)), - test::RandomString(&rnd, rnd.Skewed(5), &v).ToString()); - } - Test(&rnd); - } - } +TEST_F(HarnessTest, Randomized0) { + // part 1 out of 2 + const size_t part = 1; + const size_t total = 2; + RandomizedHarnessTest(part, total); +} + +TEST_F(HarnessTest, Randomized1) { + // part 2 out of 2 + const size_t part = 2; + const size_t total = 2; + RandomizedHarnessTest(part, total); } #ifndef ROCKSDB_LITE