diff options
Diffstat (limited to 'db/filename_test.cc')
-rw-r--r-- | db/filename_test.cc | 76 |
1 files changed, 21 insertions, 55 deletions
diff --git a/db/filename_test.cc b/db/filename_test.cc index 4d2a91e..2f61e8d 100644 --- a/db/filename_test.cc +++ b/db/filename_test.cc @@ -17,42 +17,29 @@ TEST(FileNameTest, Parse) { Slice db; FileType type; uint64_t number; - LargeValueRef large_ref; // Successful parses static struct { const char* fname; uint64_t number; - const char* large_ref; FileType type; } cases[] = { - { "100.log", 100, "", kLogFile }, - { "0.log", 0, "", kLogFile }, - { "0.sst", 0, "", kTableFile }, - { "CURRENT", 0, "", kCurrentFile }, - { "LOCK", 0, "", kDBLockFile }, - { "MANIFEST-2", 2, "", kDescriptorFile }, - { "MANIFEST-7", 7, "", kDescriptorFile }, - { "LOG", 0, "", kInfoLogFile }, - { "LOG.old", 0, "", kInfoLogFile }, - { "18446744073709551615.log", 18446744073709551615ull, "", - kLogFile }, - { "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-1234-0.val", 0, - "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-1234-0", kLargeValueFile }, - { "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-10000000000-0.val", 0, - "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-10000000000-0", - kLargeValueFile }, + { "100.log", 100, kLogFile }, + { "0.log", 0, kLogFile }, + { "0.sst", 0, kTableFile }, + { "CURRENT", 0, kCurrentFile }, + { "LOCK", 0, kDBLockFile }, + { "MANIFEST-2", 2, kDescriptorFile }, + { "MANIFEST-7", 7, kDescriptorFile }, + { "LOG", 0, kInfoLogFile }, + { "LOG.old", 0, kInfoLogFile }, + { "18446744073709551615.log", 18446744073709551615ull, kLogFile }, }; for (int i = 0; i < sizeof(cases) / sizeof(cases[0]); i++) { std::string f = cases[i].fname; - ASSERT_TRUE(ParseFileName(f, &number, &large_ref, &type)) << f; + ASSERT_TRUE(ParseFileName(f, &number, &type)) << f; ASSERT_EQ(cases[i].type, type) << f; - if (type == kLargeValueFile) { - ASSERT_EQ(cases[i].large_ref, LargeValueRefToFilenameString(large_ref)) - << f; - } else { - ASSERT_EQ(cases[i].number, number) << f; - } + ASSERT_EQ(cases[i].number, number) << f; } // Errors @@ -78,75 +65,54 @@ TEST(FileNameTest, Parse) { "184467440737095516150.log", "100", "100.", - "100.lop", - "100.val", - ".val", - "123456789012345678901234567890123456789-12340.val", - "1234567890123456789012345678901234567-123-0.val", - "12345678901234567890123456789012345678902-100-1-.val", - // Overflow on value size - "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-100000000000000000000-1.val", - // '03.val' is a bad compression type - "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2323-100000-3.val" }; + "100.lop" + }; for (int i = 0; i < sizeof(errors) / sizeof(errors[0]); i++) { std::string f = errors[i]; - ASSERT_TRUE(!ParseFileName(f, &number, &large_ref, &type)) << f; + ASSERT_TRUE(!ParseFileName(f, &number, &type)) << f; }; } TEST(FileNameTest, Construction) { uint64_t number; FileType type; - LargeValueRef large_ref; std::string fname; fname = CurrentFileName("foo"); ASSERT_EQ("foo/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(0, number); ASSERT_EQ(kCurrentFile, type); fname = LockFileName("foo"); ASSERT_EQ("foo/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(0, number); ASSERT_EQ(kDBLockFile, type); fname = LogFileName("foo", 192); ASSERT_EQ("foo/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(192, number); ASSERT_EQ(kLogFile, type); fname = TableFileName("bar", 200); ASSERT_EQ("bar/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(200, number); ASSERT_EQ(kTableFile, type); fname = DescriptorFileName("bar", 100); ASSERT_EQ("bar/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(100, number); ASSERT_EQ(kDescriptorFile, type); fname = TempFileName("tmp", 999); ASSERT_EQ("tmp/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); + ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &type)); ASSERT_EQ(999, number); ASSERT_EQ(kTempFile, type); - - for (int i = 0; i <= kSnappyCompression; i++) { - CompressionType ctype = static_cast<CompressionType>(i); - std::string value = "abcdef"; - LargeValueRef real_large_ref = LargeValueRef::Make(Slice(value), ctype); - fname = LargeValueFileName("tmp", real_large_ref); - ASSERT_EQ("tmp/", std::string(fname.data(), 4)); - ASSERT_TRUE(ParseFileName(fname.c_str() + 4, &number, &large_ref, &type)); - ASSERT_TRUE(real_large_ref == large_ref); - ASSERT_EQ(kLargeValueFile, type); - ASSERT_EQ(large_ref.compression_type(), ctype); - } } } |