summaryrefslogtreecommitdiffstats
path: root/test/internal
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-11-13 14:28:36 -0800
committerWilliam A. Kennington III <wak@google.com>2019-03-29 14:18:57 -0700
commite04cb03ba08f61f9d07e61764fee545c55f62f35 (patch)
treeba8268d32a2241599e00337e64e8447a90b9dd1c /test/internal
parent127f3214693e4b6af2245a0de9845b4184747fb4 (diff)
downloadsdeventplus-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.cpp235
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
OpenPOWER on IntegriCloud