fix: correct number of returned L0 drivers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
parent
2094d16f1f
commit
dcb351e9dd
|
@ -26,7 +26,7 @@ namespace L0 {
|
|||
|
||||
_ze_driver_handle_t *GlobalDriverHandle;
|
||||
bool LevelZeroDriverInitialized = false;
|
||||
uint32_t driverCount = 1;
|
||||
uint32_t driverCount = 0;
|
||||
|
||||
void DriverImp::initialize(ze_result_t *result) {
|
||||
*result = ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
|
@ -67,6 +67,8 @@ void DriverImp::initialize(ze_result_t *result) {
|
|||
executionEnvironment->incRefInternal();
|
||||
auto neoDevices = NEO::DeviceFactory::createDevices(*executionEnvironment);
|
||||
executionEnvironment->decRefInternal();
|
||||
GlobalDriverHandle = nullptr;
|
||||
driverCount = 0;
|
||||
if (!neoDevices.empty()) {
|
||||
GlobalDriverHandle = DriverHandle::create(std::move(neoDevices), envVariables, result);
|
||||
if (GlobalDriverHandle != nullptr) {
|
||||
|
@ -90,6 +92,7 @@ void DriverImp::initialize(ze_result_t *result) {
|
|||
GlobalDriver = nullptr;
|
||||
}
|
||||
}
|
||||
driverCount = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@ if(DEFINED AUB_STREAM_PROJECT_NAME)
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${L0_CORE_ENABLERS}
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h
|
||||
${NEO_SOURCE_DIR}/level_zero/tools/test/unit_tests/sources/debug/debug_session_helper.cpp
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "level_zero/core/test/common/ult_config_listener_l0.h"
|
||||
|
||||
#include "level_zero/core/source/driver/driver.h"
|
||||
|
||||
void L0::UltConfigListenerL0::OnTestStart(const ::testing::TestInfo &testInfo) {
|
||||
BaseUltConfigListener::OnTestStart(testInfo);
|
||||
|
||||
GlobalDriverHandle = nullptr;
|
||||
driverCount = 0;
|
||||
}
|
||||
|
||||
void L0::UltConfigListenerL0::OnTestEnd(const ::testing::TestInfo &testInfo) {
|
||||
|
||||
EXPECT_EQ(nullptr, GlobalDriverHandle);
|
||||
EXPECT_EQ(0u, driverCount);
|
||||
|
||||
BaseUltConfigListener::OnTestEnd(testInfo);
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "shared/test/common/base_ult_config_listener.h"
|
||||
|
||||
namespace L0 {
|
||||
|
||||
class UltConfigListenerL0 : public NEO::BaseUltConfigListener {
|
||||
private:
|
||||
void OnTestStart(const ::testing::TestInfo &) override;
|
||||
void OnTestEnd(const ::testing::TestInfo &) override;
|
||||
};
|
||||
|
||||
} // namespace L0
|
|
@ -5,11 +5,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "shared/test/common/base_ult_config_listener.h"
|
||||
#include "shared/test/common/helpers/test_files.h"
|
||||
#include "shared/test/common/tests_configuration.h"
|
||||
|
||||
#include "level_zero/core/source/cmdlist/cmdlist.h"
|
||||
#include "level_zero/core/test/common/ult_config_listener_l0.h"
|
||||
|
||||
using namespace NEO;
|
||||
void cleanTestHelpers() {}
|
||||
|
@ -52,5 +52,5 @@ std::string getBaseExecutionDir() {
|
|||
}
|
||||
|
||||
void addUltListener(::testing::TestEventListeners &listeners) {
|
||||
listeners.Append(new BaseUltConfigListener);
|
||||
listeners.Append(new L0::UltConfigListenerL0);
|
||||
}
|
||||
|
|
|
@ -31,6 +31,8 @@ target_sources(${TARGET_NAME} PRIVATE
|
|||
${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/test_modules/gen_kernel.cmake
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h
|
||||
)
|
||||
|
||||
target_sources(${TARGET_NAME} PRIVATE
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/os_interface/os_time.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/variable_backup.h"
|
||||
|
||||
#include "level_zero/core/source/context/context_imp.h"
|
||||
#include "level_zero/core/source/device/device_imp.h"
|
||||
|
@ -30,6 +31,8 @@ struct Context;
|
|||
struct Device;
|
||||
struct ContextImp;
|
||||
|
||||
extern uint32_t driverCount;
|
||||
extern _ze_driver_handle_t *GlobalDriverHandle;
|
||||
namespace ult {
|
||||
class MockBuiltins;
|
||||
|
||||
|
@ -51,6 +54,8 @@ struct DeviceFixture {
|
|||
const uint32_t rootDeviceIndex = 0u;
|
||||
template <typename HelperType>
|
||||
HelperType &getHelper() const;
|
||||
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&GlobalDriverHandle};
|
||||
VariableBackup<uint32_t> driverCountBackup{&driverCount};
|
||||
};
|
||||
|
||||
struct DriverHandleGetMemHandlePtrMock : public L0::DriverHandleImp {
|
||||
|
@ -111,6 +116,9 @@ struct MultiDeviceFixture {
|
|||
uint32_t numRootDevices = 4u;
|
||||
uint32_t numSubDevices = 2u;
|
||||
L0::ContextImp *context = nullptr;
|
||||
|
||||
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&GlobalDriverHandle};
|
||||
VariableBackup<uint32_t> driverCountBackup{&driverCount};
|
||||
};
|
||||
|
||||
struct MultiDeviceFixtureHierarchy : public MultiDeviceFixture {
|
||||
|
|
|
@ -413,7 +413,12 @@ TEST(DriverTest, givenNullEnvVariableWhenCreatingDriverThenEnableProgramDebuggin
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenDriverImpWhenInitializedThenEnvVariablesAreRead) {
|
||||
struct DriverImpTest : public ::testing::Test {
|
||||
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&GlobalDriverHandle};
|
||||
VariableBackup<uint32_t> driverCountBackup{&driverCount};
|
||||
};
|
||||
|
||||
TEST_F(DriverImpTest, givenDriverImpWhenInitializedThenEnvVariablesAreRead) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -431,7 +436,7 @@ TEST(DriverImpTest, givenDriverImpWhenInitializedThenEnvVariablesAreRead) {
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenMissingMetricApiDependenciesWhenInitializingDriverImpThenGlobalDriverHandleIsNull) {
|
||||
TEST_F(DriverImpTest, givenMissingMetricApiDependenciesWhenInitializingDriverImpThenGlobalDriverHandleIsNull) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -455,7 +460,7 @@ TEST(DriverImpTest, givenMissingMetricApiDependenciesWhenInitializingDriverImpTh
|
|||
EXPECT_EQ(nullptr, L0::GlobalDriver);
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenEnabledProgramDebuggingWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsTrue) {
|
||||
TEST_F(DriverImpTest, givenEnabledProgramDebuggingWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsTrue) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -477,7 +482,7 @@ TEST(DriverImpTest, givenEnabledProgramDebuggingWhenCreatingExecutionEnvironment
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, whenCreatingExecutionEnvironmentThenDefaultHierarchyIsEnabled) {
|
||||
TEST_F(DriverImpTest, whenCreatingExecutionEnvironmentThenDefaultHierarchyIsEnabled) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -500,7 +505,7 @@ TEST(DriverImpTest, whenCreatingExecutionEnvironmentThenDefaultHierarchyIsEnable
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenFlatDeviceHierarchyWhenCreatingExecutionEnvironmentThenFlatHierarchyIsEnabled) {
|
||||
TEST_F(DriverImpTest, givenFlatDeviceHierarchyWhenCreatingExecutionEnvironmentThenFlatHierarchyIsEnabled) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -522,7 +527,7 @@ TEST(DriverImpTest, givenFlatDeviceHierarchyWhenCreatingExecutionEnvironmentThen
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenCompositeDeviceHierarchyWhenCreatingExecutionEnvironmentThenCompositeHierarchyIsEnabled) {
|
||||
TEST_F(DriverImpTest, givenCompositeDeviceHierarchyWhenCreatingExecutionEnvironmentThenCompositeHierarchyIsEnabled) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -544,7 +549,7 @@ TEST(DriverImpTest, givenCompositeDeviceHierarchyWhenCreatingExecutionEnvironmen
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenCombinedDeviceHierarchyWhenCreatingExecutionEnvironmentThenCombinedHierarchyIsEnabled) {
|
||||
TEST_F(DriverImpTest, givenCombinedDeviceHierarchyWhenCreatingExecutionEnvironmentThenCombinedHierarchyIsEnabled) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -566,7 +571,7 @@ TEST(DriverImpTest, givenCombinedDeviceHierarchyWhenCreatingExecutionEnvironment
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenEnableProgramDebuggingWithValue2WhenCreatingExecutionEnvironmentThenDebuggingEnabledIsTrue) {
|
||||
TEST_F(DriverImpTest, givenEnableProgramDebuggingWithValue2WhenCreatingExecutionEnvironmentThenDebuggingEnabledIsTrue) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -588,7 +593,7 @@ TEST(DriverImpTest, givenEnableProgramDebuggingWithValue2WhenCreatingExecutionEn
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenEnabledFP64EmulationWhenCreatingExecutionEnvironmentThenFP64EmulationIsEnabled) {
|
||||
TEST_F(DriverImpTest, givenEnabledFP64EmulationWhenCreatingExecutionEnvironmentThenFP64EmulationIsEnabled) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -610,8 +615,11 @@ TEST(DriverImpTest, givenEnabledFP64EmulationWhenCreatingExecutionEnvironmentThe
|
|||
L0::GlobalDriver = nullptr;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenEnabledProgramDebuggingAndEnabledExperimentalOpenCLWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
TEST_F(DriverImpTest, givenEnabledProgramDebuggingAndEnabledExperimentalOpenCLWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
DebugManagerStateRestore restorer;
|
||||
|
||||
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&GlobalDriverHandle};
|
||||
VariableBackup<uint32_t> driverCountBackup{&driverCount};
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
||||
|
@ -634,7 +642,7 @@ TEST(DriverImpTest, givenEnabledProgramDebuggingAndEnabledExperimentalOpenCLWhen
|
|||
delete L0::GlobalDriver;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenEnableProgramDebuggingWithValue2AndEnabledExperimentalOpenCLWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
TEST_F(DriverImpTest, givenEnableProgramDebuggingWithValue2AndEnabledExperimentalOpenCLWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
DebugManagerStateRestore restorer;
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -658,7 +666,7 @@ TEST(DriverImpTest, givenEnableProgramDebuggingWithValue2AndEnabledExperimentalO
|
|||
delete L0::GlobalDriver;
|
||||
}
|
||||
|
||||
TEST(DriverImpTest, givenNoProgramDebuggingEnvVarWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
TEST_F(DriverImpTest, givenNoProgramDebuggingEnvVarWhenCreatingExecutionEnvironmentThenDebuggingEnabledIsFalse) {
|
||||
|
||||
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get();
|
||||
hwInfo.capabilityTable.levelZeroSupported = true;
|
||||
|
@ -897,6 +905,7 @@ struct DriverHandleTest : public ::testing::Test {
|
|||
|
||||
driverHandle = whiteboxCast(DriverHandle::create(std::move(devices), envVariables, &returnValue));
|
||||
L0::GlobalDriverHandle = driverHandle;
|
||||
L0::driverCount = 1;
|
||||
}
|
||||
void TearDown() override {
|
||||
delete driverHandle;
|
||||
|
@ -904,8 +913,17 @@ struct DriverHandleTest : public ::testing::Test {
|
|||
L0::GlobalDriverHandle = nullptr;
|
||||
}
|
||||
L0::DriverHandle *driverHandle;
|
||||
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&GlobalDriverHandle};
|
||||
VariableBackup<uint32_t> driverCountBackup{&driverCount};
|
||||
};
|
||||
|
||||
TEST(DriverHandleNegativeTest, givenNotInitializedDriverWhenZeDriverGetIsCalledThenReturnZeroCount) {
|
||||
uint32_t count = 0u;
|
||||
auto result = zeDriverGet(&count, nullptr);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_EQ(0U, count);
|
||||
}
|
||||
|
||||
TEST_F(DriverHandleTest, givenInitializedDriverWhenZeDriverGetIsCalledThenDriverHandleCountIsObtained) {
|
||||
uint32_t count = 0;
|
||||
auto result = zeDriverGet(&count, nullptr);
|
||||
|
|
|
@ -25,6 +25,8 @@ add_executable(${TARGET_NAME}
|
|||
target_sources(${TARGET_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/source/dll/create_builtin_functions_lib.cpp
|
||||
|
|
|
@ -25,6 +25,8 @@ add_executable(${TARGET_NAME}
|
|||
target_sources(${TARGET_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h
|
||||
${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp
|
||||
|
|
Loading…
Reference in New Issue