diff options
| author | William A. Kennington III <wak@google.com> | 2018-11-13 14:28:36 -0800 |
|---|---|---|
| committer | William A. Kennington III <wak@google.com> | 2019-03-29 14:18:57 -0700 |
| commit | e04cb03ba08f61f9d07e61764fee545c55f62f35 (patch) | |
| tree | ba8268d32a2241599e00337e64e8447a90b9dd1c /test/internal | |
| parent | 127f3214693e4b6af2245a0de9845b4184747fb4 (diff) | |
| download | sdeventplus-e04cb03ba08f61f9d07e61764fee545c55f62f35.tar.gz sdeventplus-e04cb03ba08f61f9d07e61764fee545c55f62f35.zip | |
internal/sdref: Remove in favor of stdplus/handle
We no longer need to roll our own managed handle type now that stdplus
implements a generic one.
Tested:
Built and run through unit tests.
Change-Id: Id34cd8d3ffacf7901d49cac335fa93f744f0e310
Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'test/internal')
| -rw-r--r-- | test/internal/sdref.cpp | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/test/internal/sdref.cpp b/test/internal/sdref.cpp deleted file mode 100644 index e8effa9..0000000 --- a/test/internal/sdref.cpp +++ /dev/null @@ -1,235 +0,0 @@ -#include <gmock/gmock.h> -#include <gtest/gtest.h> -#include <sdeventplus/internal/sdref.hpp> -#include <sdeventplus/test/sdevent.hpp> -#include <systemd/sd-event.h> -#include <type_traits> -#include <utility> - -namespace sdeventplus -{ -namespace internal -{ -namespace -{ - -class SdRefTest : public testing::Test -{ - protected: - sd_event* const expected_event = reinterpret_cast<sd_event*>(1234); - sd_event* const expected_event2 = reinterpret_cast<sd_event*>(2345); - testing::StrictMock<test::SdEventMock> mock; - testing::StrictMock<test::SdEventMock> mock2; -}; - -TEST_F(SdRefTest, ConstructRef) -{ - EXPECT_CALL(mock, sd_event_ref(expected_event)) - .WillOnce(testing::Return(expected_event)); - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, ConstructNoRef) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, CopyConstruct) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - - EXPECT_CALL(mock, sd_event_ref(expected_event)) - .WillOnce(testing::Return(expected_event)); - SdRef<sd_event> event2(event); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .Times(2) - .WillRepeatedly(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, MoveConstruct) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - - SdRef<sd_event> event2(std::move(event)); - EXPECT_FALSE(event); - EXPECT_EQ(nullptr, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, CopyAssignOverValid) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - SdRef<sd_event> event2(expected_event2, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock2); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event2, event2.get()); - - EXPECT_CALL(mock2, sd_event_unref(expected_event2)) - .WillOnce(testing::Return(nullptr)); - EXPECT_CALL(mock, sd_event_ref(expected_event)) - .WillOnce(testing::Return(expected_event)); - event2 = event; - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .Times(2) - .WillRepeatedly(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, CopyAssignOverMoved) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - SdRef<sd_event> event2(expected_event2, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock2); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event2, event2.get()); - { - SdRef<sd_event> event_mover(std::move(event2)); - EXPECT_FALSE(event2); - EXPECT_EQ(nullptr, event2.get()); - EXPECT_TRUE(event_mover); - EXPECT_EQ(expected_event2, event_mover.get()); - - EXPECT_CALL(mock2, sd_event_unref(expected_event2)) - .WillOnce(testing::Return(nullptr)); - } - - EXPECT_CALL(mock, sd_event_ref(expected_event)) - .WillOnce(testing::Return(expected_event)); - event2 = event; - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .Times(2) - .WillRepeatedly(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, CopySelf) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - - event = event; - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, MoveAssignOverValid) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - SdRef<sd_event> event2(expected_event2, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock2); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event2, event2.get()); - - EXPECT_CALL(mock2, sd_event_unref(expected_event2)) - .WillOnce(testing::Return(nullptr)); - event2 = std::move(event); - EXPECT_FALSE(event); - EXPECT_EQ(nullptr, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, MoveAssignOverMoved) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_EQ(expected_event, event.get()); - SdRef<sd_event> event2(expected_event2, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock2); - EXPECT_EQ(expected_event2, event2.get()); - { - SdRef<sd_event> event_mover(std::move(event2)); - EXPECT_FALSE(event2); - EXPECT_EQ(nullptr, event2.get()); - EXPECT_TRUE(event_mover); - EXPECT_EQ(expected_event2, event_mover.get()); - - EXPECT_CALL(mock2, sd_event_unref(expected_event2)) - .WillOnce(testing::Return(nullptr)); - } - - event2 = std::move(event); - EXPECT_FALSE(event); - EXPECT_EQ(nullptr, event.get()); - EXPECT_TRUE(event2); - EXPECT_EQ(expected_event, event2.get()); - - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -TEST_F(SdRefTest, MoveSelf) -{ - SdRef<sd_event> event(expected_event, &SdEvent::sd_event_ref, - &SdEvent::sd_event_unref, std::false_type(), &mock); - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wself-move" -#endif - event = std::move(event); -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - EXPECT_TRUE(event); - EXPECT_EQ(expected_event, event.get()); - EXPECT_CALL(mock, sd_event_unref(expected_event)) - .WillOnce(testing::Return(nullptr)); -} - -} // namespace -} // namespace internal -} // namespace sdeventplus |

