Files
compute-runtime/shared/test/unit_test/utilities/linux/cpuinfo_tests_linux.cpp
Mateusz Jablonski 08ddbe9b41 Correct CpuInfo test not to require complex file path
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-22 11:59:33 +01:00

49 lines
1.5 KiB
C++

/*
* Copyright (C) 2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/helpers/file_io.h"
#include "shared/source/os_interface/linux/os_inc.h"
#include "shared/source/utilities/cpu_info.h"
#include "shared/test/common/helpers/variable_backup.h"
#include "gtest/gtest.h"
#include <cstdio>
#include <fstream>
using namespace NEO;
TEST(CpuInfo, givenProcCpuinfoFileExistsWhenIsCpuFlagPresentIsCalledThenValidValueIsReturned) {
VariableBackup<const char *> pathPrefixBackup(&Os::sysFsProcPathPrefix, "./test_files");
std::string cpuinfoFile = "./test_files/cpuinfo";
EXPECT_FALSE(fileExists(cpuinfoFile));
{
std::ofstream cpuinfo(cpuinfoFile);
cpuinfo << "processor\t\t: 0\nflags\t\t: flag1 flag2 flag3\n";
}
EXPECT_TRUE(fileExists(cpuinfoFile));
CpuInfo testCpuInfo;
EXPECT_TRUE(testCpuInfo.isCpuFlagPresent("flag1"));
EXPECT_TRUE(testCpuInfo.isCpuFlagPresent("flag2"));
EXPECT_FALSE(testCpuInfo.isCpuFlagPresent("nonExistingCpuFlag"));
std::remove(cpuinfoFile.c_str());
}
TEST(CpuInfo, givenProcCpuinfoFileIsNotExistsWhenIsCpuFlagPresentIsCalledThenValidValueIsReturned) {
std::string cpuinfoFile = "test_files/linux/proc/cpuinfo";
EXPECT_FALSE(fileExists(cpuinfoFile));
CpuInfo testCpuInfo;
EXPECT_FALSE(testCpuInfo.isCpuFlagPresent("flag1"));
EXPECT_FALSE(testCpuInfo.isCpuFlagPresent("flag2"));
EXPECT_FALSE(testCpuInfo.isCpuFlagPresent("nonExistingCpuFlag"));
}