Lines Matching +full:base +full:- +full:event
1 #include <systemd/sd-event.h>
3 #include <sdeventplus/event.hpp>
6 #include <sdeventplus/source/base.hpp>
34 using UniqueEvent = std::unique_ptr<Event, std::function<void(Event*)>>;
38 class BaseImpl : public Base
41 BaseImpl(const Event& event, sd_event_source* source, std::false_type);
44 Base(other, sdeventplus::internal::NoOwn()) in BaseImpl()
47 using Base::get_prepare;
53 BaseImplData(const BaseImpl& base) : in BaseImplData() argument
54 BaseImpl(base, sdeventplus::internal::NoOwn()), BaseData(base) in BaseImplData()
58 BaseImpl::BaseImpl(const Event& event, sd_event_source* source, in BaseImpl() argument
59 std::false_type) : Base(event, source, std::false_type()) in BaseImpl()
75 UniqueEvent event = make_event(expected_event); member in sdeventplus::source::__anon6c3f73390111::BaseTest
77 UniqueEvent make_event(sd_event* event) in make_event() argument
79 auto deleter = [this, event](Event* e) { in make_event()
80 EXPECT_CALL(this->mock, sd_event_unref(event)) in make_event()
84 return UniqueEvent(new Event(event, std::false_type(), &mock), deleter); in make_event()
90 make_base(const Event& event, sd_event_source* source) in make_base() argument
92 EXPECT_CALL(mock, sd_event_ref(event.get())) in make_base()
93 .WillOnce(Return(event.get())); in make_base()
104 auto ret = std::make_unique<BaseImpl>(event, source, std::false_type()); in make_base()
108 EXPECT_EQ(source, ret->get()); in make_base()
109 EXPECT_NE(&event, &ret->get_event()); in make_base()
110 EXPECT_EQ(event.get(), ret->get_event().get()); in make_base()
111 EXPECT_FALSE(ret->get_prepare()); in make_base()
115 void set_prepare_placeholder(BaseImpl& base) in set_prepare_placeholder() argument
117 EXPECT_CALL(mock, sd_event_source_set_prepare(base.get(), testing::_)) in set_prepare_placeholder()
119 base.set_prepare([](Base&) {}); in set_prepare_placeholder() argument
120 EXPECT_TRUE(base.get_prepare()); in set_prepare_placeholder()
133 void expect_base_destruct(const Event& event, sd_event_source* source) in expect_base_destruct() argument
137 EXPECT_CALL(mock, sd_event_unref(event.get())) in expect_base_destruct()
148 .WillOnce(Return(-EINVAL)); in TEST_F()
149 expect_base_destruct(*event, expected_source); in TEST_F()
150 EXPECT_THROW(BaseImpl(*event, expected_source, std::false_type()), in TEST_F()
169 BaseImpl source(*event, expected_source, std::false_type()); in TEST_F()
172 EXPECT_NE(event.get(), &source.get_event()); in TEST_F()
179 expect_base_destruct(*event, expected_source); in TEST_F()
199 std::make_unique<BaseImpl>(*event, expected_source, std::false_type()); in TEST_F()
202 EXPECT_FALSE(source->get_prepare()); in TEST_F()
204 expect_base_destruct(*event, expected_source); in TEST_F()
206 EXPECT_FALSE(reinterpret_cast<BaseImpl*>(userdata)->get_prepare()); in TEST_F()
214 std::tie(base1, destroy) = make_base(*event, expected_source); in TEST_F()
216 EXPECT_TRUE(base1->get_prepare()); in TEST_F()
223 EXPECT_EQ(&base1->get_prepare(), &base2->get_prepare()); in TEST_F()
226 EXPECT_THROW(base1->get_prepare(), std::bad_optional_access); in TEST_F()
232 EXPECT_EQ(&base1->get_prepare(), &base2->get_prepare()); in TEST_F()
234 expect_base_destruct(*event, expected_source); in TEST_F()
236 expect_base_destruct(*event, expected_source); in TEST_F()
244 std::unique_ptr<BaseImpl> base; member in sdeventplus::source::__anon6c3f73390111::BaseMethodTest
249 std::tie(base, destroy) = make_base(*event, expected_source); in SetUp()
254 expect_base_destruct(base->get_event(), base->get()); in TearDown()
255 base.reset(); in TearDown()
267 EXPECT_EQ(expected, base->get_description()); in TEST_F()
274 .WillOnce(Return(-EINVAL)); in TEST_F()
275 EXPECT_THROW(base->get_description(), SdEventError); in TEST_F()
285 base->set_description(expected); in TEST_F()
294 .WillOnce(Return(-EINVAL)); in TEST_F()
295 EXPECT_THROW(base->set_description(expected), SdEventError); in TEST_F()
301 Base::Callback callback = [&completed](Base&) { completed = true; }; in TEST_F() argument
305 base->set_prepare(std::move(callback)); in TEST_F()
306 EXPECT_TRUE(base->get_prepare()); in TEST_F()
310 EXPECT_EQ(0, event_handler(nullptr, base.get())); in TEST_F()
316 Base::Callback callback = [](Base&) {}; in TEST_F() argument
320 base->set_prepare(std::move(callback)); in TEST_F()
321 EXPECT_TRUE(base->get_prepare()); in TEST_F()
324 EXPECT_EQ(-EINVAL, event_handler(nullptr, nullptr)); in TEST_F()
331 base->set_prepare([](Base&) {}); in TEST_F() argument
332 EXPECT_TRUE(base->get_prepare()); in TEST_F()
334 Base::Callback callback = [](Base&) {}; in TEST_F() argument
336 .WillOnce(Return(-EINVAL)); in TEST_F()
337 EXPECT_THROW(base->set_prepare(std::move(callback)), SdEventError); in TEST_F()
338 EXPECT_FALSE(base->get_prepare()); in TEST_F()
346 base->set_prepare([](Base&) {}); in TEST_F() argument
347 EXPECT_TRUE(base->get_prepare()); in TEST_F()
351 base->set_prepare(nullptr); in TEST_F()
352 EXPECT_FALSE(base->get_prepare()); in TEST_F()
359 EXPECT_FALSE(base->get_pending()); in TEST_F()
362 EXPECT_TRUE(base->get_pending()); in TEST_F()
368 .WillOnce(Return(-EINVAL)); in TEST_F()
369 EXPECT_THROW(base->get_pending(), SdEventError); in TEST_F()
376 EXPECT_EQ(1024, base->get_priority()); in TEST_F()
382 .WillOnce(Return(-EINVAL)); in TEST_F()
383 EXPECT_THROW(base->get_priority(), SdEventError); in TEST_F()
390 base->set_priority(1024); in TEST_F()
396 .WillOnce(Return(-EINVAL)); in TEST_F()
397 EXPECT_THROW(base->set_priority(1024), SdEventError); in TEST_F()
404 EXPECT_EQ(Enabled::On, base->get_enabled()); in TEST_F()
410 .WillOnce(Return(-EINVAL)); in TEST_F()
411 EXPECT_THROW(base->get_enabled(), SdEventError); in TEST_F()
418 base->set_enabled(Enabled::On); in TEST_F()
425 .WillOnce(Return(-EINVAL)); in TEST_F()
426 EXPECT_THROW(base->set_enabled(Enabled::OneShot), SdEventError); in TEST_F()
433 EXPECT_TRUE(base->get_floating()); in TEST_F()
436 EXPECT_FALSE(base->get_floating()); in TEST_F()
442 .WillOnce(Return(-EINVAL)); in TEST_F()
443 EXPECT_THROW(base->get_floating(), SdEventError); in TEST_F()
450 base->set_floating(true); in TEST_F()
456 .WillOnce(Return(-EINVAL)); in TEST_F()
457 EXPECT_THROW(base->set_floating(true), SdEventError); in TEST_F()