summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-03-11 21:24:52 +0100
committerTor Egge <Tor.Egge@online.no>2024-03-11 21:24:52 +0100
commit3a19ff2f02d8da2a9b8f62967da9c8ebb1d989ae (patch)
tree2ef434d92b40dfe5299b89b7ce5210ffb558ae93
parent3de0460b18304c733effe35b763f73b48db5ba7f (diff)
Rewrite searchcore DiskIndexCleaner unit test to gtest.
-rw-r--r--searchcore/src/tests/proton/index/CMakeLists.txt1
-rw-r--r--searchcore/src/tests/proton/index/diskindexcleaner_test.cpp72
2 files changed, 35 insertions, 38 deletions
diff --git a/searchcore/src/tests/proton/index/CMakeLists.txt b/searchcore/src/tests/proton/index/CMakeLists.txt
index 40e3d8e7b79..4185d342293 100644
--- a/searchcore/src/tests/proton/index/CMakeLists.txt
+++ b/searchcore/src/tests/proton/index/CMakeLists.txt
@@ -32,6 +32,7 @@ vespa_add_executable(searchcore_diskindexcleaner_test_app TEST
diskindexcleaner_test.cpp
DEPENDS
searchcore_index
+ GTest::gtest
)
vespa_add_test(NAME searchcore_diskindexcleaner_test_app
diff --git a/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp b/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
index 745d9c6a983..1aa79e11a57 100644
--- a/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
+++ b/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
@@ -3,53 +3,44 @@
#include <vespa/searchcorespi/index/disk_indexes.h>
#include <vespa/searchcorespi/index/diskindexcleaner.h>
-#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/fastos/file.h>
#include <algorithm>
#include <filesystem>
-#include <vespa/log/log.h>
-LOG_SETUP("diskindexcleaner_test");
-
using std::string;
using std::vector;
using namespace searchcorespi::index;
namespace {
-class Test : public vespalib::TestApp {
- void requireThatAllIndexesOlderThanLastFusionIsRemoved();
- void requireThatIndexesInUseAreNotRemoved();
- void requireThatInvalidFlushIndexesAreRemoved();
- void requireThatInvalidFusionIndexesAreRemoved();
- void requireThatRemoveDontTouchNewIndexes();
-
-public:
- int Main() override;
-};
-
const string index_dir = "diskindexcleaner_test_data";
void removeTestData() {
std::filesystem::remove_all(std::filesystem::path(index_dir));
}
-int
-Test::Main()
-{
- TEST_INIT("diskindexcleaner_test");
-
- TEST_DO(removeTestData());
+class DiskIndexCleanerTest : public ::testing::Test {
+protected:
+ DiskIndexCleanerTest();
+ ~DiskIndexCleanerTest() override;
+ void SetUp() override;
+ void TearDown() override;
+};
- TEST_DO(requireThatAllIndexesOlderThanLastFusionIsRemoved());
- TEST_DO(requireThatIndexesInUseAreNotRemoved());
- TEST_DO(requireThatInvalidFlushIndexesAreRemoved());
- TEST_DO(requireThatInvalidFusionIndexesAreRemoved());
- TEST_DO(requireThatRemoveDontTouchNewIndexes());
+DiskIndexCleanerTest::DiskIndexCleanerTest() = default;
+DiskIndexCleanerTest::~DiskIndexCleanerTest() = default;
- TEST_DO(removeTestData());
+void
+DiskIndexCleanerTest::SetUp()
+{
+ removeTestData();
+}
- TEST_DONE();
+void
+DiskIndexCleanerTest::TearDown()
+{
+ removeTestData();
}
void createIndex(const string &name) {
@@ -87,18 +78,20 @@ void createIndexes() {
createIndex("index.flush.4");
}
-void Test::requireThatAllIndexesOlderThanLastFusionIsRemoved() {
+TEST_F(DiskIndexCleanerTest, require_that_all_indexes_older_than_last_fusion_is_removed)
+{
createIndexes();
DiskIndexes disk_indexes;
DiskIndexCleaner::clean(index_dir, disk_indexes);
vector<string> indexes = readIndexes();
- EXPECT_EQUAL(3u, indexes.size());
+ EXPECT_EQ(3u, indexes.size());
EXPECT_TRUE(contains(indexes, "index.fusion.2"));
EXPECT_TRUE(contains(indexes, "index.flush.3"));
EXPECT_TRUE(contains(indexes, "index.flush.4"));
}
-void Test::requireThatIndexesInUseAreNotRemoved() {
+TEST_F(DiskIndexCleanerTest, require_that_indexes_in_use_are_not_removed)
+{
createIndexes();
DiskIndexes disk_indexes;
disk_indexes.setActive(index_dir + "/index.fusion.1", 0);
@@ -116,37 +109,40 @@ void Test::requireThatIndexesInUseAreNotRemoved() {
EXPECT_TRUE(!contains(indexes, "index.flush.2"));
}
-void Test::requireThatInvalidFlushIndexesAreRemoved() {
+TEST_F(DiskIndexCleanerTest, require_that_invalid_flush_indexes_are_removed)
+{
createIndexes();
std::filesystem::remove(std::filesystem::path(index_dir + "/index.flush.4/serial.dat"));
DiskIndexes disk_indexes;
DiskIndexCleaner::clean(index_dir, disk_indexes);
vector<string> indexes = readIndexes();
- EXPECT_EQUAL(2u, indexes.size());
+ EXPECT_EQ(2u, indexes.size());
EXPECT_TRUE(contains(indexes, "index.fusion.2"));
EXPECT_TRUE(contains(indexes, "index.flush.3"));
}
-void Test::requireThatInvalidFusionIndexesAreRemoved() {
+TEST_F(DiskIndexCleanerTest, require_that_invalid_fusion_indexes_are_removed)
+{
createIndexes();
std::filesystem::remove(std::filesystem::path(index_dir + "/index.fusion.2/serial.dat"));
DiskIndexes disk_indexes;
DiskIndexCleaner::clean(index_dir, disk_indexes);
vector<string> indexes = readIndexes();
- EXPECT_EQUAL(4u, indexes.size());
+ EXPECT_EQ(4u, indexes.size());
EXPECT_TRUE(contains(indexes, "index.fusion.1"));
EXPECT_TRUE(contains(indexes, "index.flush.2"));
EXPECT_TRUE(contains(indexes, "index.flush.3"));
EXPECT_TRUE(contains(indexes, "index.flush.4"));
}
-void Test::requireThatRemoveDontTouchNewIndexes() {
+TEST_F(DiskIndexCleanerTest, require_that_remove_doesnt_touch_new_indexes)
+{
createIndexes();
std::filesystem::remove(std::filesystem::path(index_dir + "/index.flush.4/serial.dat"));
DiskIndexes disk_indexes;
DiskIndexCleaner::removeOldIndexes(index_dir, disk_indexes);
vector<string> indexes = readIndexes();
- EXPECT_EQUAL(3u, indexes.size());
+ EXPECT_EQ(3u, indexes.size());
EXPECT_TRUE(contains(indexes, "index.fusion.2"));
EXPECT_TRUE(contains(indexes, "index.flush.3"));
EXPECT_TRUE(contains(indexes, "index.flush.4"));
@@ -154,4 +150,4 @@ void Test::requireThatRemoveDontTouchNewIndexes() {
} // namespace
-TEST_APPHOOK(Test);
+GTEST_MAIN_RUN_ALL_TESTS()