summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/persistence/provider_error_wrapper_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/tests/persistence/provider_error_wrapper_test.cpp')
-rw-r--r--storage/src/tests/persistence/provider_error_wrapper_test.cpp61
1 files changed, 22 insertions, 39 deletions
diff --git a/storage/src/tests/persistence/provider_error_wrapper_test.cpp b/storage/src/tests/persistence/provider_error_wrapper_test.cpp
index b6b87b33666..36238abb238 100644
--- a/storage/src/tests/persistence/provider_error_wrapper_test.cpp
+++ b/storage/src/tests/persistence/provider_error_wrapper_test.cpp
@@ -1,6 +1,5 @@
// 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/persistence/spi/test.h>
#include <tests/persistence/persistencetestutils.h>
#include <tests/persistence/common/persistenceproviderwrapper.h>
@@ -9,25 +8,9 @@ using storage::spi::test::makeSpiBucket;
namespace storage {
-class ProviderErrorWrapperTest : public SingleDiskPersistenceTestUtils {
-public:
- CPPUNIT_TEST_SUITE(ProviderErrorWrapperTest);
- CPPUNIT_TEST(fatal_error_invokes_listener);
- CPPUNIT_TEST(resource_exhaustion_error_invokes_listener);
- CPPUNIT_TEST(listener_not_invoked_on_success);
- CPPUNIT_TEST(listener_not_invoked_on_regular_errors);
- CPPUNIT_TEST(multiple_listeners_can_be_registered);
- CPPUNIT_TEST_SUITE_END();
-
- void fatal_error_invokes_listener();
- void resource_exhaustion_error_invokes_listener();
- void listener_not_invoked_on_success();
- void listener_not_invoked_on_regular_errors();
- void multiple_listeners_can_be_registered();
+struct ProviderErrorWrapperTest : SingleDiskPersistenceTestUtils {
};
-CPPUNIT_TEST_SUITE_REGISTRATION(ProviderErrorWrapperTest);
-
namespace {
struct MockErrorListener : ProviderErrorListener {
@@ -70,61 +53,61 @@ struct Fixture {
void check_no_listener_invoked_for_error(MockErrorListener& listener, spi::Result::ErrorType error) {
providerWrapper.setResult(spi::Result(error, "beep boop"));
perform_spi_operation();
- CPPUNIT_ASSERT(!listener._seen_fatal_error);
- CPPUNIT_ASSERT(!listener._seen_resource_exhaustion_error);
+ EXPECT_FALSE(listener._seen_fatal_error);
+ EXPECT_FALSE(listener._seen_resource_exhaustion_error);
}
};
}
-void ProviderErrorWrapperTest::fatal_error_invokes_listener() {
+TEST_F(ProviderErrorWrapperTest, fatal_error_invokes_listener) {
Fixture f(getPersistenceProvider());
auto listener = std::make_shared<MockErrorListener>();
f.errorWrapper.register_error_listener(listener);
f.providerWrapper.setResult(spi::Result(spi::Result::FATAL_ERROR, "eject! eject!"));
- CPPUNIT_ASSERT(!listener->_seen_fatal_error);
+ EXPECT_FALSE(listener->_seen_fatal_error);
f.perform_spi_operation();
- CPPUNIT_ASSERT(!listener->_seen_resource_exhaustion_error);
- CPPUNIT_ASSERT(listener->_seen_fatal_error);
- CPPUNIT_ASSERT_EQUAL(vespalib::string("eject! eject!"), listener->_fatal_error);
+ EXPECT_FALSE(listener->_seen_resource_exhaustion_error);
+ EXPECT_TRUE(listener->_seen_fatal_error);
+ EXPECT_EQ(vespalib::string("eject! eject!"), listener->_fatal_error);
}
-void ProviderErrorWrapperTest::resource_exhaustion_error_invokes_listener() {
+TEST_F(ProviderErrorWrapperTest, resource_exhaustion_error_invokes_listener) {
Fixture f(getPersistenceProvider());
auto listener = std::make_shared<MockErrorListener>();
f.errorWrapper.register_error_listener(listener);
f.providerWrapper.setResult(spi::Result(spi::Result::RESOURCE_EXHAUSTED, "out of juice"));
- CPPUNIT_ASSERT(!listener->_seen_resource_exhaustion_error);
+ EXPECT_FALSE(listener->_seen_resource_exhaustion_error);
f.perform_spi_operation();
- CPPUNIT_ASSERT(!listener->_seen_fatal_error);
- CPPUNIT_ASSERT(listener->_seen_resource_exhaustion_error);
- CPPUNIT_ASSERT_EQUAL(vespalib::string("out of juice"), listener->_resource_exhaustion_error);
+ EXPECT_FALSE(listener->_seen_fatal_error);
+ EXPECT_TRUE(listener->_seen_resource_exhaustion_error);
+ EXPECT_EQ(vespalib::string("out of juice"), listener->_resource_exhaustion_error);
}
-void ProviderErrorWrapperTest::listener_not_invoked_on_success() {
+TEST_F(ProviderErrorWrapperTest, listener_not_invoked_on_success) {
Fixture f(getPersistenceProvider());
auto listener = std::make_shared<MockErrorListener>();
f.errorWrapper.register_error_listener(listener);
f.perform_spi_operation();
- CPPUNIT_ASSERT(!listener->_seen_fatal_error);
- CPPUNIT_ASSERT(!listener->_seen_resource_exhaustion_error);
+ EXPECT_FALSE(listener->_seen_fatal_error);
+ EXPECT_FALSE(listener->_seen_resource_exhaustion_error);
}
-void ProviderErrorWrapperTest::listener_not_invoked_on_regular_errors() {
+TEST_F(ProviderErrorWrapperTest, listener_not_invoked_on_regular_errors) {
Fixture f(getPersistenceProvider());
auto listener = std::make_shared<MockErrorListener>();
f.errorWrapper.register_error_listener(listener);
- f.check_no_listener_invoked_for_error(*listener, spi::Result::TRANSIENT_ERROR);
- f.check_no_listener_invoked_for_error(*listener, spi::Result::PERMANENT_ERROR);
+ EXPECT_NO_FATAL_FAILURE(f.check_no_listener_invoked_for_error(*listener, spi::Result::TRANSIENT_ERROR));
+ EXPECT_NO_FATAL_FAILURE(f.check_no_listener_invoked_for_error(*listener, spi::Result::PERMANENT_ERROR));
}
-void ProviderErrorWrapperTest::multiple_listeners_can_be_registered() {
+TEST_F(ProviderErrorWrapperTest, multiple_listeners_can_be_registered) {
Fixture f(getPersistenceProvider());
auto listener1 = std::make_shared<MockErrorListener>();
auto listener2 = std::make_shared<MockErrorListener>();
@@ -134,8 +117,8 @@ void ProviderErrorWrapperTest::multiple_listeners_can_be_registered() {
f.providerWrapper.setResult(spi::Result(spi::Result::RESOURCE_EXHAUSTED, "out of juice"));
f.perform_spi_operation();
- CPPUNIT_ASSERT(listener1->_seen_resource_exhaustion_error);
- CPPUNIT_ASSERT(listener2->_seen_resource_exhaustion_error);
+ EXPECT_TRUE(listener1->_seen_resource_exhaustion_error);
+ EXPECT_TRUE(listener2->_seen_resource_exhaustion_error);
}
} // ns storage