mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 16:24:18 +08:00
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:
committed by
Compute-Runtime-Automation
parent
6d486459fe
commit
0eec0cdf57
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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 "";
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user