Return NOT_SUPPORT for set function in VM guest

Fix the unit tests which are fail in VM guest environment.

Change-Id: Id7c58887692bbdecba54f5d2d8463b292e19b4ad
这个提交包含在:
Bill(Shuzhou) Liu
2023-05-11 10:42:22 -05:00
提交者 Galantsev, Dmitrii
父节点 147af192b5
当前提交 a0ec98c30d
修改 3 个文件,包含 29 行新增0 行删除
+4
查看文件
@@ -277,6 +277,10 @@ class ScopedAcquire {
DISALLOW_COPY_AND_ASSIGN(ScopedAcquire)
};
// The best effort way to decide whether it is in VM guest environment:
// In VM environment, the /proc/cpuinfo set hypervisor flag by default
bool is_vm_guest();
} // namespace smi
} // namespace amd
+19
查看文件
@@ -329,6 +329,25 @@ rsmi_status_t ErrnoToRsmiStatus(int err) {
}
}
bool is_vm_guest() {
// the cpuinfo will set hypervisor flag in VM guest
const std::string hypervisor = "hypervisor";
std::string line;
// default to false if cannot find the file
std::ifstream infile("/proc/cpuinfo");
if (infile.fail()) {
return false;
}
while (std::getline(infile, line)) {
if (line.find(hypervisor) != std::string::npos) {
return true;
}
}
return false;
}
std::string leftTrim(const std::string &s) {
if (!s.empty()) {
return std::regex_replace(s, std::regex("^\\s+"), "");
@@ -54,6 +54,7 @@
#include "gtest/gtest.h"
#include "rocm_smi/rocm_smi.h"
#include "rocm_smi_test/functional/power_cap_read_write.h"
#include "rocm_smi/rocm_smi_utils.h"
#include "rocm_smi_test/test_common.h"
@@ -121,6 +122,11 @@ void TestPowerCapReadWrite::Run(void) {
continue;
}
if (amd::smi::is_vm_guest()) {
std::cout << "VM guest is not supported for power cap test. Skipping test for " << dv_ind << std::endl;
continue;
}
new_cap = (max + min)/2;
IF_VERB(STANDARD) {