|
4 | 4 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
5 | 5 | #include <uur/fixtures.h> |
6 | 6 |
|
7 | | -using urPhysicalMemGetInfoWithFlagsParamTest = |
8 | | - uur::urPhysicalMemTestWithParam<ur_physical_mem_info_t>; |
9 | | -UUR_TEST_SUITE_P(urPhysicalMemGetInfoWithFlagsParamTest, |
10 | | - ::testing::Values(UR_PHYSICAL_MEM_INFO_REFERENCE_COUNT), |
11 | | - uur::deviceTestWithParamPrinter<ur_physical_mem_info_t>); |
| 7 | +using urPhysicalMemGetInfoTest = uur::urPhysicalMemTest; |
| 8 | +UUR_INSTANTIATE_DEVICE_TEST_SUITE_P(urPhysicalMemGetInfoTest); |
12 | 9 |
|
13 | | -TEST_P(urPhysicalMemGetInfoWithFlagsParamTest, Success) { |
| 10 | +TEST_P(urPhysicalMemGetInfoTest, Context) { |
14 | 11 | size_t info_size = 0; |
15 | | - ur_physical_mem_info_t info = getParam(); |
16 | | - ASSERT_SUCCESS( |
17 | | - urPhysicalMemGetInfo(physical_mem, info, 0, nullptr, &info_size)); |
| 12 | + |
| 13 | + ASSERT_SUCCESS(urPhysicalMemGetInfo( |
| 14 | + physical_mem, UR_PHYSICAL_MEM_INFO_CONTEXT, 0, nullptr, &info_size)); |
| 15 | + ASSERT_NE(info_size, 0); |
| 16 | + |
| 17 | + std::vector<uint8_t> data(info_size); |
| 18 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, |
| 19 | + UR_PHYSICAL_MEM_INFO_CONTEXT, |
| 20 | + data.size(), data.data(), nullptr)); |
| 21 | + |
| 22 | + auto returned_context = |
| 23 | + reinterpret_cast<ur_context_handle_t *>(data.data()); |
| 24 | + ASSERT_EQ(context, *returned_context); |
| 25 | +} |
| 26 | + |
| 27 | +TEST_P(urPhysicalMemGetInfoTest, Device) { |
| 28 | + size_t info_size = 0; |
| 29 | + |
| 30 | + ASSERT_SUCCESS(urPhysicalMemGetInfo( |
| 31 | + physical_mem, UR_PHYSICAL_MEM_INFO_DEVICE, 0, nullptr, &info_size)); |
| 32 | + ASSERT_NE(info_size, 0); |
| 33 | + |
| 34 | + std::vector<uint8_t> data(info_size); |
| 35 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, |
| 36 | + UR_PHYSICAL_MEM_INFO_DEVICE, |
| 37 | + data.size(), data.data(), nullptr)); |
| 38 | + |
| 39 | + auto returned_device = reinterpret_cast<ur_device_handle_t *>(data.data()); |
| 40 | + ASSERT_EQ(device, *returned_device); |
| 41 | +} |
| 42 | + |
| 43 | +TEST_P(urPhysicalMemGetInfoTest, Size) { |
| 44 | + size_t info_size = 0; |
| 45 | + |
| 46 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, UR_PHYSICAL_MEM_INFO_SIZE, |
| 47 | + 0, nullptr, &info_size)); |
18 | 48 | ASSERT_NE(info_size, 0); |
19 | 49 |
|
20 | 50 | std::vector<uint8_t> data(info_size); |
21 | | - ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, info, data.size(), |
22 | | - data.data(), nullptr)); |
23 | | - |
24 | | - switch (info) { |
25 | | - case UR_PHYSICAL_MEM_INFO_REFERENCE_COUNT: { |
26 | | - const size_t ReferenceCount = |
27 | | - *reinterpret_cast<const uint32_t *>(data.data()); |
28 | | - ASSERT_EQ(ReferenceCount, 1); |
29 | | - } break; |
30 | | - |
31 | | - default: |
32 | | - FAIL() << "Unhandled ur_physical_mem_info_t enumeration: " << info; |
33 | | - break; |
34 | | - } |
| 51 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, UR_PHYSICAL_MEM_INFO_SIZE, |
| 52 | + data.size(), data.data(), nullptr)); |
| 53 | + |
| 54 | + auto returned_size = reinterpret_cast<size_t *>(data.data()); |
| 55 | + ASSERT_EQ(size, *returned_size); |
| 56 | +} |
| 57 | + |
| 58 | +TEST_P(urPhysicalMemGetInfoTest, Properties) { |
| 59 | + size_t info_size = 0; |
| 60 | + |
| 61 | + ASSERT_SUCCESS(urPhysicalMemGetInfo( |
| 62 | + physical_mem, UR_PHYSICAL_MEM_INFO_PROPERTIES, 0, nullptr, &info_size)); |
| 63 | + ASSERT_NE(info_size, 0); |
| 64 | + |
| 65 | + std::vector<uint8_t> data(info_size); |
| 66 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, |
| 67 | + UR_PHYSICAL_MEM_INFO_PROPERTIES, |
| 68 | + data.size(), data.data(), nullptr)); |
| 69 | + |
| 70 | + auto returned_properties = |
| 71 | + reinterpret_cast<ur_physical_mem_properties_t *>(data.data()); |
| 72 | + ASSERT_EQ(properties.stype, returned_properties->stype); |
| 73 | + ASSERT_EQ(properties.pNext, returned_properties->pNext); |
| 74 | + ASSERT_EQ(properties.flags, returned_properties->flags); |
| 75 | +} |
| 76 | + |
| 77 | +TEST_P(urPhysicalMemGetInfoTest, ReferenceCount) { |
| 78 | + size_t info_size = 0; |
| 79 | + |
| 80 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, |
| 81 | + UR_PHYSICAL_MEM_INFO_REFERENCE_COUNT, 0, |
| 82 | + nullptr, &info_size)); |
| 83 | + ASSERT_NE(info_size, 0); |
| 84 | + |
| 85 | + std::vector<uint8_t> data(info_size); |
| 86 | + ASSERT_SUCCESS(urPhysicalMemGetInfo(physical_mem, |
| 87 | + UR_PHYSICAL_MEM_INFO_REFERENCE_COUNT, |
| 88 | + data.size(), data.data(), nullptr)); |
| 89 | + |
| 90 | + const size_t ReferenceCount = |
| 91 | + *reinterpret_cast<const uint32_t *>(data.data()); |
| 92 | + ASSERT_EQ(ReferenceCount, 1); |
35 | 93 | } |
0 commit comments