Make rsmitst tests fail quickly if rsmi_init fails

Change-Id: I7b5d94b77305b30e08f33e1ddb6e2f089db0431f


[ROCm/rocm_smi_lib commit: d9ab846bee]
このコミットが含まれているのは:
Chris Freehill
2020-03-11 12:13:28 -05:00
コミット 06149e94bb
27個のファイルの変更109行の追加3行の削除
+4
ファイルの表示
@@ -89,6 +89,10 @@ void TestAPISupportRead::Run(void) {
rsmi_status_t err;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
rsmi_func_id_iter_handle_t iter_handle, var_iter, sub_var_iter;
rsmi_func_id_value_t value;
+4
ファイルの表示
@@ -89,6 +89,10 @@ void TestErrCntRead::Run(void) {
rsmi_ras_err_state_t err_state;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4 -1
ファイルの表示
@@ -90,7 +90,10 @@ void TestFanRead::Run(void) {
int64_t val_i64;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -92,6 +92,10 @@ void TestFanReadWrite::Run(void) {
uint64_t max_speed;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4 -1
ファイルの表示
@@ -108,7 +108,10 @@ void TestFrequenciesRead::Run(void) {
rsmi_pcie_bandwidth_t b;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
auto freq_output = [&](rsmi_clk_type_t t, const char *name) {
+4
ファイルの表示
@@ -96,6 +96,10 @@ void TestFrequenciesReadWrite::Run(void) {
rsmi_clk_type rsmi_clk;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -90,6 +90,10 @@ void TestGPUBusyRead::Run(void) {
uint32_t val_ui32;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -93,6 +93,10 @@ void TestIdInfoRead::Run(void) {
char buffer[kBufferLen];
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
IF_VERB(STANDARD) {
+4
ファイルの表示
@@ -88,6 +88,10 @@ void TestMemPageInfoRead::Run(void) {
uint32_t num_pages;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -96,6 +96,10 @@ void TestMemUtilRead::Run(void) {
uint64_t usage;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
auto err_chk = [&](const char *str) {
if (err != RSMI_STATUS_SUCCESS) {
+4
ファイルの表示
@@ -90,6 +90,10 @@ void TestOverdriveRead::Run(void) {
uint32_t val_ui32;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -89,6 +89,10 @@ void TestOverdriveReadWrite::Run(void) {
uint32_t val;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -92,6 +92,10 @@ void TestPciReadWrite::Run(void) {
uint64_t sent, received, max_pkt_sz, u64int;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -302,6 +302,10 @@ TestPerfCntrReadWrite::testEventsSimultaneously(uint32_t dv_ind) {
void TestPerfCntrReadWrite::Run(void) {
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -90,6 +90,10 @@ void TestPerfLevelRead::Run(void) {
rsmi_dev_perf_level_t pfl;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -106,6 +106,10 @@ void TestPerfLevelReadWrite::Run(void) {
rsmi_dev_perf_level_t pfl, orig_pfl;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -92,6 +92,10 @@ void TestPowerCapReadWrite::Run(void) {
uint64_t orig, min, max, new_cap;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -90,6 +90,10 @@ void TestPowerRead::Run(void) {
uint64_t val_ui64, val2_ui64;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -114,6 +114,10 @@ void TestPowerReadWrite::Run(void) {
rsmi_power_profile_status_t status;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+4
ファイルの表示
@@ -97,6 +97,10 @@ void TestProcInfoRead::Run(void) {
rsmi_process_info_t *procs = nullptr;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
uint32_t num_devices;
err = rsmi_num_monitor_devices(&num_devices);
+4
ファイルの表示
@@ -93,6 +93,10 @@ void TestSysInfoRead::Run(void) {
rsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr};
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -97,6 +97,10 @@ void TestTempRead::Run(void) {
int64_t val_i64;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
uint32_t type;
+4
ファイルの表示
@@ -96,6 +96,10 @@ void TestVersionRead::Run(void) {
rsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr};
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
err = rsmi_version_get(&ver);
CHK_ERR_ASRT(err)
+4
ファイルの表示
@@ -149,6 +149,10 @@ void TestVoltCurvRead::Run(void) {
rsmi_od_volt_freq_data_t odv;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
+4
ファイルの表示
@@ -89,6 +89,10 @@ void TestXGMIReadWrite::Run(void) {
rsmi_xgmi_status_t err_stat;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
+8 -1
ファイルの表示
@@ -60,7 +60,7 @@ static const char kCloseLabel[] = "TEST CLEAN UP";
static const char kResultsLabel[] = "TEST RESULTS";
TestBase::TestBase() : description_("") {
TestBase::TestBase() : setup_failed_(false), description_("") {
}
TestBase::~TestBase() {
}
@@ -85,9 +85,15 @@ void TestBase::SetUp(void) {
printf("\n\t%s\n", label.c_str());
err = rsmi_init(init_options());
if (err != RSMI_STATUS_SUCCESS) {
setup_failed_ = true;
}
ASSERT_EQ(err, RSMI_STATUS_SUCCESS);
err = rsmi_num_monitor_devices(&num_monitor_devs_);
if (err != RSMI_STATUS_SUCCESS) {
setup_failed_ = true;
}
ASSERT_EQ(err, RSMI_STATUS_SUCCESS);
if (num_monitor_devs_ == 0) {
@@ -139,6 +145,7 @@ void TestBase::Run(void) {
std::string label;
MakeHeaderStr(kRunLabel, &label);
printf("\n\t%s\n", label.c_str());
ASSERT_TRUE(!setup_failed_);
}
void TestBase::Close(void) {
+1
ファイルの表示
@@ -108,6 +108,7 @@ class TestBase {
protected:
void PrintDeviceHeader(uint32_t dv_ind);
bool setup_failed_; ///< Record that setup failed to return ierr in Run
private:
uint32_t num_monitor_devs_; ///< Number of monitor devices found