diff --git a/shared/source/execution_environment/execution_environment.cpp b/shared/source/execution_environment/execution_environment.cpp index af32f7cc65..b090b36e53 100644 --- a/shared/source/execution_environment/execution_environment.cpp +++ b/shared/source/execution_environment/execution_environment.cpp @@ -354,10 +354,8 @@ void ExecutionEnvironment::adjustCcsCountImpl(RootDeviceEnvironment *rootDeviceE productHelper.adjustNumberOfCcs(*hwInfo); } -bool ExecutionEnvironment::adjustCcsCount() { - if (!parseCcsCountLimitations()) { - return false; - } +void ExecutionEnvironment::adjustCcsCount() { + parseCcsCountLimitations(); for (auto rootDeviceIndex = 0u; rootDeviceIndex < rootDeviceEnvironments.size(); rootDeviceIndex++) { auto &rootDeviceEnvironment = rootDeviceEnvironments[rootDeviceIndex]; @@ -366,42 +364,32 @@ bool ExecutionEnvironment::adjustCcsCount() { adjustCcsCountImpl(rootDeviceEnvironment.get()); } } - - return true; } -bool ExecutionEnvironment::adjustCcsCount(const uint32_t rootDeviceIndex) const { +void ExecutionEnvironment::adjustCcsCount(const uint32_t rootDeviceIndex) const { auto &rootDeviceEnvironment = rootDeviceEnvironments[rootDeviceIndex]; UNRECOVERABLE_IF(!rootDeviceEnvironment); if (rootDeviceNumCcsMap.find(rootDeviceIndex) != rootDeviceNumCcsMap.end()) { - if (!rootDeviceEnvironment->setNumberOfCcs(rootDeviceNumCcsMap.at(rootDeviceIndex))) { - return false; - } + rootDeviceEnvironment->setNumberOfCcs(rootDeviceNumCcsMap.at(rootDeviceIndex)); } else { adjustCcsCountImpl(rootDeviceEnvironment.get()); } - - return true; } -bool ExecutionEnvironment::parseCcsCountLimitations() { +void ExecutionEnvironment::parseCcsCountLimitations() { const auto &numberOfCcsString = debugManager.flags.ZEX_NUMBER_OF_CCS.get(); if (numberOfCcsString.compare("default") == 0 || numberOfCcsString.empty()) { - return true; + return; } for (auto rootDeviceIndex = 0u; rootDeviceIndex < rootDeviceEnvironments.size(); rootDeviceIndex++) { auto &rootDeviceEnvironment = rootDeviceEnvironments[rootDeviceIndex]; UNRECOVERABLE_IF(!rootDeviceEnvironment); auto &productHelper = rootDeviceEnvironment->getHelper(); - if (!productHelper.parseCcsMode(numberOfCcsString, rootDeviceNumCcsMap, rootDeviceIndex, rootDeviceEnvironment.get())) { - return false; - } + productHelper.parseCcsMode(numberOfCcsString, rootDeviceNumCcsMap, rootDeviceIndex, rootDeviceEnvironment.get()); } - - return true; } void ExecutionEnvironment::configureNeoEnvironment() { diff --git a/shared/source/execution_environment/execution_environment.h b/shared/source/execution_environment/execution_environment.h index 7134c63a9a..3b694e1e68 100644 --- a/shared/source/execution_environment/execution_environment.h +++ b/shared/source/execution_environment/execution_environment.h @@ -37,8 +37,8 @@ class ExecutionEnvironment : public ReferenceTrackedObject virtual void prepareRootDeviceEnvironments(uint32_t numRootDevices); void prepareRootDeviceEnvironment(const uint32_t rootDeviceIndexForReInit); void parseAffinityMask(); - bool adjustCcsCount(); - bool adjustCcsCount(const uint32_t rootDeviceIndex) const; + void adjustCcsCount(); + void adjustCcsCount(const uint32_t rootDeviceIndex) const; void sortNeoDevices(); void setDeviceHierarchyMode(const GfxCoreHelper &gfxCoreHelper); void setDeviceHierarchyMode(const DeviceHierarchyMode deviceHierarchyMode) { @@ -47,7 +47,7 @@ class ExecutionEnvironment : public ReferenceTrackedObject DeviceHierarchyMode getDeviceHierarchyMode() const { return deviceHierarchyMode; } void adjustRootDeviceEnvironments(); void prepareForCleanup() const; - MOCKABLE_VIRTUAL void configureCcsMode(); + void configureCcsMode(); void setDebuggingMode(DebuggingMode debuggingMode) { debuggingEnabledMode = debuggingMode; } @@ -97,7 +97,7 @@ class ExecutionEnvironment : public ReferenceTrackedObject protected: static bool comparePciIdBusNumber(std::unique_ptr &rootDeviceEnvironment1, std::unique_ptr &rootDeviceEnvironment2); - bool parseCcsCountLimitations(); + void parseCcsCountLimitations(); void adjustCcsCountImpl(RootDeviceEnvironment *rootDeviceEnvironment) const; void configureNeoEnvironment(); void restoreCcsMode(); diff --git a/shared/source/execution_environment/root_device_environment.cpp b/shared/source/execution_environment/root_device_environment.cpp index 9564fc7d0b..7bf6a67002 100644 --- a/shared/source/execution_environment/root_device_environment.cpp +++ b/shared/source/execution_environment/root_device_environment.cpp @@ -246,19 +246,12 @@ BuiltIns *RootDeviceEnvironment::getBuiltIns() { return this->builtins.get(); } -bool RootDeviceEnvironment::setNumberOfCcs(uint32_t numberOfCcs) { - if (hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled < numberOfCcs || numberOfCcs == 0) { - NEO::printDebugString(NEO::debugManager.flags.PrintDebugMessages.get(), stderr, "Error: Invalid number of CCS: %u. Maximum available number of CCS: %u\n", numberOfCcs, hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled); - return false; - } - - hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled = numberOfCcs; +void RootDeviceEnvironment::setNumberOfCcs(uint32_t numberOfCcs) { + hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled = std::min(hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled, numberOfCcs); limitedNumberOfCcs = true; if (aubCenter) { aubCenter->getAubManager()->setCCSMode(hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled); } - - return true; } uint32_t RootDeviceEnvironment::getNumberOfCcs() const { diff --git a/shared/source/execution_environment/root_device_environment.h b/shared/source/execution_environment/root_device_environment.h index 6cf94ad229..aed0155eb9 100644 --- a/shared/source/execution_environment/root_device_environment.h +++ b/shared/source/execution_environment/root_device_environment.h @@ -81,7 +81,7 @@ struct RootDeviceEnvironment : NonCopyableClass { BindlessHeapsHelper *getBindlessHeapsHelper() const; AssertHandler *getAssertHandler(Device *neoDevice); void createBindlessHeapsHelper(Device *rootDevice, bool availableDevices); - bool setNumberOfCcs(uint32_t numberOfCcs); + void setNumberOfCcs(uint32_t numberOfCcs); uint32_t getNumberOfCcs() const; bool isNumberOfCcsLimited() const; void setRcsExposure(); diff --git a/shared/source/os_interface/device_factory.cpp b/shared/source/os_interface/device_factory.cpp index ab199639a0..cc5fee1b03 100644 --- a/shared/source/os_interface/device_factory.cpp +++ b/shared/source/os_interface/device_factory.cpp @@ -164,9 +164,7 @@ bool DeviceFactory::prepareDeviceEnvironmentsForProductFamilyOverride(ExecutionE executionEnvironment.setDeviceHierarchyMode(executionEnvironment.rootDeviceEnvironments[0]->getHelper()); executionEnvironment.parseAffinityMask(); - if (!executionEnvironment.adjustCcsCount()) { - return false; - } + executionEnvironment.adjustCcsCount(); executionEnvironment.calculateMaxOsContextCount(); return true; } @@ -274,9 +272,7 @@ bool DeviceFactory::prepareDeviceEnvironments(ExecutionEnvironment &executionEnv executionEnvironment.sortNeoDevices(); executionEnvironment.parseAffinityMask(); executionEnvironment.adjustRootDeviceEnvironments(); - if (!executionEnvironment.adjustCcsCount()) { - return false; - } + executionEnvironment.adjustCcsCount(); executionEnvironment.calculateMaxOsContextCount(); return true; @@ -298,9 +294,7 @@ bool DeviceFactory::prepareDeviceEnvironment(ExecutionEnvironment &executionEnvi return false; } - if (!executionEnvironment.adjustCcsCount(rootDeviceIndex)) { - return false; - } + executionEnvironment.adjustCcsCount(rootDeviceIndex); return true; } diff --git a/shared/source/os_interface/product_helper.h b/shared/source/os_interface/product_helper.h index 2b21abf8ab..91c5464d83 100644 --- a/shared/source/os_interface/product_helper.h +++ b/shared/source/os_interface/product_helper.h @@ -227,7 +227,7 @@ class ProductHelper { virtual void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) const = 0; virtual void fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport) const = 0; - virtual bool parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const = 0; + virtual void parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const = 0; virtual bool isFusedEuDisabledForDpas(bool kernelHasDpasInstructions, const uint32_t *lws, const uint32_t *groupCount, const HardwareInfo &hwInfo) const = 0; virtual bool isCalculationForDisablingEuFusionWithDpasNeeded(const HardwareInfo &hwInfo) const = 0; diff --git a/shared/source/os_interface/product_helper.inl b/shared/source/os_interface/product_helper.inl index 188988f8c3..48a69a20df 100644 --- a/shared/source/os_interface/product_helper.inl +++ b/shared/source/os_interface/product_helper.inl @@ -715,16 +715,12 @@ void ProductHelperHw::fillStateBaseAddressPropertiesSupportStructure } template -bool ProductHelperHw::parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const { +void ProductHelperHw::parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const { auto ccsCount = StringHelpers::toUint32t(ccsModeString); rootDeviceNumCcsMap.insert({rootDeviceIndex, ccsCount}); - if (!rootDeviceEnvironment->setNumberOfCcs(ccsCount)) { - return false; - } - - return true; + rootDeviceEnvironment->setNumberOfCcs(ccsCount); } template diff --git a/shared/source/os_interface/product_helper_hw.h b/shared/source/os_interface/product_helper_hw.h index 9868705f38..2f0c2aac55 100644 --- a/shared/source/os_interface/product_helper_hw.h +++ b/shared/source/os_interface/product_helper_hw.h @@ -165,7 +165,7 @@ class ProductHelperHw : public ProductHelper { void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) const override; void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) const override; void fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport) const override; - bool parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const override; + void parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const override; bool isFusedEuDisabledForDpas(bool kernelHasDpasInstructions, const uint32_t *lws, const uint32_t *groupCount, const HardwareInfo &hwInfo) const override; bool isCalculationForDisablingEuFusionWithDpasNeeded(const HardwareInfo &hwInfo) const override; diff --git a/shared/source/xe_hpc_core/pvc/os_agnostic_product_helper_pvc.inl b/shared/source/xe_hpc_core/pvc/os_agnostic_product_helper_pvc.inl index 98095a4160..abe3e5887c 100644 --- a/shared/source/xe_hpc_core/pvc/os_agnostic_product_helper_pvc.inl +++ b/shared/source/xe_hpc_core/pvc/os_agnostic_product_helper_pvc.inl @@ -153,28 +153,21 @@ bool ProductHelperHw::isBlitCopyRequiredForLocalMemory(const RootDev } template <> -bool ProductHelperHw::parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const { +void ProductHelperHw::parseCcsMode(std::string ccsModeString, std::unordered_map &rootDeviceNumCcsMap, uint32_t rootDeviceIndex, RootDeviceEnvironment *rootDeviceEnvironment) const { auto numberOfCcsEntries = StringHelpers::split(ccsModeString, ","); for (const auto &entry : numberOfCcsEntries) { auto subEntries = StringHelpers::split(entry, ":"); - if (subEntries.size() < 2) { - NEO::printDebugString(NEO::debugManager.flags.PrintDebugMessages.get(), stderr, "Error: Invalid ZEX_NUMBER_OF_CCS format '%s'\n", ccsModeString.c_str()); - return false; - } - uint32_t rootDeviceIndexParsed = StringHelpers::toUint32t(subEntries[0]); if (rootDeviceIndexParsed == rootDeviceIndex) { - uint32_t maxCcsCount = StringHelpers::toUint32t(subEntries[1]); - rootDeviceNumCcsMap.insert({rootDeviceIndex, maxCcsCount}); - if (!rootDeviceEnvironment->setNumberOfCcs(maxCcsCount)) { - return false; + if (subEntries.size() > 1) { + uint32_t maxCcsCount = StringHelpers::toUint32t(subEntries[1]); + rootDeviceNumCcsMap.insert({rootDeviceIndex, maxCcsCount}); + rootDeviceEnvironment->setNumberOfCcs(maxCcsCount); } } } - - return true; } template <> diff --git a/shared/test/common/mocks/mock_execution_environment.cpp b/shared/test/common/mocks/mock_execution_environment.cpp index ad0fb17151..6783d5b017 100644 --- a/shared/test/common/mocks/mock_execution_environment.cpp +++ b/shared/test/common/mocks/mock_execution_environment.cpp @@ -91,8 +91,4 @@ void MockExecutionEnvironment::initGmm() { } } -void MockExecutionEnvironment::addToRootDeviceNumCcsMap(uint32_t rootDeviceIndex, uint32_t numCcs) { - this->rootDeviceNumCcsMap.insert({rootDeviceIndex, numCcs}); -} - } // namespace NEO diff --git a/shared/test/common/mocks/mock_execution_environment.h b/shared/test/common/mocks/mock_execution_environment.h index e5664fc4da..49bf03af8e 100644 --- a/shared/test/common/mocks/mock_execution_environment.h +++ b/shared/test/common/mocks/mock_execution_environment.h @@ -52,7 +52,6 @@ struct MockExecutionEnvironment : ExecutionEnvironment { MockExecutionEnvironment(const HardwareInfo *hwInfo); MockExecutionEnvironment(const HardwareInfo *hwInfo, bool useMockAubCenter, uint32_t numRootDevices); void initGmm(); - void addToRootDeviceNumCcsMap(uint32_t rootDeviceIndex, uint32_t numCcs); }; } // namespace NEO diff --git a/shared/test/unit_test/execution_environment/execution_environment_tests.cpp b/shared/test/unit_test/execution_environment/execution_environment_tests.cpp index 3f37d27427..c3dd0f54b9 100644 --- a/shared/test/unit_test/execution_environment/execution_environment_tests.cpp +++ b/shared/test/unit_test/execution_environment/execution_environment_tests.cpp @@ -780,49 +780,6 @@ TEST(ExecutionEnvironment, givenExecutionEnvironmentWhenSetDevicePermissionError EXPECT_FALSE(executionEnvironment.isDevicePermissionError()); } -TEST(ExecutionEnvironment, givenExecutionEnvironmentWhenCcsNumberIsInvalidThenAdjustCcsCountReturnsFalse) { - { - DebugManagerStateRestore restorer; - MockExecutionEnvironment executionEnvironment; - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0"); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount()); - } - { - DebugManagerStateRestore restorer; - MockExecutionEnvironment executionEnvironment; - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0:0"); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount()); - } - { - DebugManagerStateRestore restorer; - MockExecutionEnvironment executionEnvironment; - debugManager.flags.ZEX_NUMBER_OF_CCS.set("100"); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount()); - } - { - DebugManagerStateRestore restorer; - MockExecutionEnvironment executionEnvironment; - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0:100"); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount()); - } - { - MockExecutionEnvironment executionEnvironment; - executionEnvironment.addToRootDeviceNumCcsMap(0, 0); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount(0)); - } - { - MockExecutionEnvironment executionEnvironment; - executionEnvironment.addToRootDeviceNumCcsMap(0, 100); - - EXPECT_FALSE(executionEnvironment.adjustCcsCount(0)); - } -} - void ExecutionEnvironmentSortTests::SetUp() { executionEnvironment.prepareRootDeviceEnvironments(numRootDevices); for (uint32_t rootDeviceIndex = 0; rootDeviceIndex < numRootDevices; rootDeviceIndex++) { diff --git a/shared/test/unit_test/os_interface/device_factory_tests.cpp b/shared/test/unit_test/os_interface/device_factory_tests.cpp index 7d4e471202..292a0afcdd 100644 --- a/shared/test/unit_test/os_interface/device_factory_tests.cpp +++ b/shared/test/unit_test/os_interface/device_factory_tests.cpp @@ -8,14 +8,12 @@ #include "shared/source/helpers/constants.h" #include "shared/source/helpers/product_config_helper.h" #include "shared/source/os_interface/device_factory.h" -#include "shared/source/os_interface/os_interface.h" #include "shared/source/release_helper/release_helper.h" #include "shared/test/common/helpers/debug_manager_state_restore.h" #include "shared/test/common/helpers/default_hw_info.h" #include "shared/test/common/helpers/device_caps_reader_test_helper.h" #include "shared/test/common/helpers/gtest_helpers.h" #include "shared/test/common/helpers/stream_capture.h" -#include "shared/test/common/mocks/mock_driver_model.h" #include "shared/test/common/mocks/mock_execution_environment.h" #include "shared/test/common/mocks/mock_product_helper.h" #include "shared/test/common/test_macros/hw_test.h" @@ -56,30 +54,6 @@ TEST_F(DeviceFactoryTests, givenHwIpVersionOverrideWhenPrepareDeviceEnvironments EXPECT_NE(0u, executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->platform.usDeviceID); } -TEST_F(DeviceFactoryTests, givenHwIpVersionOverrideWhenPrepareDeviceEnvironmentsForProductFamilyOverrideIsCalledWithNumberOfCcsSetToZeroThenFalseIsReturned) { - ExecutionEnvironment executionEnvironment{}; - auto config = defaultHwInfo.get()->ipVersion.value; - debugManager.flags.OverrideHwIpVersion.set(config); - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0"); - - bool success = DeviceFactory::prepareDeviceEnvironmentsForProductFamilyOverride(executionEnvironment); - EXPECT_FALSE(success); - EXPECT_EQ(config, executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->ipVersion.value); - EXPECT_NE(0u, executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->platform.usDeviceID); -} - -TEST_F(DeviceFactoryTests, givenHwIpVersionOverrideWhenPrepareDeviceEnvironmentsForProductFamilyOverrideIsCalledWithNumberOfCcsSetToZeroColonZeroThenFalseIsReturned) { - ExecutionEnvironment executionEnvironment{}; - auto config = defaultHwInfo.get()->ipVersion.value; - debugManager.flags.OverrideHwIpVersion.set(config); - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0:0"); - - bool success = DeviceFactory::prepareDeviceEnvironmentsForProductFamilyOverride(executionEnvironment); - EXPECT_FALSE(success); - EXPECT_EQ(config, executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->ipVersion.value); - EXPECT_NE(0u, executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->platform.usDeviceID); -} - TEST_F(DeviceFactoryTests, givenHwIpVersionOverrideWhenPrepareDeviceEnvironmentsForProductFamilyOverrideIsCalledThenReleaseHelperContainsCorrectIpVersion) { ExecutionEnvironment executionEnvironment{}; auto config = defaultHwInfo.get()->ipVersion.value; @@ -182,44 +156,6 @@ TEST_F(DeviceFactoryTests, givenMultipleDevicesWhenInitializeResourcesSucceedsFo EXPECT_EQ(2u, rootDeviceEnvironment1->initOsInterfaceCalled); } -class MockExecutionEnvironmentConfigureCssMode : public MockExecutionEnvironment { - public: - using MockExecutionEnvironment::MockExecutionEnvironment; - using MockExecutionEnvironment::rootDeviceEnvironments; - - void configureCcsMode() override { - return; - } -}; - -TEST_F(DeviceFactoryTests, givenDeviceWhenInitializeResourcesSucceedsButCcsNumberIsZeroThenFalseIsReturned) { - debugManager.flags.CreateMultipleRootDevices.set(1); - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0"); - MockExecutionEnvironmentConfigureCssMode executionEnvironment(defaultHwInfo.get(), true, 1u); - - EXPECT_EQ(1u, executionEnvironment.rootDeviceEnvironments.size()); - auto rootDeviceEnvironment = static_cast(executionEnvironment.rootDeviceEnvironments[0].get()); - - rootDeviceEnvironment->initOsInterfaceResults.push_back(true); - - bool success = DeviceFactory::prepareDeviceEnvironments(executionEnvironment); - EXPECT_FALSE(success); -} - -TEST_F(DeviceFactoryTests, givenDeviceWhenInitializeResourcesSucceedsButCcsNumberIsZeroColonZeroThenFalseIsReturned) { - debugManager.flags.CreateMultipleRootDevices.set(1); - debugManager.flags.ZEX_NUMBER_OF_CCS.set("0:0"); - MockExecutionEnvironmentConfigureCssMode executionEnvironment(defaultHwInfo.get(), true, 1u); - - EXPECT_EQ(1u, executionEnvironment.rootDeviceEnvironments.size()); - auto rootDeviceEnvironment = static_cast(executionEnvironment.rootDeviceEnvironments[0].get()); - - rootDeviceEnvironment->initOsInterfaceResults.push_back(true); - - bool success = DeviceFactory::prepareDeviceEnvironments(executionEnvironment); - EXPECT_FALSE(success); -} - TEST_F(DeviceFactoryTests, givenMultipleDevicesWhenInitializeResourcesFailsForAllDevicesThenFailureIsReturned) { DebugManagerStateRestore restorer; debugManager.flags.CreateMultipleRootDevices.set(3); @@ -450,4 +386,4 @@ HWTEST_F(DeviceFactoryOverrideTest, GivenAubModeWhenValidateDeviceFlagsThenIsPro EXPECT_FALSE(hasSubstr(capturedStderr, expectedMissingProductFamilyStderrSubstr)); EXPECT_FALSE(hasSubstr(capturedStderr, expectedMissingHardwareInfoStderrSubstr)); } -} +} \ No newline at end of file