summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahoo-inc.com>2017-05-05 09:36:24 +0000
committerGeir Storli <geirst@yahoo-inc.com>2017-05-05 12:31:11 +0000
commit8f152bcab9578b9af032d9d3d98ecccdba7ac6c7 (patch)
treef01a7596e2996b6126154f08e32ec472713520ab
parentbf97d00b16ce7fa8299f37d7f69adee16a5a97d1 (diff)
Move LidInfo tests to separate test file.
-rw-r--r--searchlib/CMakeLists.txt1
-rw-r--r--searchlib/src/tests/docstore/lid_info/CMakeLists.txt8
-rw-r--r--searchlib/src/tests/docstore/lid_info/FILES1
-rw-r--r--searchlib/src/tests/docstore/lid_info/lid_info_test.cpp69
-rw-r--r--searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp56
5 files changed, 79 insertions, 56 deletions
diff --git a/searchlib/CMakeLists.txt b/searchlib/CMakeLists.txt
index 413e74adab9..f2ec97b3582 100644
--- a/searchlib/CMakeLists.txt
+++ b/searchlib/CMakeLists.txt
@@ -116,6 +116,7 @@ vespa_define_module(
src/tests/diskindex/pagedict4
src/tests/docstore/document_store
src/tests/docstore/document_store_visitor
+ src/tests/docstore/lid_info
src/tests/docstore/logdatastore
src/tests/engine/docsumapi
src/tests/engine/monitorapi
diff --git a/searchlib/src/tests/docstore/lid_info/CMakeLists.txt b/searchlib/src/tests/docstore/lid_info/CMakeLists.txt
new file mode 100644
index 00000000000..904e7f1f31f
--- /dev/null
+++ b/searchlib/src/tests/docstore/lid_info/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(searchlib_lid_info_test_app TEST
+ SOURCES
+ lid_info_test.cpp
+ DEPENDS
+ searchlib
+)
+vespa_add_test(NAME searchlib_lid_info_test_app COMMAND searchlib_lid_info_test_app)
diff --git a/searchlib/src/tests/docstore/lid_info/FILES b/searchlib/src/tests/docstore/lid_info/FILES
new file mode 100644
index 00000000000..305288cb9fa
--- /dev/null
+++ b/searchlib/src/tests/docstore/lid_info/FILES
@@ -0,0 +1 @@
+lid_info_test.cpp
diff --git a/searchlib/src/tests/docstore/lid_info/lid_info_test.cpp b/searchlib/src/tests/docstore/lid_info/lid_info_test.cpp
new file mode 100644
index 00000000000..8e866a682f4
--- /dev/null
+++ b/searchlib/src/tests/docstore/lid_info/lid_info_test.cpp
@@ -0,0 +1,69 @@
+// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/searchlib/docstore/lid_info.h>
+
+#include <vespa/log/log.h>
+LOG_SETUP("lid_info_test");
+
+using namespace search;
+
+TEST("require that LidInfo orders file chunk size")
+{
+ EXPECT_TRUE(LidInfo(1, 1, 1) == LidInfo(1, 1, 1));
+ EXPECT_FALSE(LidInfo(1, 1, 1) < LidInfo(1, 1, 1));
+
+ EXPECT_FALSE(LidInfo(1, 1, 1) == LidInfo(2, 1, 1));
+ EXPECT_TRUE(LidInfo(1, 1, 1) < LidInfo(2, 1, 1));
+ EXPECT_TRUE(LidInfo(1, 2, 1) < LidInfo(2, 1, 1));
+ EXPECT_TRUE(LidInfo(1, 1, 2) < LidInfo(2, 1, 1));
+}
+
+TEST("require that LidInfo has 8 bytes size and that it can represent the numbers correctly")
+{
+ EXPECT_EQUAL(8u, sizeof(LidInfo));
+ LidInfo a(0,0,0);
+ EXPECT_EQUAL(0u, a.getFileId());
+ EXPECT_EQUAL(0u, a.getChunkId());
+ EXPECT_EQUAL(0u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_TRUE(a.empty());
+ a = LidInfo(1,1,1);
+ EXPECT_EQUAL(1u, a.getFileId());
+ EXPECT_EQUAL(1u, a.getChunkId());
+ EXPECT_EQUAL(64u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_FALSE(a.empty());
+ a = LidInfo(1,1,63);
+ EXPECT_EQUAL(1u, a.getFileId());
+ EXPECT_EQUAL(1u, a.getChunkId());
+ EXPECT_EQUAL(64u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_FALSE(a.empty());
+ a = LidInfo(1,1,64);
+ EXPECT_EQUAL(1u, a.getFileId());
+ EXPECT_EQUAL(1u, a.getChunkId());
+ EXPECT_EQUAL(64u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_FALSE(a.empty());
+ a = LidInfo(1,1,65);
+ EXPECT_EQUAL(1u, a.getFileId());
+ EXPECT_EQUAL(1u, a.getChunkId());
+ EXPECT_EQUAL(128u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_FALSE(a.empty());
+ a = LidInfo(0xffff,0x3fffff,0xffffff80u);
+ EXPECT_EQUAL(0xffffu, a.getFileId());
+ EXPECT_EQUAL(0x3fffffu, a.getChunkId());
+ EXPECT_EQUAL(0xffffff80u, a.size());
+ EXPECT_TRUE(a.valid());
+ EXPECT_FALSE(a.empty());
+ EXPECT_EXCEPTION(a = LidInfo(0x10000,0x3fffff,1), std::runtime_error,
+ "LidInfo(fileId=65536, chunkId=4194303, size=1) has invalid fileId larger than 65535");
+ EXPECT_EXCEPTION(a = LidInfo(0xffff,0x400000,1), std::runtime_error,
+ "LidInfo(fileId=65535, chunkId=4194304, size=1) has invalid chunkId larger than 4194303");
+ EXPECT_EXCEPTION(a = LidInfo(0xffff,0x3fffff,0xffffff81u), std::runtime_error,
+ "LidInfo(fileId=65535, chunkId=4194303, size=4294967169) has too large size larger than 4294967168");
+}
+
+TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
index c1cd330df87..c8fcdbc127b 100644
--- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
+++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
@@ -127,16 +127,6 @@ checkStats(IDataStore &store,
}
-TEST("testThatLidInfoOrdersFileChunkSize") {
- EXPECT_TRUE(LidInfo(1, 1, 1) == LidInfo(1, 1, 1));
- EXPECT_FALSE(LidInfo(1, 1, 1) < LidInfo(1, 1, 1));
-
- EXPECT_FALSE(LidInfo(1, 1, 1) == LidInfo(2, 1, 1));
- EXPECT_TRUE(LidInfo(1, 1, 1) < LidInfo(2, 1, 1));
- EXPECT_TRUE(LidInfo(1, 2, 1) < LidInfo(2, 1, 1));
- EXPECT_TRUE(LidInfo(1, 1, 2) < LidInfo(2, 1, 1));
-}
-
TEST("test that DirectIOPadding works accordng to spec") {
constexpr ssize_t FILE_SIZE = 4096*3;
FastOS_File file("directio.test");
@@ -853,52 +843,6 @@ TEST("test that StoreByBucket gives bucket by bucket and ordered within") {
sbb.drain(vbo);
}
-TEST("test that LidInfo has 8 bytes size and that it can represent the numbers correctly.")
-{
- EXPECT_EQUAL(8u, sizeof(LidInfo));
- LidInfo a(0,0,0);
- EXPECT_EQUAL(0u, a.getFileId());
- EXPECT_EQUAL(0u, a.getChunkId());
- EXPECT_EQUAL(0u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_TRUE(a.empty());
- a = LidInfo(1,1,1);
- EXPECT_EQUAL(1u, a.getFileId());
- EXPECT_EQUAL(1u, a.getChunkId());
- EXPECT_EQUAL(64u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_FALSE(a.empty());
- a = LidInfo(1,1,63);
- EXPECT_EQUAL(1u, a.getFileId());
- EXPECT_EQUAL(1u, a.getChunkId());
- EXPECT_EQUAL(64u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_FALSE(a.empty());
- a = LidInfo(1,1,64);
- EXPECT_EQUAL(1u, a.getFileId());
- EXPECT_EQUAL(1u, a.getChunkId());
- EXPECT_EQUAL(64u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_FALSE(a.empty());
- a = LidInfo(1,1,65);
- EXPECT_EQUAL(1u, a.getFileId());
- EXPECT_EQUAL(1u, a.getChunkId());
- EXPECT_EQUAL(128u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_FALSE(a.empty());
- a = LidInfo(0xffff,0x3fffff,0xffffff80u);
- EXPECT_EQUAL(0xffffu, a.getFileId());
- EXPECT_EQUAL(0x3fffffu, a.getChunkId());
- EXPECT_EQUAL(0xffffff80u, a.size());
- EXPECT_TRUE(a.valid());
- EXPECT_FALSE(a.empty());
- EXPECT_EXCEPTION(a = LidInfo(0x10000,0x3fffff,1), std::runtime_error,
- "LidInfo(fileId=65536, chunkId=4194303, size=1) has invalid fileId larger than 65535");
- EXPECT_EXCEPTION(a = LidInfo(0xffff,0x400000,1), std::runtime_error,
- "LidInfo(fileId=65535, chunkId=4194304, size=1) has invalid chunkId larger than 4194303");
- EXPECT_EXCEPTION(a = LidInfo(0xffff,0x3fffff,0xffffff81u), std::runtime_error,
- "LidInfo(fileId=65535, chunkId=4194303, size=4294967169) has too large size larger than 4294967168");
-}
TEST_MAIN() {
DummyFileHeaderContext::setCreator("logdatastore_test");
TEST_RUN_ALL();