[SWDEV-418701] rsmitst Fallback with Driver-less Hardware (#329)
Signed-off-by: josnarlo <Joseph.Narlo@amd.com>
[ROCm/amdsmi commit: a66c6fa03b]
Цей коміт міститься в:
@@ -386,6 +386,7 @@ void TestComputePartitionReadWrite::Run(void) {
|
||||
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
bool isVerbose = (this->verbosity() &&
|
||||
this->verbosity() >= (this->TestBase::VERBOSE_STANDARD)) ? true: false;
|
||||
// Confirm system supports compute partition, before executing wait
|
||||
|
||||
@@ -71,8 +71,7 @@ void TestEvtNotifReadWrite::Run(void) {
|
||||
|
||||
if (setup_failed_) {
|
||||
IF_VERB(STANDARD) {
|
||||
std::cout << "** SetUp Failed for this test. Skipping.**" <<
|
||||
std::endl;
|
||||
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -122,6 +122,7 @@ TEST(amdsmitstReadOnly, FanRead) {
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, FanReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestFanReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -144,6 +145,7 @@ TEST(amdsmitstReadOnly, TestPerfLevelRead) {
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPerfLevelReadWrite) {
|
||||
if (amd::smi::is_vm_guest()) GTEST_SKIP();
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPerfLevelReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -152,6 +154,7 @@ TEST(amdsmitstReadOnly, TestOverdriveRead) {
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestOverdriveReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestOverdriveReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -160,11 +163,13 @@ TEST(amdsmitstReadOnly, TestFrequenciesRead) {
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestFrequenciesReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestFrequenciesReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPciReadWrite) {
|
||||
if (amd::smi::is_vm_guest()) GTEST_SKIP();
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPciReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -184,11 +189,13 @@ TEST(amdsmitstReadOnly, TestPowerRead) {
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPowerReadWrite) {
|
||||
if (amd::smi::is_vm_guest()) GTEST_SKIP();
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPowerReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPowerCapReadWrite) {
|
||||
if (amd::smi::is_vm_guest()) GTEST_SKIP();
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPowerCapReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -206,6 +213,7 @@ TEST(amdsmitstReadOnly, TestIdInfoRead) {
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPerfCntrReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPerfCntrReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -226,10 +234,12 @@ TEST(amdsmitstReadOnly, TestMetricsCounterRead) {
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestPerfDeterminism) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestPerfDeterminism tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
TEST(amdsmitstReadWrite, TestXGMIReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestXGMIReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
@@ -253,16 +263,19 @@ TEST(amdsmitstReadOnly, TestMutualExclusion) {
|
||||
*/
|
||||
|
||||
TEST(amdsmitstReadWrite, TestComputePartitionReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestComputePartitionReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
|
||||
TEST(amdsmitstReadWrite, TestMemoryPartitionReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestMemoryPartitionReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
|
||||
TEST(amdsmitstReadWrite, TestEvtNotifReadWrite) {
|
||||
if (!amd::smi::is_sudo_user()) GTEST_SKIP_("Invalid permission - Must run as super user");
|
||||
TestEvtNotifReadWrite tst;
|
||||
RunGenericTest(&tst);
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#include "amd_smi/amdsmi.h"
|
||||
#include "amd_smi/impl/amd_smi_utils.h"
|
||||
#include "rocm_smi/rocm_smi_utils.h"
|
||||
#include "test_base.h"
|
||||
#include "test_common.h"
|
||||
|
||||
@@ -40,6 +41,14 @@ static const char kResultsLabel[] = "TEST RESULTS";
|
||||
// This one is used outside this file
|
||||
const char kSetupLabel[] = "TEST SETUP";
|
||||
|
||||
static bool CheckModule(const std::string &fileName, const std::string &cond) {
|
||||
std::string state;
|
||||
int rc = amd::smi::ReadSysfsStr(fileName, &state);
|
||||
if (!rc && !state.compare(cond))
|
||||
return (true);
|
||||
return (false);
|
||||
}
|
||||
|
||||
TestBase::TestBase() : setup_failed_(false) {
|
||||
}
|
||||
TestBase::~TestBase() = default;
|
||||
@@ -79,6 +88,29 @@ void TestBase::SetUp(uint64_t init_flags) {
|
||||
|
||||
if (err != AMDSMI_STATUS_SUCCESS) {
|
||||
setup_failed_ = true;
|
||||
|
||||
// Returns true if amdgpu is found in the list of initialized modules
|
||||
bool found_amdgpu = CheckModule("/sys/module/amdgpu/initstate", "live");
|
||||
if (!found_amdgpu) {
|
||||
IF_VERB(STANDARD) {
|
||||
std::cerr << "ERROR: Unable to get devices, driver not initialized (amdgpu not found in modules)" << std::endl;
|
||||
std::cerr << "ERROR: Unable to detect any GPU devices, check amdgpu version and module status (sudo modprobe amdgpu)" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
// Returns true if amd_hsmp is found in the list of initialized modules
|
||||
bool found_amd_hsmp = CheckModule("/sys/module/amd_hsmp/initstate", "live");
|
||||
if (!found_amd_hsmp) {
|
||||
IF_VERB(STANDARD) {
|
||||
std::cerr << "ERROR: Unable to get devices, driver not initialized (amd_hsmp not found in modules)" << std::endl;
|
||||
std::cerr << "ERROR: Unable to detect any CPU devices, check amd_hsmp version and module status (sudo modprobe amd_hsmp)" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found_amdgpu || !found_amd_hsmp) {
|
||||
ASSERT_EQ(err, AMDSMI_STATUS_SUCCESS);
|
||||
exit(err);
|
||||
}
|
||||
}
|
||||
ASSERT_EQ(err, AMDSMI_STATUS_SUCCESS);
|
||||
|
||||
|
||||
Посилання в новій задачі
Заблокувати користувача