diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/api_support_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/api_support_read.cc index 3a503de19f..fb3a902fef 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/api_support_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/api_support_read.cc @@ -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; diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/err_cnt_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/err_cnt_read.cc index 9b1a8b6e93..cddf1b019d 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/err_cnt_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/err_cnt_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read.cc index a370d98031..4470559e04 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read_write.cc index 2ad12a11ee..85924d3e6e 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/fan_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc index 959f789b0c..473a6a7dfe 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc @@ -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) { diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read_write.cc index 5eb8786be1..f80604d0fb 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_busy_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_busy_read.cc index 6055041455..1d72675b86 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_busy_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_busy_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/id_info_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/id_info_read.cc index dfd5426075..5c7eea1256 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/id_info_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/id_info_read.cc @@ -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) { diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_page_info_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_page_info_read.cc index fe1ed7c7c7..03929ea94d 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_page_info_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_page_info_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_util_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_util_read.cc index 6c076c52c5..0acb18113d 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_util_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/mem_util_read.cc @@ -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) { diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read.cc index d89d32741d..b3450d60fc 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read_write.cc index 44a467ccec..a5d2426f7b 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/overdrive_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc index 283b09be5c..3029adba47 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_cntr_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_cntr_read_write.cc index c06a011570..7aa5f34127 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_cntr_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_cntr_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read.cc index ad3934e957..5ce039f402 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read_write.cc index 26aa43dfe2..09c5998586 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/perf_level_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_cap_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_cap_read_write.cc index 2a56d9ae4e..83068dad62 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_cap_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_cap_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc index 4d6a276b1b..63e62d6505 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read_write.cc index 1694425e58..dc18cb6de0 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/power_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/process_info_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/process_info_read.cc index 2394b8c607..31afae910a 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/process_info_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/process_info_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/sys_info_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/sys_info_read.cc index f86d41a277..46aef40c0a 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/sys_info_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/sys_info_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/temp_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/temp_read.cc index 2dfcc0d5d1..a993af7161 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/temp_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/temp_read.cc @@ -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; diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/version_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/version_read.cc index 6133286645..f20b698714 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/version_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/version_read.cc @@ -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) diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/volt_freq_curv_read.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/volt_freq_curv_read.cc index eead207aa4..c7a27a04f7 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/volt_freq_curv_read.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/volt_freq_curv_read.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/xgmi_read_write.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/xgmi_read_write.cc index 4287e0af65..15b23ee3c9 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/functional/xgmi_read_write.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/functional/xgmi_read_write.cc @@ -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); diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.cc b/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.cc index a9f428996f..d117202435 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.cc +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.cc @@ -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) { diff --git a/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.h b/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.h index 520098a4e9..24377a1c7e 100755 --- a/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.h +++ b/projects/rocm-smi-lib/tests/rocm_smi_test/test_base.h @@ -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