Divide test DBIteratorTest.DBIterator to smaller tests

Summary:
When building on my host, I saw warning:

In file included from db/db_iter_test.cc:17:0:
db/db_iter_test.cc: In member function ‘void rocksdb::_Test_DBIterator::_Run()’:
./util/testharness.h:147:14: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
 void TCONCAT(_Test_,name)::_Run()
              ^
./util/testharness.h:134:23: note: in definition of macro ‘TCONCAT1’
 #define TCONCAT1(a,b) a##b
                       ^
./util/testharness.h:147:6: note: in expansion of macro ‘TCONCAT’
 void TCONCAT(_Test_,name)::_Run()
      ^
db/db_iter_test.cc:589:1: note: in expansion of macro ‘TEST’
 TEST(DBIteratorTest, DBIterator) {
 ^

By dividing the test into small tests, it should fix the problem

Test Plan: Run the test

Reviewers: rven, yhchiang, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D32679
This commit is contained in:
sdong 2015-02-03 09:47:29 -08:00
parent 829363b449
commit 9898f63988

View File

@ -586,10 +586,10 @@ TEST(DBIteratorTest, DBIteratorUseSkip) {
} }
} }
TEST(DBIteratorTest, DBIterator) { TEST(DBIteratorTest, DBIterator1) {
Options options; Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend"); options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddPut("a", "0"); internal_iter->AddPut("a", "0");
internal_iter->AddPut("b", "0"); internal_iter->AddPut("b", "0");
@ -598,9 +598,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("b", "2"); internal_iter->AddMerge("b", "2");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter, 1,
BytewiseComparator(), internal_iter, 1,
options.max_sequential_skip_in_iterations)); options.max_sequential_skip_in_iterations));
db_iter->SeekToFirst(); db_iter->SeekToFirst();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -609,9 +608,12 @@ TEST(DBIteratorTest, DBIterator) {
db_iter->Next(); db_iter->Next();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "b"); ASSERT_EQ(db_iter->key().ToString(), "b");
} }
TEST(DBIteratorTest, DBIterator2) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddPut("a", "0"); internal_iter->AddPut("a", "0");
internal_iter->AddPut("b", "0"); internal_iter->AddPut("b", "0");
@ -620,9 +622,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("b", "2"); internal_iter->AddMerge("b", "2");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter, 0,
BytewiseComparator(), internal_iter, 0,
options.max_sequential_skip_in_iterations)); options.max_sequential_skip_in_iterations));
db_iter->SeekToFirst(); db_iter->SeekToFirst();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -630,9 +631,12 @@ TEST(DBIteratorTest, DBIterator) {
ASSERT_EQ(db_iter->value().ToString(), "0"); ASSERT_EQ(db_iter->value().ToString(), "0");
db_iter->Next(); db_iter->Next();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
TEST(DBIteratorTest, DBIterator3) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddPut("a", "0"); internal_iter->AddPut("a", "0");
internal_iter->AddPut("b", "0"); internal_iter->AddPut("b", "0");
@ -641,9 +645,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("b", "2"); internal_iter->AddMerge("b", "2");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter, 2,
BytewiseComparator(), internal_iter, 2,
options.max_sequential_skip_in_iterations)); options.max_sequential_skip_in_iterations));
db_iter->SeekToFirst(); db_iter->SeekToFirst();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -651,9 +654,11 @@ TEST(DBIteratorTest, DBIterator) {
ASSERT_EQ(db_iter->value().ToString(), "0"); ASSERT_EQ(db_iter->value().ToString(), "0");
db_iter->Next(); db_iter->Next();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
TEST(DBIteratorTest, DBIterator4) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddPut("a", "0"); internal_iter->AddPut("a", "0");
internal_iter->AddPut("b", "0"); internal_iter->AddPut("b", "0");
@ -662,9 +667,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("b", "2"); internal_iter->AddMerge("b", "2");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter, 4,
BytewiseComparator(), internal_iter, 4,
options.max_sequential_skip_in_iterations)); options.max_sequential_skip_in_iterations));
db_iter->SeekToFirst(); db_iter->SeekToFirst();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -676,9 +680,11 @@ TEST(DBIteratorTest, DBIterator) {
ASSERT_EQ(db_iter->value().ToString(), "2"); ASSERT_EQ(db_iter->value().ToString(), "2");
db_iter->Next(); db_iter->Next();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
{ TEST(DBIteratorTest, DBIterator5) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{ {
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddMerge("a", "merge_1"); internal_iter->AddMerge("a", "merge_1");
@ -690,10 +696,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 0, 0, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -713,10 +718,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 1, 1, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -736,10 +740,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 2, 2, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -759,10 +762,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 3, 3, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -782,10 +784,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 4, 4, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -805,10 +806,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 5, 5, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -828,10 +828,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 6, 6, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -839,9 +838,11 @@ TEST(DBIteratorTest, DBIterator) {
db_iter->Prev(); db_iter->Prev();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
} }
{ TEST(DBIteratorTest, DBIterator6) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{ {
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddMerge("a", "merge_1"); internal_iter->AddMerge("a", "merge_1");
@ -853,10 +854,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 0, 0, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -876,10 +876,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 1, 1, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -899,10 +898,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 2, 2, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -922,10 +920,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 3, 3, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
@ -941,10 +938,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 4, 4, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -964,10 +960,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 5, 5, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -987,10 +982,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddMerge("a", "merge_6"); internal_iter->AddMerge("a", "merge_6");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 6, 6, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -998,9 +992,11 @@ TEST(DBIteratorTest, DBIterator) {
db_iter->Prev(); db_iter->Prev();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
} }
{ TEST(DBIteratorTest, DBIterator7) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{ {
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddMerge("a", "merge_1"); internal_iter->AddMerge("a", "merge_1");
@ -1024,10 +1020,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 0, 0, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
@ -1059,10 +1054,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 2, 2, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1100,10 +1094,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 4, 4, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1141,10 +1134,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 5, 5, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1187,10 +1179,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 6, 6, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1234,10 +1225,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 7, 7, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1275,10 +1265,9 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->AddDeletion("c"); internal_iter->AddDeletion("c");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 9, 9, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1323,9 +1312,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter(NewDBIterator( std::unique_ptr<Iterator> db_iter(NewDBIterator(
env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 13, 13, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1371,9 +1359,8 @@ TEST(DBIteratorTest, DBIterator) {
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter(NewDBIterator( std::unique_ptr<Iterator> db_iter(NewDBIterator(
env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 14, 14, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
@ -1388,19 +1375,20 @@ TEST(DBIteratorTest, DBIterator) {
db_iter->Prev(); db_iter->Prev();
ASSERT_TRUE(!db_iter->Valid()); ASSERT_TRUE(!db_iter->Valid());
} }
} }
TEST(DBIteratorTest, DBIterator8) {
Options options;
options.merge_operator = MergeOperators::CreateFromStringId("stringappend");
{
TestIterator* internal_iter = new TestIterator(BytewiseComparator()); TestIterator* internal_iter = new TestIterator(BytewiseComparator());
internal_iter->AddDeletion("a"); internal_iter->AddDeletion("a");
internal_iter->AddPut("a", "0"); internal_iter->AddPut("a", "0");
internal_iter->AddPut("b", "0"); internal_iter->AddPut("b", "0");
internal_iter->Finish(); internal_iter->Finish();
std::unique_ptr<Iterator> db_iter( std::unique_ptr<Iterator> db_iter(NewDBIterator(
NewDBIterator(env_, ImmutableCFOptions(options), env_, ImmutableCFOptions(options), BytewiseComparator(), internal_iter,
BytewiseComparator(), internal_iter, 10, 10, options.max_sequential_skip_in_iterations));
options.max_sequential_skip_in_iterations));
db_iter->SeekToLast(); db_iter->SeekToLast();
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "b"); ASSERT_EQ(db_iter->key().ToString(), "b");
@ -1410,7 +1398,6 @@ TEST(DBIteratorTest, DBIterator) {
ASSERT_TRUE(db_iter->Valid()); ASSERT_TRUE(db_iter->Valid());
ASSERT_EQ(db_iter->key().ToString(), "a"); ASSERT_EQ(db_iter->key().ToString(), "a");
ASSERT_EQ(db_iter->value().ToString(), "0"); ASSERT_EQ(db_iter->value().ToString(), "0");
}
} }
} // namespace rocksdb } // namespace rocksdb