@@ -22,48 +22,55 @@ TEST_P(urKernelGetInfoTest, Success) {
2222 auto property_name = getParam ();
2323 size_t property_size = 0 ;
2424 std::vector<char > property_value;
25- ASSERT_SUCCESS (
26- urKernelGetInfo (kernel, property_name, 0 , nullptr , &property_size)) ;
25+ ur_result_t result =
26+ urKernelGetInfo (kernel, property_name, 0 , nullptr , &property_size);
2727 property_value.resize (property_size);
28- ASSERT_SUCCESS (urKernelGetInfo (kernel, property_name, property_size,
29- property_value.data (), nullptr ));
30- switch (property_name) {
31- case UR_KERNEL_INFO_CONTEXT: {
32- auto returned_context =
33- reinterpret_cast <ur_context_handle_t *>(property_value.data ());
34- ASSERT_EQ (context, *returned_context);
35- break ;
36- }
37- case UR_KERNEL_INFO_PROGRAM: {
38- auto returned_program =
39- reinterpret_cast <ur_program_handle_t *>(property_value.data ());
40- ASSERT_EQ (program, *returned_program);
41- break ;
42- }
43- case UR_KERNEL_INFO_REFERENCE_COUNT: {
44- auto returned_reference_count =
45- reinterpret_cast <uint32_t *>(property_value.data ());
46- ASSERT_GT (*returned_reference_count, 0U );
47- break ;
48- }
49- case UR_KERNEL_INFO_ATTRIBUTES: {
50- auto returned_attributes = std::string (property_value.data ());
51- ur_platform_backend_t backend;
52- ASSERT_SUCCESS (urPlatformGetInfo (platform, UR_PLATFORM_INFO_BACKEND,
53- sizeof (backend), &backend, nullptr ));
54- if (backend == UR_PLATFORM_BACKEND_OPENCL ||
55- backend == UR_PLATFORM_BACKEND_LEVEL_ZERO) {
56- // Older intel drivers don't attach any default attributes and newer ones force walk order to X/Y/Z using special attribute.
57- ASSERT_TRUE (returned_attributes.empty () ||
58- returned_attributes ==
59- " intel_reqd_workgroup_walk_order(0,1,2)" );
60- } else {
61- ASSERT_TRUE (returned_attributes.empty ());
28+
29+ if (result == UR_RESULT_SUCCESS) {
30+ ASSERT_SUCCESS (urKernelGetInfo (kernel, property_name, property_size,
31+ property_value.data (), nullptr ));
32+
33+ switch (property_name) {
34+ case UR_KERNEL_INFO_CONTEXT: {
35+ auto returned_context =
36+ reinterpret_cast <ur_context_handle_t *>(property_value.data ());
37+ ASSERT_EQ (context, *returned_context);
38+ break ;
6239 }
63- break ;
64- }
65- default :
66- break ;
40+ case UR_KERNEL_INFO_PROGRAM: {
41+ auto returned_program =
42+ reinterpret_cast <ur_program_handle_t *>(property_value.data ());
43+ ASSERT_EQ (program, *returned_program);
44+ break ;
45+ }
46+ case UR_KERNEL_INFO_REFERENCE_COUNT: {
47+ auto returned_reference_count =
48+ reinterpret_cast <uint32_t *>(property_value.data ());
49+ ASSERT_GT (*returned_reference_count, 0U );
50+ break ;
51+ }
52+ case UR_KERNEL_INFO_ATTRIBUTES: {
53+ auto returned_attributes = std::string (property_value.data ());
54+ ur_platform_backend_t backend;
55+ ASSERT_SUCCESS (urPlatformGetInfo (platform, UR_PLATFORM_INFO_BACKEND,
56+ sizeof (backend), &backend,
57+ nullptr ));
58+ if (backend == UR_PLATFORM_BACKEND_OPENCL ||
59+ backend == UR_PLATFORM_BACKEND_LEVEL_ZERO) {
60+ // Older intel drivers don't attach any default attributes and newer ones force walk order to X/Y/Z using special attribute.
61+ ASSERT_TRUE (returned_attributes.empty () ||
62+ returned_attributes ==
63+ " intel_reqd_workgroup_walk_order(0,1,2)" );
64+ } else {
65+ ASSERT_TRUE (returned_attributes.empty ());
66+ }
67+ break ;
68+ }
69+ default :
70+ break ;
71+ }
72+ } else {
73+ UUR_ASSERT_SUCCESS_OR_UNSUPPORTED (result);
6774 }
6875}
6976
0 commit comments