summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/visiting/memory_bounded_trace_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/tests/visiting/memory_bounded_trace_test.cpp')
-rw-r--r--storage/src/tests/visiting/memory_bounded_trace_test.cpp108
1 files changed, 35 insertions, 73 deletions
diff --git a/storage/src/tests/visiting/memory_bounded_trace_test.cpp b/storage/src/tests/visiting/memory_bounded_trace_test.cpp
index 5d7dda16ced..0cfd3dad4c3 100644
--- a/storage/src/tests/visiting/memory_bounded_trace_test.cpp
+++ b/storage/src/tests/visiting/memory_bounded_trace_test.cpp
@@ -1,73 +1,43 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vdstestlib/cppunit/macros.h>
#include <vespa/storage/visiting/memory_bounded_trace.h>
+#include <vespa/vespalib/gtest/gtest.h>
-namespace storage {
-
-class MemoryBoundedTraceTest : public CppUnit::TestFixture
-{
- CPPUNIT_TEST_SUITE(MemoryBoundedTraceTest);
- CPPUNIT_TEST(noMemoryReportedUsedWhenEmpty);
- CPPUNIT_TEST(memoryUsedIsStringLengthForLeafNode);
- CPPUNIT_TEST(memoryUsedIsAccumulatedRecursivelyForNonLeafNodes);
- CPPUNIT_TEST(traceNodesCanBeMovedAndImplicitlyCleared);
- CPPUNIT_TEST(movedTraceTreeIsMarkedAsStrict);
- CPPUNIT_TEST(canNotAddMoreNodesWhenMemoryUsedExceedsUpperBound);
- CPPUNIT_TEST(movedTreeIncludesStatsNodeWhenNodesOmitted);
- CPPUNIT_TEST_SUITE_END();
-
-public:
- void noMemoryReportedUsedWhenEmpty();
- void memoryUsedIsStringLengthForLeafNode();
- void memoryUsedIsAccumulatedRecursivelyForNonLeafNodes();
- void traceNodesCanBeMovedAndImplicitlyCleared();
- void movedTraceTreeIsMarkedAsStrict();
- void canNotAddMoreNodesWhenMemoryUsedExceedsUpperBound();
- void movedTreeIncludesStatsNodeWhenNodesOmitted();
-};
+using namespace ::testing;
-CPPUNIT_TEST_SUITE_REGISTRATION(MemoryBoundedTraceTest);
+namespace storage {
-void
-MemoryBoundedTraceTest::noMemoryReportedUsedWhenEmpty()
-{
+TEST(MemoryBoundedTraceTest, no_memory_reported_used_when_empty) {
MemoryBoundedTrace trace(100);
- CPPUNIT_ASSERT_EQUAL(size_t(0), trace.getApproxMemoryUsed());
+ EXPECT_EQ(0, trace.getApproxMemoryUsed());
}
-void
-MemoryBoundedTraceTest::memoryUsedIsStringLengthForLeafNode()
-{
+TEST(MemoryBoundedTraceTest, memory_used_is_string_length_for_leaf_node) {
MemoryBoundedTrace trace(100);
- CPPUNIT_ASSERT(trace.add(mbus::TraceNode("hello world", 0)));
- CPPUNIT_ASSERT_EQUAL(size_t(11), trace.getApproxMemoryUsed());
+ EXPECT_TRUE(trace.add(mbus::TraceNode("hello world", 0)));
+ EXPECT_EQ(11, trace.getApproxMemoryUsed());
}
-void
-MemoryBoundedTraceTest::memoryUsedIsAccumulatedRecursivelyForNonLeafNodes()
-{
+TEST(MemoryBoundedTraceTest, memory_used_is_accumulated_recursively_for_non_leaf_nodes) {
MemoryBoundedTrace trace(100);
mbus::TraceNode innerNode;
innerNode.addChild("hello world");
innerNode.addChild("goodbye moon");
- CPPUNIT_ASSERT(trace.add(innerNode));
- CPPUNIT_ASSERT_EQUAL(size_t(23), trace.getApproxMemoryUsed());
+ EXPECT_TRUE(trace.add(innerNode));
+ EXPECT_EQ(23, trace.getApproxMemoryUsed());
}
-void
-MemoryBoundedTraceTest::traceNodesCanBeMovedAndImplicitlyCleared()
-{
+TEST(MemoryBoundedTraceTest, trace_nodes_can_be_moved_and_implicitly_cleared) {
MemoryBoundedTrace trace(100);
- CPPUNIT_ASSERT(trace.add(mbus::TraceNode("hello world", 0)));
+ EXPECT_TRUE(trace.add(mbus::TraceNode("hello world", 0)));
mbus::TraceNode target;
trace.moveTraceTo(target);
- CPPUNIT_ASSERT_EQUAL(uint32_t(1), target.getNumChildren());
- CPPUNIT_ASSERT_EQUAL(size_t(0), trace.getApproxMemoryUsed());
+ EXPECT_EQ(1, target.getNumChildren());
+ EXPECT_EQ(0, trace.getApproxMemoryUsed());
mbus::TraceNode emptinessCheck;
trace.moveTraceTo(emptinessCheck);
- CPPUNIT_ASSERT_EQUAL(uint32_t(0), emptinessCheck.getNumChildren());
+ EXPECT_EQ(0, emptinessCheck.getNumChildren());
}
/**
@@ -77,54 +47,46 @@ MemoryBoundedTraceTest::traceNodesCanBeMovedAndImplicitlyCleared()
* best of my knowledge, since the internal backing data structure is an
* ordered vector anyhow.
*/
-void
-MemoryBoundedTraceTest::movedTraceTreeIsMarkedAsStrict()
-{
+TEST(MemoryBoundedTraceTest, moved_trace_tree_is_marked_as_strict) {
MemoryBoundedTrace trace(100);
- CPPUNIT_ASSERT(trace.add(mbus::TraceNode("hello world", 0)));
+ EXPECT_TRUE(trace.add(mbus::TraceNode("hello world", 0)));
mbus::TraceNode target;
trace.moveTraceTo(target);
- CPPUNIT_ASSERT_EQUAL(uint32_t(1), target.getNumChildren());
- CPPUNIT_ASSERT(target.getChild(0).isStrict());
+ EXPECT_EQ(1, target.getNumChildren());
+ EXPECT_TRUE(target.getChild(0).isStrict());
}
-void
-MemoryBoundedTraceTest::canNotAddMoreNodesWhenMemoryUsedExceedsUpperBound()
-{
+TEST(MemoryBoundedTraceTest, can_not_add_more_nodes_when_memory_used_exceeds_upper_bound) {
// Note: we allow one complete node tree to exceed the bounds, but as soon
// as the bound is exceeded no further nodes can be added.
MemoryBoundedTrace trace(10);
- CPPUNIT_ASSERT(trace.add(mbus::TraceNode("hello world", 0)));
- CPPUNIT_ASSERT_EQUAL(size_t(11), trace.getApproxMemoryUsed());
+ EXPECT_TRUE(trace.add(mbus::TraceNode("hello world", 0)));
+ EXPECT_EQ(11, trace.getApproxMemoryUsed());
- CPPUNIT_ASSERT(!trace.add(mbus::TraceNode("the quick red fox runs across "
- "the freeway", 0)));
- CPPUNIT_ASSERT_EQUAL(size_t(11), trace.getApproxMemoryUsed());
+ EXPECT_FALSE(trace.add(mbus::TraceNode("the quick red fox runs across "
+ "the freeway", 0)));
+ EXPECT_EQ(11, trace.getApproxMemoryUsed());
mbus::TraceNode target;
trace.moveTraceTo(target);
// Twice nested node (root -> added trace tree -> leaf with txt).
- CPPUNIT_ASSERT_EQUAL(uint32_t(1), target.getNumChildren());
- CPPUNIT_ASSERT(target.getChild(0).getNumChildren() >= 1);
- CPPUNIT_ASSERT_EQUAL(vespalib::string("hello world"),
- target.getChild(0).getChild(0).getNote());
+ EXPECT_EQ(1, target.getNumChildren());
+ EXPECT_GE(target.getChild(0).getNumChildren(), 1);
+ EXPECT_EQ("hello world", target.getChild(0).getChild(0).getNote());
}
-void
-MemoryBoundedTraceTest::movedTreeIncludesStatsNodeWhenNodesOmitted()
-{
+TEST(MemoryBoundedTraceTest, moved_tree_includes_stats_node_when_nodes_omitted) {
MemoryBoundedTrace trace(5);
- CPPUNIT_ASSERT(trace.add(mbus::TraceNode("abcdef", 0)));
- CPPUNIT_ASSERT(!trace.add(mbus::TraceNode("ghijkjlmn", 0)));
+ EXPECT_TRUE(trace.add(mbus::TraceNode("abcdef", 0)));
+ EXPECT_FALSE(trace.add(mbus::TraceNode("ghijkjlmn", 0)));
mbus::TraceNode target;
trace.moveTraceTo(target);
- CPPUNIT_ASSERT_EQUAL(uint32_t(1), target.getNumChildren());
- CPPUNIT_ASSERT_EQUAL(uint32_t(2), target.getChild(0).getNumChildren());
+ EXPECT_EQ(1, target.getNumChildren());
+ EXPECT_EQ(2, target.getChild(0).getNumChildren());
vespalib::string expected("Trace too large; omitted 1 subsequent trace "
"trees containing a total of 9 bytes");
- CPPUNIT_ASSERT_EQUAL(expected, target.getChild(0).getChild(1).getNote());
+ EXPECT_EQ(expected, target.getChild(0).getChild(1).getNote());
}
} // storage
-