From 5a8b57437ec14e2bb001c17f115f58ec2d8e2a33 Mon Sep 17 00:00:00 2001 From: Chris Freehill Date: Wed, 8 Jul 2020 12:41:56 -0500 Subject: [PATCH] TestPerfCntrReadWrite fail rsmitst if not supported Fixes SWDEV-243639 Change-Id: I087171231fbbe5939f239efad25a5485529381a3 [ROCm/rocm_smi_lib commit: e2c7ef6422cc20b6ee011b9e93e12d1ed256923d] --- .../functional/perf_cntr_read_write.cc | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) 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 28f9dcc9c5..c937aec6ee 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 @@ -125,8 +125,13 @@ void TestPerfCntrReadWrite::CountEvents(uint32_t dv_ind, ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); ret = rsmi_counter_control(evt_handle, RSMI_CNTR_CMD_START, nullptr); - CHK_ERR_ASRT(ret) - + if (ret == RSMI_STATUS_NOT_SUPPORTED) { + std::cout << "rsmi_counter_control() returned " + "RSMI_STATUS_NOT_SUPPORTED" << std::endl; + throw RSMI_STATUS_NOT_SUPPORTED; + } else { + CHK_ERR_ASRT(ret) + } sleep(sleep_sec); ret = rsmi_counter_read(evt_handle, val); @@ -319,8 +324,22 @@ void TestPerfCntrReadWrite::Run(void) { for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { PrintDeviceHeader(dv_ind); + try { + testEventsIndividually(dv_ind); + testEventsSimultaneously(dv_ind); + } catch(rsmi_status_t r) { + switch (r) { + case RSMI_STATUS_NOT_SUPPORTED: + std::cout << "The performance counter event tried is not " + "supported for this device" << std::endl; + break; - testEventsIndividually(dv_ind); - testEventsSimultaneously(dv_ind); + default: + std::cout << "Unexpected exception caught with rsmi " + "return value of " << r << std::endl; + } + } catch(...) { + ASSERT_FALSE("Unexpected exception caught"); + } } }