diff --git a/level_zero/tools/source/metrics/metric_oa_query_imp.cpp b/level_zero/tools/source/metrics/metric_oa_query_imp.cpp index 3962082e18..de3a04f3be 100644 --- a/level_zero/tools/source/metrics/metric_oa_query_imp.cpp +++ b/level_zero/tools/source/metrics/metric_oa_query_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -179,7 +179,7 @@ void MetricsLibrary::release() { bool MetricsLibrary::load() { // Load library. - handle = NEO::OsLibrary::loadFunc({getFilename()}); + handle.reset(NEO::OsLibrary::loadFunc({getFilename()})); // Load exported functions. if (handle) { diff --git a/level_zero/tools/source/metrics/metric_oa_query_imp.h b/level_zero/tools/source/metrics/metric_oa_query_imp.h index 5ee770a5d9..daa06f8a2f 100644 --- a/level_zero/tools/source/metrics/metric_oa_query_imp.h +++ b/level_zero/tools/source/metrics/metric_oa_query_imp.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -97,7 +97,7 @@ struct MetricsLibrary { ClientGen getGenType(const NEO::GfxCoreHelper &gfxCoreHelper) const; protected: - NEO::OsLibrary *handle = nullptr; + std::unique_ptr handle; OaMetricSourceImp &metricSource; ze_result_t initializationState = ZE_RESULT_ERROR_UNINITIALIZED; bool isWorkloadPartitionEnabled = false; diff --git a/level_zero/tools/test/unit_tests/sources/metrics/mock_metric_oa.cpp b/level_zero/tools/test/unit_tests/sources/metrics/mock_metric_oa.cpp index 5176eaff32..79e47aac62 100644 --- a/level_zero/tools/test/unit_tests/sources/metrics/mock_metric_oa.cpp +++ b/level_zero/tools/test/unit_tests/sources/metrics/mock_metric_oa.cpp @@ -41,7 +41,7 @@ void MetricContextFixture::setUp() { // Mock metrics library. mockMetricsLibrary = std::unique_ptr>(new (std::nothrow) Mock(metricSource)); mockMetricsLibrary->setMockedApi(&mockMetricsLibraryApi); - mockMetricsLibrary->handle = new MockOsLibrary(); + mockMetricsLibrary->handle = std::make_unique(); // Mock metric enumeration. mockMetricEnumeration = std::unique_ptr>(new (std::nothrow) Mock(metricSource)); @@ -56,7 +56,6 @@ void MetricContextFixture::setUp() { void MetricContextFixture::tearDown() { // Restore original metrics library - delete mockMetricsLibrary->handle; mockMetricsLibrary->setMockedApi(nullptr); mockMetricsLibrary.reset(); @@ -106,7 +105,7 @@ void MetricMultiDeviceFixture::setUp() { // Mock metrics library. mockMetricsLibrary = std::unique_ptr>(new (std::nothrow) Mock(metricSource)); mockMetricsLibrary->setMockedApi(&mockMetricsLibraryApi); - mockMetricsLibrary->handle = new MockOsLibrary(); + mockMetricsLibrary->handle = std::make_unique(); // Mock metric enumeration. mockMetricEnumeration = std::unique_ptr>(new (std::nothrow) Mock(metricSource)); @@ -126,7 +125,7 @@ void MetricMultiDeviceFixture::setUp() { mockMetricsLibrarySubDevices[i] = std::unique_ptr>(new (std::nothrow) Mock(metricsSubDeviceContext)); mockMetricsLibrarySubDevices[i]->setMockedApi(&mockMetricsLibraryApi); - mockMetricsLibrarySubDevices[i]->handle = new MockOsLibrary(); + mockMetricsLibrarySubDevices[i]->handle = std::make_unique(); metricsSubDeviceContext.setInitializationState(ZE_RESULT_SUCCESS); deviceImp.subDevices[i]->getMetricDeviceContext().setMetricsCollectionAllowed(true); @@ -146,7 +145,6 @@ void MetricMultiDeviceFixture::tearDown() { mockMetricEnumerationSubDevices[i]->setMockedApi(nullptr); mockMetricEnumerationSubDevices[i].reset(); - delete mockMetricsLibrarySubDevices[i]->handle; mockMetricsLibrarySubDevices[i]->setMockedApi(nullptr); mockMetricsLibrarySubDevices[i].reset(); } @@ -155,7 +153,6 @@ void MetricMultiDeviceFixture::tearDown() { mockMetricsLibrarySubDevices.clear(); // Restore original metrics library - delete mockMetricsLibrary->handle; mockMetricsLibrary->setMockedApi(nullptr); mockMetricsLibrary.reset();