Skip to content

Commit 61e9710

Browse files
committed
test: Add Survivability test with additional module api's check
Related-To: VLCLJ-2436 Signed-off-by: Raman, Sudharsan <[email protected]>
1 parent 9d45ea4 commit 61e9710

File tree

1 file changed

+67
-10
lines changed

1 file changed

+67
-10
lines changed

conformance_tests/sysman/test_sysman_init/src/test_init_sysman_survivability_mode.cpp

Lines changed: 67 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,94 @@
1515
#include <level_zero/zes_api.h>
1616

1717
namespace {
18-
19-
TEST(SysmanInitTests,
18+
19+
TEST(
20+
SysmanInitTests,
2021
GivenSuccessfulSysmanInitWhenzesDeviceGetReturnsValidDevicesThenSurvivabilityModeIsOffIsDetected) {
2122

22-
//Initialize Sysman and get devices
2323
ze_result_t result = zesInit(0);
2424
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
2525
uint32_t zes_driver_count = 0;
2626
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&zes_driver_count, nullptr));
2727
EXPECT_GT(zes_driver_count, 0);
28-
28+
29+
std::vector<zes_driver_handle_t> drivers(zes_driver_count);
30+
result = zesDriverGet(&zes_driver_count, drivers.data());
31+
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
32+
33+
for (auto driver : drivers) {
34+
uint32_t device_count = 0;
35+
result = zesDeviceGet(driver, &device_count, nullptr);
36+
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
37+
ASSERT_GT(device_count, 0);
38+
39+
std::vector<zes_device_handle_t> devices(device_count);
40+
result = zesDeviceGet(driver, &device_count, devices.data());
41+
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
42+
43+
for (auto device : devices) {
44+
zes_device_properties_t properties = {
45+
ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES, nullptr};
46+
result = zesDeviceGetProperties(device, &properties);
47+
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
48+
}
49+
}
50+
}
51+
52+
TEST(
53+
SysmanInitTests,
54+
GivenSysmanInitWhenzesDeviceGetPropertiesReturnsSurvivabilityDetectedErrorThenOnlyFormwareAPIsSucceed) {
55+
56+
ze_result_t result = zesInit(0);
57+
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
58+
uint32_t zes_driver_count = 0;
59+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&zes_driver_count, nullptr));
60+
EXPECT_GT(zes_driver_count, 0);
2961
std::vector<zes_driver_handle_t> drivers(zes_driver_count);
3062
result = zesDriverGet(&zes_driver_count, drivers.data());
3163
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
32-
64+
3365
for (auto driver : drivers) {
3466
uint32_t device_count = 0;
3567
result = zesDeviceGet(driver, &device_count, nullptr);
3668
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
3769
ASSERT_GT(device_count, 0);
38-
70+
3971
std::vector<zes_device_handle_t> devices(device_count);
4072
result = zesDeviceGet(driver, &device_count, devices.data());
4173
ASSERT_EQ(result, ZE_RESULT_SUCCESS);
42-
74+
4375
for (auto device : devices) {
44-
// Check that zesDeviceGetProperties is successful for all device handles
45-
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES
46-
, nullptr};
76+
zes_device_properties_t properties = {
77+
ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES, nullptr};
4778
result = zesDeviceGetProperties(device, &properties);
4879
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
80+
81+
uint32_t temp_count = 0;
82+
temp_count = lzt::get_temp_handle_count(device);
83+
if (temp_count == 0) {
84+
FAIL() << "No handles found: "
85+
<< _ze_result_t(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
86+
}
87+
88+
uint32_t standby_count = 0;
89+
auto p_standby_handles = lzt::get_standby_handles(device, standby_count);
90+
for (auto p_standby_handle : p_standby_handles) {
91+
EXPECT_NE(nullptr, p_standby_handle);
92+
}
93+
94+
uint32_t count = 0;
95+
count = lzt::get_firmware_handle_count(device);
96+
if (count == 0) {
97+
FAIL() << "No handles found: "
98+
<< _ze_result_t(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
99+
}
100+
101+
auto firmware_handles = lzt::get_firmware_handles(device, count);
102+
if (count == 0) {
103+
FAIL() << "No handles found: "
104+
<< _ze_result_t(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
105+
}
49106
}
50107
}
51108
}

0 commit comments

Comments
 (0)