mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Move Drm cleanup logic to separated method
Related-To: NEO-6999 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
07bb2e7b0b
commit
2d151ec0fe
@@ -38,7 +38,7 @@ class DrmNullDeviceTestsFixture {
|
||||
void TearDown() { // NOLINT(readability-identifier-naming)
|
||||
}
|
||||
|
||||
std::unique_ptr<DrmWrap> drmNullDevice;
|
||||
std::unique_ptr<DrmWrap, std::function<void(Drm *)>> drmNullDevice;
|
||||
ExecutionEnvironment executionEnvironment;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#include "shared/source/os_interface/linux/hw_device_id.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
|
||||
#include <functional>
|
||||
|
||||
class DrmWrap : public NEO::Drm {
|
||||
public:
|
||||
using Drm::deviceId;
|
||||
@@ -19,10 +21,13 @@ class DrmWrap : public NEO::Drm {
|
||||
using Drm::queryDeviceIdAndRevision;
|
||||
using Drm::revisionId;
|
||||
using Drm::virtualMemoryIds;
|
||||
static std::unique_ptr<DrmWrap> createDrm(RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
static std::unique_ptr<DrmWrap, std::function<void(Drm *)>> createDrm(RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
auto hwDeviceIds = OSInterface::discoverDevices(rootDeviceEnvironment.executionEnvironment);
|
||||
if (!hwDeviceIds.empty()) {
|
||||
return std::unique_ptr<DrmWrap>{static_cast<DrmWrap *>(NEO::Drm::create(std::unique_ptr<HwDeviceIdDrm>(hwDeviceIds[0].release()->as<HwDeviceIdDrm>()), rootDeviceEnvironment))};
|
||||
return std::unique_ptr<DrmWrap, std::function<void(Drm *)>>{static_cast<DrmWrap *>(NEO::Drm::create(std::unique_ptr<HwDeviceIdDrm>(hwDeviceIds[0].release()->as<HwDeviceIdDrm>()), rootDeviceEnvironment)), [](Drm *drm) {
|
||||
drm->cleanup();
|
||||
delete drm;
|
||||
}};
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ TEST_F(DrmSimpleTests, givenPrintIoctlTimesWhenCallIoctlThenStatisticsAreGathere
|
||||
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
auto drm = DrmWrap::createDrm(*executionEnvironment->rootDeviceEnvironments[0]).release();
|
||||
auto drm = DrmWrap::createDrm(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.PrintIoctlTimes.set(true);
|
||||
@@ -343,7 +343,7 @@ TEST_F(DrmSimpleTests, givenPrintIoctlTimesWhenCallIoctlThenStatisticsAreGathere
|
||||
|
||||
::testing::internal::CaptureStdout();
|
||||
|
||||
delete drm;
|
||||
drm.reset();
|
||||
|
||||
std::string output = ::testing::internal::GetCapturedStdout();
|
||||
EXPECT_STRNE("", output.c_str());
|
||||
|
||||
Reference in New Issue
Block a user