summaryrefslogtreecommitdiffstats
path: root/test/source/base.cpp
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-07-17 14:40:14 -0700
committerWilliam A. Kennington III <wak@google.com>2018-07-17 14:40:14 -0700
commitfeef68f751e09d8d5a4f2bf2f2f4cab27de1b73e (patch)
treeb1610bb958a43d3958b630525120501f768bc9fe /test/source/base.cpp
parent2d943ead4b1c160a163f284fb5b639f1f076ce49 (diff)
downloadsdeventplus-feef68f751e09d8d5a4f2bf2f2f4cab27de1b73e.tar.gz
sdeventplus-feef68f751e09d8d5a4f2bf2f2f4cab27de1b73e.zip
source/base: Refactor out callback routine
The callback mechanism will be used by other callback methods in the same fashion, so we can template and re-use this functionality
Diffstat (limited to 'test/source/base.cpp')
-rw-r--r--test/source/base.cpp44
1 files changed, 14 insertions, 30 deletions
diff --git a/test/source/base.cpp b/test/source/base.cpp
index 69ae8e2..435b6f2 100644
--- a/test/source/base.cpp
+++ b/test/source/base.cpp
@@ -8,7 +8,6 @@
#include <sdeventplus/source/base.hpp>
#include <sdeventplus/test/sdevent.hpp>
#include <string>
-#include <system_error>
#include <systemd/sd-event.h>
#include <type_traits>
#include <utility>
@@ -322,47 +321,32 @@ TEST_F(BaseMethodTest, SetPrepareCallbackNoUserdata)
EXPECT_EQ(-EINVAL, event_handler(nullptr, nullptr));
}
-TEST_F(BaseMethodTest, SetPrepareNull)
-{
- EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, nullptr))
- .WillOnce(Return(0));
- base->set_prepare(nullptr);
- EXPECT_EQ(-ENOSYS, base->prepareCallback());
-}
-
-TEST_F(BaseMethodTest, SetPrepareSystemError)
+TEST_F(BaseMethodTest, SetPrepareError)
{
- Base::Callback callback = [](Base&) {
- throw std::system_error(EBUSY, std::generic_category());
- };
EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
.WillOnce(Return(0));
- base->set_prepare(std::move(callback));
+ base->set_prepare(std::move([](Base&) {}));
EXPECT_TRUE(base->get_prepare());
- EXPECT_FALSE(callback);
- EXPECT_EQ(-EBUSY, base->prepareCallback());
+
+ Base::Callback callback = [](Base&) {};
+ EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
+ .WillOnce(Return(-EINVAL));
+ EXPECT_THROW(base->set_prepare(std::move(callback)), SdEventError);
+ EXPECT_FALSE(base->get_prepare());
+ EXPECT_TRUE(callback);
}
-TEST_F(BaseMethodTest, SetPrepareUnknownException)
+TEST_F(BaseMethodTest, SetPrepareNull)
{
- Base::Callback callback = [](Base&) { throw static_cast<int>(1); };
EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
.WillOnce(Return(0));
- base->set_prepare(std::move(callback));
+ base->set_prepare(std::move([](Base&) {}));
EXPECT_TRUE(base->get_prepare());
- EXPECT_FALSE(callback);
- EXPECT_EQ(-ENOSYS, base->prepareCallback());
-}
-TEST_F(BaseMethodTest, SetPrepareError)
-{
- Base::Callback callback = [](Base&) {};
- EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
- .WillOnce(Return(-EINVAL));
- EXPECT_THROW(base->set_prepare(std::move(callback)), SdEventError);
+ EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, nullptr))
+ .WillOnce(Return(0));
+ base->set_prepare(nullptr);
EXPECT_FALSE(base->get_prepare());
- EXPECT_TRUE(callback);
- EXPECT_EQ(-ENOSYS, base->prepareCallback());
}
TEST_F(BaseMethodTest, GetPendingSuccess)
OpenPOWER on IntegriCloud