From feef68f751e09d8d5a4f2bf2f2f4cab27de1b73e Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 17 Jul 2018 14:40:14 -0700 Subject: 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 --- test/source/base.cpp | 44 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) (limited to 'test/source/base.cpp') 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 #include #include -#include #include #include #include @@ -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(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) -- cgit v1.2.3