Skip to content

Commit a2174e3

Browse files
committed
Update ProgramGetInfo test for PROGRAM_INFO_BINARIES
1 parent a2a1078 commit a2174e3

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
urProgramGetFunctionPointerTest.InvalidFunctionName/Intel_R__OpenCL___{{.*}}_
22
urProgramGetInfoTest.Success/Intel_R__OpenCL___{{.*}}___UR_PROGRAM_INFO_SOURCE
3-
urProgramGetInfoTest.Success/Intel_R__OpenCL___{{.*}}___UR_PROGRAM_INFO_BINARIES

test/conformance/program/urProgramGetInfo.cpp

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,31 @@ UUR_TEST_SUITE_P(
2525

2626
TEST_P(urProgramGetInfoTest, Success) {
2727
auto property_name = getParam();
28-
size_t property_size = 0;
2928
std::vector<char> property_value;
30-
ASSERT_SUCCESS(
31-
urProgramGetInfo(program, property_name, 0, nullptr, &property_size));
32-
property_value.resize(property_size);
33-
ASSERT_SUCCESS(urProgramGetInfo(program, property_name, property_size,
34-
property_value.data(), nullptr));
29+
if (property_name == UR_PROGRAM_INFO_BINARIES) {
30+
size_t binary_sizes_len = 0;
31+
ASSERT_SUCCESS(urProgramGetInfo(program, UR_PROGRAM_INFO_BINARY_SIZES,
32+
0, nullptr, &binary_sizes_len));
33+
// Due to how the fixtures + env are set up we should only have one
34+
// device associated with program, so one binary.
35+
ASSERT_EQ(binary_sizes_len / sizeof(size_t), 1);
36+
size_t binary_sizes[1] = {binary_sizes_len};
37+
ASSERT_SUCCESS(urProgramGetInfo(program, UR_PROGRAM_INFO_BINARY_SIZES,
38+
binary_sizes_len, binary_sizes,
39+
nullptr));
40+
std::vector<char> binary(binary_sizes[0]);
41+
char *binaries[1] = {binary.data()};
42+
ASSERT_SUCCESS(urProgramGetInfo(program, UR_PROGRAM_INFO_BINARIES,
43+
sizeof(binaries[0]), binaries,
44+
nullptr));
45+
} else {
46+
size_t property_size = 0;
47+
ASSERT_SUCCESS(urProgramGetInfo(program, property_name, 0, nullptr,
48+
&property_size));
49+
property_value.resize(property_size);
50+
ASSERT_SUCCESS(urProgramGetInfo(program, property_name, property_size,
51+
property_value.data(), nullptr));
52+
}
3553
}
3654

3755
TEST_P(urProgramGetInfoTest, InvalidNullHandleProgram) {

0 commit comments

Comments
 (0)