compute-runtime/opencl/test/unit_test/offline_compiler/environment.h

57 lines
1.6 KiB
C++

/*
* Copyright (C) 2018-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/offline_compiler/source/offline_compiler.h"
#include "shared/source/os_interface/os_inc_base.h"
#include "shared/test/common/helpers/test_files.h"
#include "shared/test/common/mocks/mock_compilers.h"
#include "gtest/gtest.h"
#include "mock/mock_iga_dll_guard.h"
class Environment : public ::testing::Environment {
public:
Environment(const std::string &devicePrefix, const std::string &familyNameWithType)
: devicePrefix(devicePrefix), familyNameWithType(familyNameWithType) {
}
void SetInputFileName( // NOLINT(readability-identifier-naming)
const std::string filename) {
retrieveBinaryKernelFilename(igcDebugVars.fileName, filename + "_", ".gen");
retrieveBinaryKernelFilename(fclDebugVars.fileName, filename + "_", ".bc");
NEO::setIgcDebugVars(igcDebugVars);
NEO::setFclDebugVars(fclDebugVars);
}
void SetUp() override {
mockIgaDllGuard.enable();
mockCompilerGuard.Enable();
SetInputFileName("copybuffer");
}
void TearDown() override {
mockCompilerGuard.Disable();
mockIgaDllGuard.disable();
}
NEO::MockCompilerDebugVars igcDebugVars;
NEO::MockCompilerDebugVars fclDebugVars;
void (*igcSetDebugVarsFPtr)(NEO::MockCompilerDebugVars &debugVars);
void (*fclSetDebugVarsFPtr)(NEO::MockCompilerDebugVars &debugVars);
NEO::MockCompilerEnableGuard mockCompilerGuard;
NEO::MockIgaDllGuard mockIgaDllGuard;
const std::string devicePrefix;
const std::string familyNameWithType;
};