diff options
| author | William A. Kennington III <wak@google.com> | 2018-07-17 14:40:14 -0700 |
|---|---|---|
| committer | William A. Kennington III <wak@google.com> | 2018-07-17 14:40:14 -0700 |
| commit | 631c246025f40f79da940c2f13323d75182053e1 (patch) | |
| tree | 2cb01a624aa1d42a79752c03b610f44d88d6c9fd /test/event.cpp | |
| parent | dcc08b6cde29e434a3e7dfd95a6c42fb4bd8484b (diff) | |
| download | sdeventplus-631c246025f40f79da940c2f13323d75182053e1.tar.gz sdeventplus-631c246025f40f79da940c2f13323d75182053e1.zip | |
event: Add watchdog functions
Diffstat (limited to 'test/event.cpp')
| -rw-r--r-- | test/event.cpp | 68 |
1 files changed, 60 insertions, 8 deletions
diff --git a/test/event.cpp b/test/event.cpp index da935cf..1c30d20 100644 --- a/test/event.cpp +++ b/test/event.cpp @@ -1,5 +1,6 @@ #include <gmock/gmock.h> #include <gtest/gtest.h> +#include <memory> #include <sdeventplus/event.hpp> #include <sdeventplus/exception.hpp> #include <sdeventplus/test/sdevent.hpp> @@ -67,14 +68,31 @@ TEST_F(EventTest, GetDefaultEventFail) EXPECT_THROW(Event::get_default(&mock), SdEventError); } -TEST_F(EventTest, LoopSuccess) +class EventMethodTest : public EventTest +{ + protected: + std::unique_ptr<Event> event; + + void SetUp() + { + event = + std::make_unique<Event>(expected_event, std::false_type(), &mock); + } + + void TearDown() + { + EXPECT_CALL(mock, sd_event_unref(expected_event)) + .WillOnce(Return(nullptr)); + } +}; + +TEST_F(EventMethodTest, LoopSuccess) { EXPECT_CALL(mock, sd_event_loop(expected_event)).WillOnce(Return(0)); - EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); - EXPECT_EQ(0, Event(expected_event, std::false_type(), &mock).loop()); + EXPECT_EQ(0, event->loop()); } -TEST_F(EventTest, LoopUserError) +TEST_F(EventMethodTest, LoopUserError) { const int user_error = 10; EXPECT_CALL(mock, sd_event_loop(expected_event)) @@ -84,12 +102,46 @@ TEST_F(EventTest, LoopUserError) Event(expected_event, std::false_type(), &mock).loop()); } -TEST_F(EventTest, LoopInternalError) +TEST_F(EventMethodTest, LoopInternalError) { EXPECT_CALL(mock, sd_event_loop(expected_event)).WillOnce(Return(-EINVAL)); - EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); - EXPECT_THROW(Event(expected_event, std::false_type(), &mock).loop(), - SdEventError); + EXPECT_THROW(event->loop(), SdEventError); +} + +TEST_F(EventMethodTest, GetWatchdogSuccess) +{ + EXPECT_CALL(mock, sd_event_get_watchdog(expected_event)) + .WillOnce(Return(0)); + EXPECT_EQ(0, event->get_watchdog()); + + EXPECT_CALL(mock, sd_event_get_watchdog(expected_event)) + .WillOnce(Return(2)); + EXPECT_EQ(2, event->get_watchdog()); +} + +TEST_F(EventMethodTest, GetWatchdogError) +{ + EXPECT_CALL(mock, sd_event_get_watchdog(expected_event)) + .WillOnce(Return(-EINVAL)); + EXPECT_THROW(event->get_watchdog(), SdEventError); +} + +TEST_F(EventMethodTest, SetWatchdogSuccess) +{ + EXPECT_CALL(mock, sd_event_set_watchdog(expected_event, 0)) + .WillOnce(Return(0)); + EXPECT_EQ(0, event->set_watchdog(0)); + + EXPECT_CALL(mock, sd_event_set_watchdog(expected_event, 1)) + .WillOnce(Return(2)); + EXPECT_EQ(2, event->set_watchdog(1)); +} + +TEST_F(EventMethodTest, SetWatchdogError) +{ + EXPECT_CALL(mock, sd_event_set_watchdog(expected_event, 1)) + .WillOnce(Return(-EINVAL)); + EXPECT_THROW(event->set_watchdog(1), SdEventError); } } // namespace |

