diff options
author | sanjay <sanjay@google.com> | 2016-05-27 10:37:28 -0700 |
---|---|---|
committer | Chris Mumford <cmumford@chromium.org> | 2016-07-06 09:16:11 -0700 |
commit | fa6dc010a20b6eb175d92d05651972651278e06f (patch) | |
tree | c3e4b25c3591fa504b59055a72033b03efddb7c4 /table/table_test.cc | |
parent | 06a191b8dec693c74c4d3e8347a89dc8596b42fd (diff) | |
download | leveldb-fa6dc010a20b6eb175d92d05651972651278e06f.tar.gz |
A zippy change broke test assumptions about the size of compressed output.
Fix the tests by allowing more slop in zippy's behavior.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123432472
Diffstat (limited to 'table/table_test.cc')
-rw-r--r-- | table/table_test.cc | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/table/table_test.cc b/table/table_test.cc index c723bf8..abf6e24 100644 --- a/table/table_test.cc +++ b/table/table_test.cc @@ -853,12 +853,20 @@ TEST(TableTest, ApproximateOffsetOfCompressed) { options.compression = kSnappyCompression; c.Finish(options, &keys, &kvmap); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("abc"), 0, 0)); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("k01"), 0, 0)); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("k02"), 0, 0)); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("k03"), 2000, 3000)); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("k04"), 2000, 3000)); - ASSERT_TRUE(Between(c.ApproximateOffsetOf("xyz"), 4000, 6000)); + // Expected upper and lower bounds of space used by compressible strings. + static const int kSlop = 1000; // Compressor effectiveness varies. + const int expected = 2500; // 10000 * compression ratio (0.25) + const int min_z = expected - kSlop; + const int max_z = expected + kSlop; + + ASSERT_TRUE(Between(c.ApproximateOffsetOf("abc"), 0, kSlop)); + ASSERT_TRUE(Between(c.ApproximateOffsetOf("k01"), 0, kSlop)); + ASSERT_TRUE(Between(c.ApproximateOffsetOf("k02"), 0, kSlop)); + // Have now emitted a large compressible string, so adjust expected offset. + ASSERT_TRUE(Between(c.ApproximateOffsetOf("k03"), min_z, max_z)); + ASSERT_TRUE(Between(c.ApproximateOffsetOf("k04"), min_z, max_z)); + // Have now emitted two large compressible strings, so adjust expected offset. + ASSERT_TRUE(Between(c.ApproximateOffsetOf("xyz"), 2 * min_z, 2 * max_z)); } } // namespace leveldb |