diff options
author | Tor Brede Vekterli <vekterli@yahoo-inc.com> | 2017-08-31 15:29:03 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahoo-inc.com> | 2017-08-31 15:45:52 +0000 |
commit | e0f16f7a9f77b8b85eee854f1193bb90e523f334 (patch) | |
tree | a15ec27bc54434106831f728247715a7831048b0 /storage | |
parent | bd2827d46947646a538e256a4e656c8f94438917 (diff) |
De-dupe some error listener test code
Diffstat (limited to 'storage')
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; |