Skip to content

Commit fd7421e

Browse files
Jaime ArteagaCompute-Runtime-Automation
authored andcommitted
Add some event ULTs
Signed-off-by: Jaime Arteaga <[email protected]>
1 parent ef3678e commit fd7421e

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

level_zero/core/test/unit_tests/sources/event/test_event.cpp

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,5 +522,88 @@ TEST_F(EventPoolCreateNegativeTest, whenInitializingEventPoolButMemoryManagerFai
522522
delete[] devices;
523523
}
524524

525+
class EventTests : public DeviceFixture,
526+
public testing::Test {
527+
public:
528+
void SetUp() override {
529+
DeviceFixture::SetUp();
530+
531+
auto hDevice = device->toHandle();
532+
eventPool = whitebox_cast(EventPool::create(device->getDriverHandle(), 1, &hDevice, &eventPoolDesc));
533+
}
534+
535+
void TearDown() override {
536+
eventPool->destroy();
537+
538+
DeviceFixture::TearDown();
539+
}
540+
541+
ze_event_pool_desc_t eventPoolDesc = {
542+
ZE_STRUCTURE_TYPE_EVENT_POOL_DESC,
543+
nullptr,
544+
ZE_EVENT_POOL_FLAG_HOST_VISIBLE,
545+
4};
546+
547+
ze_event_desc_t eventDesc = {};
548+
EventPool *eventPool;
549+
};
550+
551+
TEST_F(EventTests, WhenQueryingStatusThenSuccessIsReturned) {
552+
auto event = whitebox_cast(Event::create(eventPool, &eventDesc, device));
553+
ASSERT_NE(event, nullptr);
554+
555+
auto result = event->hostSignal();
556+
ASSERT_EQ(ZE_RESULT_SUCCESS, result);
557+
558+
EXPECT_EQ(event->queryStatus(), ZE_RESULT_SUCCESS);
559+
560+
event->destroy();
561+
}
562+
563+
TEST_F(EventTests, GivenResetWhenQueryingStatusThenNotReadyIsReturned) {
564+
auto event = whitebox_cast(Event::create(eventPool, &eventDesc, device));
565+
ASSERT_NE(event, nullptr);
566+
567+
auto result = event->hostSignal();
568+
ASSERT_EQ(ZE_RESULT_SUCCESS, result);
569+
570+
result = event->reset();
571+
ASSERT_EQ(ZE_RESULT_SUCCESS, result);
572+
573+
EXPECT_EQ(event->queryStatus(), ZE_RESULT_NOT_READY);
574+
575+
event->destroy();
576+
}
577+
578+
TEST_F(EventTests, WhenDestroyingAnEventThenSuccessIsReturned) {
579+
auto event = whitebox_cast(Event::create(eventPool, &eventDesc, device));
580+
ASSERT_NE(event, nullptr);
581+
582+
auto result = event->destroy();
583+
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
584+
}
585+
586+
TEST_F(EventTests, givenTwoEventsCreatedThenTheyHaveDifferentAddresses) {
587+
ze_event_desc_t eventDesc0 = {};
588+
eventDesc0.index = 0;
589+
eventDesc.index = 0;
590+
591+
ze_event_desc_t eventDesc1 = {};
592+
eventDesc1.index = 1;
593+
eventDesc.index = 1;
594+
595+
auto event0 = whitebox_cast(Event::create(eventPool, &eventDesc0, device));
596+
ASSERT_NE(event0, nullptr);
597+
598+
auto event1 = whitebox_cast(Event::create(eventPool, &eventDesc1, device));
599+
ASSERT_NE(event1, nullptr);
600+
601+
EXPECT_NE(event0->hostAddress, event1->hostAddress);
602+
EXPECT_NE(event0->gpuAddress, event1->gpuAddress);
603+
604+
event0->destroy();
605+
event1->destroy();
606+
}
607+
525608
} // namespace ult
526609
} // namespace L0

0 commit comments

Comments
 (0)