@@ -215,3 +215,41 @@ TEST_P(urEventGetProfilingInfoForWaitWithBarrier, Success) {
215215
216216 ASSERT_GE (complete_value, submit_value);
217217}
218+
219+ struct urEventGetProfilingInfoInvalidQueue : uur::urQueueTest {
220+ void SetUp () override {
221+ UUR_RETURN_ON_FATAL_FAILURE (urQueueTest::SetUp ());
222+ ASSERT_SUCCESS (urMemBufferCreate (context, UR_MEM_FLAG_WRITE_ONLY, size,
223+ nullptr , &buffer));
224+
225+ input.assign (count, 42 );
226+ ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, false , 0 , size,
227+ input.data (), 0 , nullptr , &event));
228+ ASSERT_SUCCESS (urEventWait (1 , &event));
229+ }
230+
231+ void TearDown () override {
232+ if (buffer) {
233+ EXPECT_SUCCESS (urMemRelease (buffer));
234+ }
235+ UUR_RETURN_ON_FATAL_FAILURE (urQueueTest::TearDown ());
236+ };
237+
238+ const size_t count = 1024 ;
239+ const size_t size = sizeof (uint32_t ) * count;
240+ ur_mem_handle_t buffer = nullptr ;
241+ ur_event_handle_t event = nullptr ;
242+ std::vector<uint32_t > input;
243+ };
244+
245+ UUR_INSTANTIATE_DEVICE_TEST_SUITE (urEventGetProfilingInfoInvalidQueue);
246+
247+ TEST_P (urEventGetProfilingInfoInvalidQueue, ProfilingInfoNotAvailable) {
248+ UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
249+
250+ const ur_profiling_info_t property_name = UR_PROFILING_INFO_COMMAND_QUEUED;
251+ size_t property_size;
252+ ASSERT_EQ_RESULT (
253+ urEventGetProfilingInfo (event, property_name, 0 , nullptr , &property_size),
254+ UR_RESULT_ERROR_PROFILING_INFO_NOT_AVAILABLE);
255+ }
0 commit comments