test: Remove usage of real env and captured PRINT_DEBUG_STRING in test

Related-To: NEO-12721
Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
This commit is contained in:
Aleksandra Nizio
2025-07-07 16:36:46 +00:00
committed by Compute-Runtime-Automation
parent fa12894ef0
commit 0842e16412
3 changed files with 25 additions and 5 deletions

View File

@@ -563,15 +563,15 @@ char **getEnviron() {
namespace ULT { namespace ULT {
static char **mockEnviron = nullptr; static char *defaultTestEnviron[] = {nullptr};
static char **mockEnviron = defaultTestEnviron;
char **getCurrentEnviron() { char **getCurrentEnviron() {
return mockEnviron ? mockEnviron : environ; return mockEnviron;
} }
void setMockEnviron(char **mock) { void setMockEnviron(char **mock) {
mockEnviron = mock; mockEnviron = mock ? mock : defaultTestEnviron;
} }
} // namespace ULT } // namespace ULT
} // namespace NEO } // namespace NEO

View File

@@ -423,9 +423,15 @@ TEST(ClCacheDefaultConfigLinuxTest, GivenIgcEnvVarSetOrUnsetThenCacheConfigIsEna
VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&NEO::IoFunctions::mockableEnvValues, &mockableEnvs); VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&NEO::IoFunctions::mockableEnvValues, &mockableEnvs);
VariableBackup<decltype(NEO::SysCalls::sysCallsStat)> statBackup(&NEO::SysCalls::sysCallsStat, statMock); VariableBackup<decltype(NEO::SysCalls::sysCallsStat)> statBackup(&NEO::SysCalls::sysCallsStat, statMock);
StreamCapture capture;
capture.captureStdout();
auto cacheConfig = NEO::getDefaultCompilerCacheConfig(); auto cacheConfig = NEO::getDefaultCompilerCacheConfig();
std::string output = capture.getCapturedStdout();
EXPECT_TRUE(cacheConfig.enabled); EXPECT_TRUE(cacheConfig.enabled);
EXPECT_EQ(cacheConfig.cacheDir, "ult/directory/"); EXPECT_EQ(cacheConfig.cacheDir, "ult/directory/");
EXPECT_STREQ(output.c_str(), "NEO_CACHE_PERSISTENT is enabled. Cache is located in: ult/directory/\n\n");
mockableEnvs["IGC_DEBUG"] = "1"; mockableEnvs["IGC_DEBUG"] = "1";
environVec = buildEnviron(mockableEnvs, envStorage); environVec = buildEnviron(mockableEnvs, envStorage);
@@ -436,9 +442,13 @@ TEST(ClCacheDefaultConfigLinuxTest, GivenIgcEnvVarSetOrUnsetThenCacheConfigIsEna
mockableEnvs.erase("IGC_DEBUG"); mockableEnvs.erase("IGC_DEBUG");
environVec = buildEnviron(mockableEnvs, envStorage); environVec = buildEnviron(mockableEnvs, envStorage);
NEO::ULT::setMockEnviron(environVec.data()); NEO::ULT::setMockEnviron(environVec.data());
capture.captureStdout();
cacheConfig = NEO::getDefaultCompilerCacheConfig(); cacheConfig = NEO::getDefaultCompilerCacheConfig();
output = capture.getCapturedStdout();
EXPECT_TRUE(cacheConfig.enabled); EXPECT_TRUE(cacheConfig.enabled);
EXPECT_EQ(cacheConfig.cacheDir, "ult/directory/"); EXPECT_EQ(cacheConfig.cacheDir, "ult/directory/");
EXPECT_STREQ(output.c_str(), "NEO_CACHE_PERSISTENT is enabled. Cache is located in: ult/directory/\n\n");
NEO::ULT::setMockEnviron(nullptr); NEO::ULT::setMockEnviron(nullptr);
} }

View File

@@ -303,9 +303,15 @@ TEST_F(ClCacheDefaultConfigWindowsTest, GivenIgcEnvVarSetOrUnsetThenCacheConfigI
wchar_t envBlockNoIgc[] = L"NEO_CACHE_PERSISTENT=1\0NEO_CACHE_MAX_SIZE=22\0NEO_CACHE_DIR=ult\\directory\\\0\0"; wchar_t envBlockNoIgc[] = L"NEO_CACHE_PERSISTENT=1\0NEO_CACHE_MAX_SIZE=22\0NEO_CACHE_DIR=ult\\directory\\\0\0";
SysCalls::mockEnvStringsW = envBlockNoIgc; SysCalls::mockEnvStringsW = envBlockNoIgc;
StreamCapture capture;
capture.captureStdout();
auto cacheConfig = getDefaultCompilerCacheConfig(); auto cacheConfig = getDefaultCompilerCacheConfig();
std::string output = capture.getCapturedStdout();
EXPECT_TRUE(cacheConfig.enabled); EXPECT_TRUE(cacheConfig.enabled);
EXPECT_EQ(cacheConfig.cacheDir, "ult\\directory\\"); EXPECT_EQ(cacheConfig.cacheDir, "ult\\directory\\");
EXPECT_STREQ(output.c_str(), "NEO_CACHE_PERSISTENT is enabled. Cache is located in: ult\\directory\\\n\n");
wchar_t envBlockWithIgc[] = L"IGC_DEBUG=1\0NEO_CACHE_PERSISTENT=1\0NEO_CACHE_MAX_SIZE=22\0NEO_CACHE_DIR=ult\\directory\\\0\0"; wchar_t envBlockWithIgc[] = L"IGC_DEBUG=1\0NEO_CACHE_PERSISTENT=1\0NEO_CACHE_MAX_SIZE=22\0NEO_CACHE_DIR=ult\\directory\\\0\0";
SysCalls::mockEnvStringsW = envBlockWithIgc; SysCalls::mockEnvStringsW = envBlockWithIgc;
@@ -314,10 +320,14 @@ TEST_F(ClCacheDefaultConfigWindowsTest, GivenIgcEnvVarSetOrUnsetThenCacheConfigI
EXPECT_FALSE(cacheConfig.enabled); EXPECT_FALSE(cacheConfig.enabled);
SysCalls::mockEnvStringsW = envBlockNoIgc; SysCalls::mockEnvStringsW = envBlockNoIgc;
StreamCapture capture2;
capture2.captureStdout();
cacheConfig = getDefaultCompilerCacheConfig(); cacheConfig = getDefaultCompilerCacheConfig();
output = capture2.getCapturedStdout();
EXPECT_TRUE(cacheConfig.enabled); EXPECT_TRUE(cacheConfig.enabled);
EXPECT_EQ(cacheConfig.cacheDir, "ult\\directory\\"); EXPECT_EQ(cacheConfig.cacheDir, "ult\\directory\\");
EXPECT_STREQ(output.c_str(), "NEO_CACHE_PERSISTENT is enabled. Cache is located in: ult\\directory\\\n\n");
} }
} // namespace NEO } // namespace NEO