@@ -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