refactor: define ocloc current and former names in shared ocloc file

ensure both names are different

Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2024-08-13 13:37:03 +00:00
committed by Compute-Runtime-Automation
parent 6d486459fe
commit 0eec0cdf57
9 changed files with 39 additions and 64 deletions

View File

@@ -143,7 +143,13 @@ target_include_directories(ocloc_tests PRIVATE
${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/unit_tests
$<TARGET_PROPERTY:ocloc_lib,INCLUDE_DIRECTORIES>
)
target_compile_definitions(ocloc_tests PUBLIC MOCKABLE_VIRTUAL=virtual $<TARGET_PROPERTY:ocloc_lib,INTERFACE_COMPILE_DEFINITIONS> ${TESTED_CORE_FLAGS_DEFINITONS})
target_compile_definitions(ocloc_tests PUBLIC
MOCKABLE_VIRTUAL=virtual
$<TARGET_PROPERTY:ocloc_lib,INTERFACE_COMPILE_DEFINITIONS>
${TESTED_CORE_FLAGS_DEFINITONS}
NEO_OCLOC_CURRENT_LIB_NAME="ocloc-current"
NEO_OCLOC_FORMER_LIB_NAME="ocloc-former"
)
target_link_libraries(ocloc_tests gmock-gtest)

View File

@@ -6,20 +6,31 @@
*/
#include "shared/offline_compiler/source/ocloc_supported_devices_helper.h"
#include "shared/test/common/helpers/variable_backup.h"
#include "opencl/test/unit_test/offline_compiler/mock/mock_ocloc_supported_devices_helper.h"
#include "gtest/gtest.h"
namespace NEO {
namespace Ocloc {
extern std::string oclocCurrentLibName;
extern std::string oclocFormerLibName;
} // namespace Ocloc
using namespace Ocloc;
using namespace NEO;
struct SupportedDevicesHelperLinuxTest : public ::testing::Test {
void SetUp() override {
mockHelper.getOclocCurrentVersionMockResult = "";
oclocCurrentLibName.shrink_to_fit();
oclocFormerLibName.shrink_to_fit();
}
void TearDown() override {
oclocCurrentLibName.shrink_to_fit();
oclocFormerLibName.shrink_to_fit();
}
MockSupportedDevicesHelper mockHelper = MockSupportedDevicesHelper(SupportedDevicesMode::concat, nullptr);
@@ -42,11 +53,11 @@ TEST_F(SupportedDevicesHelperLinuxTest, GivenVariousOclocLibraryNamesWhenExtract
}
TEST_F(SupportedDevicesHelperLinuxTest, GivenSupportedDevicesHelperWhenGetOclocCurrentVersionThenReturnCorrectValue) {
VariableBackup<std::string> oclocNameBackup(&oclocCurrentLibName, "libocloc-current.so");
EXPECT_EQ("ocloc-current", mockHelper.getOclocCurrentVersion());
}
TEST_F(SupportedDevicesHelperLinuxTest, GivenSupportedDevicesHelperWhenGetOclocFormerVersionThenReturnCorrectValue) {
VariableBackup<std::string> oclocNameBackup(&oclocFormerLibName, "libocloc-former.so");
EXPECT_EQ("ocloc-former", mockHelper.getOclocFormerVersion());
}
} // namespace NEO

View File

@@ -19,9 +19,7 @@ using namespace Ocloc;
class MockSupportedDevicesHelper : public SupportedDevicesHelper {
public:
using SupportedDevicesHelper::extractOclocVersion;
using SupportedDevicesHelper::getOclocCurrentLibName;
using SupportedDevicesHelper::getOclocCurrentVersion;
using SupportedDevicesHelper::getOclocFormerLibName;
using SupportedDevicesHelper::getOclocFormerVersion;
using SupportedDevicesHelper::mergeOclocVersionData;
@@ -29,20 +27,6 @@ class MockSupportedDevicesHelper : public SupportedDevicesHelper {
MockSupportedDevicesHelper(SupportedDevicesMode mode, ProductConfigHelper *productConfigHelper)
: SupportedDevicesHelper(mode, productConfigHelper) {}
std::string getOclocCurrentLibName() const override {
if (!getOclocCurrentLibNameMockResult.empty()) {
return getOclocCurrentLibNameMockResult;
}
return SupportedDevicesHelper::getOclocCurrentLibName();
}
std::string getOclocFormerLibName() const override {
if (!getOclocFormerLibNameMockResult.empty()) {
return getOclocFormerLibNameMockResult;
}
return SupportedDevicesHelper::getOclocFormerLibName();
}
std::string getDataFromFormerOclocVersion() const override {
if (getDataFromFormerOclocVersionEmptyResult) {
return "";
@@ -77,8 +61,6 @@ class MockSupportedDevicesHelper : public SupportedDevicesHelper {
}
public:
std::string getOclocCurrentLibNameMockResult = "libocloc-current.so";
std::string getOclocFormerLibNameMockResult = "libocloc-former.so";
bool getDataFromFormerOclocVersionEmptyResult = false;
std::string getOclocCurrentVersionMockResult = "ocloc-current";
};

View File

@@ -15,8 +15,6 @@ namespace NEO {
struct SupportedDevicesHelperWindowsTest : public ::testing::Test {
void SetUp() override {
mockHelper.getOclocCurrentLibNameMockResult = "";
mockHelper.getOclocFormerLibNameMockResult = "";
mockHelper.getOclocCurrentVersionMockResult = "";
}
@@ -34,14 +32,6 @@ TEST_F(SupportedDevicesHelperWindowsTest, GivenVariousOclocLibraryNamesWhenExtra
EXPECT_EQ(mockHelper.extractOclocVersion("libocloc.so"), "");
}
TEST_F(SupportedDevicesHelperWindowsTest, GivenSupportedDevicesHelperWhenGetOclocCurrentLibNameThenReturnEmptyString) {
EXPECT_EQ("", mockHelper.getOclocCurrentLibName());
}
TEST_F(SupportedDevicesHelperWindowsTest, GivenSupportedDevicesHelperWhenGetOclocFormerLibNameThenReturnEmptyString) {
EXPECT_EQ("", mockHelper.getOclocFormerLibName());
}
TEST_F(SupportedDevicesHelperWindowsTest, GivenSupportedDevicesHelperWhenGetOclocCurrentVersionThenReturnCorrectValue) {
EXPECT_EQ("ocloc", mockHelper.getOclocCurrentVersion());
}

View File

@@ -6,6 +6,7 @@
*/
#include "shared/offline_compiler/source/ocloc_api.h"
#include "shared/offline_compiler/source/ocloc_interface.h"
#include "shared/offline_compiler/source/ocloc_supported_devices_helper.h"
#include "shared/source/os_interface/os_library.h"
@@ -23,22 +24,6 @@ std::string SupportedDevicesHelper::getOclocCurrentVersionOutputFilename() const
return getOclocCurrentVersion() + getOutputFilenameSuffix(mode);
}
std::string SupportedDevicesHelper::getOclocCurrentLibName() const {
#ifdef NEO_OCLOC_CURRENT_LIB_NAME
return std::string(NEO_OCLOC_CURRENT_LIB_NAME);
#else
return "";
#endif
}
std::string SupportedDevicesHelper::getOclocFormerLibName() const {
#ifdef NEO_OCLOC_FORMER_LIB_NAME
return std::string(NEO_OCLOC_FORMER_LIB_NAME);
#else
return "";
#endif
}
std::string SupportedDevicesHelper::getOclocCurrentVersion() const {
return extractOclocVersion(getOclocCurrentLibName());
}
@@ -64,8 +49,7 @@ std::string SupportedDevicesHelper::extractOclocVersion(std::string_view oclocLi
}
std::string SupportedDevicesHelper::getDataFromFormerOclocVersion() const {
if (getOclocFormerLibName().empty() ||
getOclocFormerLibName() == getOclocCurrentLibName()) {
if (getOclocFormerLibName().empty()) {
return "";
}

View File

@@ -116,6 +116,14 @@ void printOclocOptionsReadFromFile(OclocArgHelper &wrapper, OfflineCompiler *pCo
}
}
std::string oclocCurrentLibName = std::string(NEO_OCLOC_CURRENT_LIB_NAME);
std::string oclocFormerLibName = std::string(NEO_OCLOC_FORMER_LIB_NAME);
static_assert(std::string_view(NEO_OCLOC_CURRENT_LIB_NAME) != std::string_view(NEO_OCLOC_FORMER_LIB_NAME), "Ocloc current and former names cannot be same");
const std::string &getOclocCurrentLibName() { return oclocCurrentLibName; }
const std::string &getOclocFormerLibName() { return oclocFormerLibName; }
namespace Commands {
int compile(OclocArgHelper *argHelper, const std::vector<std::string> &args) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2022-2023 Intel Corporation
* Copyright (C) 2022-2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -9,6 +9,7 @@
#include "shared/source/utilities/const_stringref.h"
#include <string>
#include <vector>
class OclocArgHelper;
@@ -16,6 +17,9 @@ namespace Ocloc {
void printOclocCmdLine(OclocArgHelper &wrapper, const std::vector<std::string> &args);
void printHelp(OclocArgHelper &wrapper);
const std::string &getOclocCurrentLibName();
const std::string &getOclocFormerLibName();
namespace CommandNames {
inline constexpr NEO::ConstStringRef compile = "compile";
inline constexpr NEO::ConstStringRef link = "link";

View File

@@ -67,8 +67,6 @@ class SupportedDevicesHelper {
MOCKABLE_VIRTUAL std::string getDataFromFormerOclocVersion() const;
protected:
MOCKABLE_VIRTUAL std::string getOclocCurrentLibName() const;
MOCKABLE_VIRTUAL std::string getOclocFormerLibName() const;
MOCKABLE_VIRTUAL std::string getOclocCurrentVersion() const;
std::string getOclocFormerVersion() const;
std::string extractOclocVersion(std::string_view oclocLibNameWithVersion) const;

View File

@@ -21,14 +21,6 @@ std::string SupportedDevicesHelper::getOclocCurrentVersionOutputFilename() const
return getOclocCurrentVersion() + getOutputFilenameSuffix(SupportedDevicesMode::unknown);
}
std::string SupportedDevicesHelper::getOclocCurrentLibName() const {
return "";
}
std::string SupportedDevicesHelper::getOclocFormerLibName() const {
return "";
}
std::string SupportedDevicesHelper::getOclocCurrentVersion() const {
return "ocloc";
}