test: adding testing debug flag overriding driver version

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz 2023-06-27 16:21:32 +00:00 committed by Compute-Runtime-Automation
parent feb605577c
commit 1067167637
4 changed files with 33 additions and 0 deletions

View File

@ -108,6 +108,9 @@ ze_result_t DriverHandleImp::getApiVersion(ze_api_version_t *version) {
ze_result_t DriverHandleImp::getProperties(ze_driver_properties_t *properties) {
uint32_t versionBuild = static_cast<uint32_t>(strtoul(NEO_VERSION_BUILD, NULL, 10));
properties->driverVersion = DriverHandleImp::initialDriverVersionValue + versionBuild;
if (NEO::DebugManager.flags.OverrideDriverVersion.get() > -1) {
properties->driverVersion = static_cast<uint32_t>(NEO::DebugManager.flags.OverrideDriverVersion.get());
}
uint64_t uniqueId = (properties->driverVersion) | (uuidTimestamp & 0xFFFFFFFF00000000);
memcpy_s(properties->uuid.id, sizeof(uniqueId), &uniqueId, sizeof(uniqueId));

View File

@ -134,6 +134,34 @@ TEST_F(DriverVersionTest, WhenGettingDriverVersionThenExpectedDriverVersionIsRet
EXPECT_EQ(expectedDriverVersion, properties.driverVersion);
}
TEST_F(DriverVersionTest, GivenDebugOverrideWhenGettingDriverVersionThenExpectedOverrideDriverVersionIsReturned) {
DebugManagerStateRestore restorer;
NEO::DebugManager.flags.OverrideDriverVersion.set(0);
ze_driver_properties_t properties;
ze_result_t res = driverHandle->getProperties(&properties);
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
uint32_t expectedDriverVersion = 0;
EXPECT_EQ(expectedDriverVersion, properties.driverVersion);
NEO::DebugManager.flags.OverrideDriverVersion.set(10);
res = driverHandle->getProperties(&properties);
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
expectedDriverVersion = 10;
EXPECT_EQ(expectedDriverVersion, properties.driverVersion);
NEO::DebugManager.flags.OverrideDriverVersion.set(DriverHandleImp::initialDriverVersionValue + 20);
res = driverHandle->getProperties(&properties);
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
expectedDriverVersion = DriverHandleImp::initialDriverVersionValue + 20;
EXPECT_EQ(expectedDriverVersion, properties.driverVersion);
}
TEST_F(DriverVersionTest, givenCallToGetDriverPropertiesThenUuidIsSet) {
ze_driver_properties_t properties;

View File

@ -247,6 +247,7 @@ DECLARE_DEBUG_VARIABLE(int32_t, EnableDynamicPostSyncAllocLayout, -1, "-1: defau
DECLARE_DEBUG_VARIABLE(int32_t, PrintTimestampPacketUsage, -1, "-1: default, 0: Disabled, 1: Print when TSP is allocated, initialized, returned to pool, etc.")
DECLARE_DEBUG_VARIABLE(int32_t, SynchronizeEventBeforeReset, -1, "-1: default, 0: Disabled, 1: Synchronize Event completion on host before calling reset. 2: Synchronize + print extra logs.")
DECLARE_DEBUG_VARIABLE(int32_t, TrackNumCsrClientsOnSyncPoints, -1, "-1: default, 0: Disabled, 1: If set, synchronization points like zeEventHostSynchronize will unregister CmdQ from CSR clients")
DECLARE_DEBUG_VARIABLE(int32_t, OverrideDriverVersion, -1, "-1: default, >=0: Use value as reported driver version")
/*LOGGING FLAGS*/
DECLARE_DEBUG_VARIABLE(int32_t, PrintDriverDiagnostics, -1, "prints driver diagnostics messages to standard output, value corresponds to hint level")

View File

@ -138,6 +138,7 @@ EnableAsyncDestroyAllocations = 1
EnableAsyncEventsHandler = 1
EnableForcePin = 1
EnableGemCloseWorker = -1
OverrideDriverVersion = -1
EnableHostPtrValidation = -1
EnableComputeWorkSizeND = 1
EnableMultiRootDeviceContexts = 1