Split HarnessTest_Randomized to avoid timeout

Summary:
Split HarnessTest_Randomized to two tests
Closes https://github.com/facebook/rocksdb/pull/3424

Differential Revision: D6826006

Pulled By: maysamyabandeh

fbshipit-source-id: 59c9a11c7da092206effce6e4fa3792f9c66bef2
This commit is contained in:
Maysam Yabandeh 2018-01-29 07:36:05 -08:00 committed by Facebook Github Bot
parent 439855a774
commit 46acdc9883
1 changed files with 37 additions and 19 deletions

View File

@ -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<TestArgs> 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<int>(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<TestArgs> 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<int>(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