summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahoo-inc.com>2017-08-31 15:29:03 +0000
committerTor Brede Vekterli <vekterli@yahoo-inc.com>2017-08-31 15:45:52 +0000
commite0f16f7a9f77b8b85eee854f1193bb90e523f334 (patch)
treea15ec27bc54434106831f728247715a7831048b0 /storage
parentbd2827d46947646a538e256a4e656c8f94438917 (diff)
De-dupe some error listener test code
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/persistence/provider_error_wrapper_test.cpp19
-rw-r--r--storage/src/tests/storageserver/service_layer_error_listener_test.cpp6
-rw-r--r--storage/src/vespa/storage/persistence/provider_error_wrapper.cpp3
-rw-r--r--storage/src/vespa/storage/persistence/provider_error_wrapper.h7
4 files changed, 12 insertions, 23 deletions
diff --git a/storage/src/tests/persistence/provider_error_wrapper_test.cpp b/storage/src/tests/persistence/provider_error_wrapper_test.cpp
index 94a2586f0d8..7a8f26cbe93 100644
--- a/storage/src/tests/persistence/provider_error_wrapper_test.cpp
+++ b/storage/src/tests/persistence/provider_error_wrapper_test.cpp
@@ -63,6 +63,13 @@ struct Fixture {
void perform_spi_operation() {
errorWrapper.getBucketInfo(spi::Bucket(document::BucketId(16, 1234), spi::PartitionId(0)));
}
+
+ 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);
+ }
};
}
@@ -110,16 +117,8 @@ void ProviderErrorWrapperTest::listener_not_invoked_on_regular_errors() {
auto listener = std::make_shared<MockErrorListener>();
f.errorWrapper.register_error_listener(listener);
- // TODO dedupe
- f.providerWrapper.setResult(spi::Result(spi::Result::TRANSIENT_ERROR, "beep boop"));
- f.perform_spi_operation();
- CPPUNIT_ASSERT(!listener->_seen_fatal_error);
- CPPUNIT_ASSERT(!listener->_seen_resource_exhaustion_error);
-
- f.providerWrapper.setResult(spi::Result(spi::Result::PERMANENT_ERROR, "beep boop!!"));
- f.perform_spi_operation();
- CPPUNIT_ASSERT(!listener->_seen_fatal_error);
- CPPUNIT_ASSERT(!listener->_seen_resource_exhaustion_error);
+ f.check_no_listener_invoked_for_error(*listener, spi::Result::TRANSIENT_ERROR);
+ f.check_no_listener_invoked_for_error(*listener, spi::Result::PERMANENT_ERROR);
}
void ProviderErrorWrapperTest::multiple_listeners_can_be_registered() {
diff --git a/storage/src/tests/storageserver/service_layer_error_listener_test.cpp b/storage/src/tests/storageserver/service_layer_error_listener_test.cpp
index eb39490da08..b726a24b6b6 100644
--- a/storage/src/tests/storageserver/service_layer_error_listener_test.cpp
+++ b/storage/src/tests/storageserver/service_layer_error_listener_test.cpp
@@ -14,11 +14,11 @@ class ServiceLayerErrorListenerTest : public CppUnit::TestFixture {
public:
CPPUNIT_TEST_SUITE(ServiceLayerErrorListenerTest);
CPPUNIT_TEST(shutdown_invoked_on_fatal_error);
- CPPUNIT_TEST(merge_throttle_backpressure_invoked_on_resource_exhaution_error);
+ CPPUNIT_TEST(merge_throttle_backpressure_invoked_on_resource_exhaustion_error);
CPPUNIT_TEST_SUITE_END();
void shutdown_invoked_on_fatal_error();
- void merge_throttle_backpressure_invoked_on_resource_exhaution_error();
+ void merge_throttle_backpressure_invoked_on_resource_exhaustion_error();
};
CPPUNIT_TEST_SUITE_REGISTRATION(ServiceLayerErrorListenerTest);
@@ -71,7 +71,7 @@ void ServiceLayerErrorListenerTest::shutdown_invoked_on_fatal_error() {
CPPUNIT_ASSERT_EQUAL(vespalib::string("eject! eject!"), f.shutdown_listener.reason());
}
-void ServiceLayerErrorListenerTest::merge_throttle_backpressure_invoked_on_resource_exhaution_error() {
+void ServiceLayerErrorListenerTest::merge_throttle_backpressure_invoked_on_resource_exhaustion_error() {
Fixture f;
CPPUNIT_ASSERT(!f.merge_throttler.backpressure_mode_active());
diff --git a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
index a7ba13de6fc..07a983c23c0 100644
--- a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
+++ b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
@@ -2,9 +2,6 @@
#include "provider_error_wrapper.h"
#include "persistenceutil.h"
-#include <vespa/log/log.h>
-
-LOG_SETUP(".persistence.shutdownwrapper");
namespace storage {
diff --git a/storage/src/vespa/storage/persistence/provider_error_wrapper.h b/storage/src/vespa/storage/persistence/provider_error_wrapper.h
index 96f14b71908..6965253a865 100644
--- a/storage/src/vespa/storage/persistence/provider_error_wrapper.h
+++ b/storage/src/vespa/storage/persistence/provider_error_wrapper.h
@@ -25,8 +25,6 @@ class ServiceLayerComponent;
class ProviderErrorListener {
public:
virtual ~ProviderErrorListener() = default;
- // Note: fatal error listener will only be called _once_, as it is assumed
- // that such errors are indeed fatal and will lead to the process' termination.
virtual void on_fatal_error(vespalib::stringref message) {
(void)message;
}
@@ -77,11 +75,6 @@ public:
void register_error_listener(std::shared_ptr<ProviderErrorListener> listener);
private:
- /**
- * Check whether result has a FATAL_ERROR return code and invoke
- * requestShutdown with its error string if so. Will const_cast
- * internally since it calls non-const on _component.
- */
template <typename ResultType>
ResultType checkResult(ResultType&& result) const;