mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Dont construct ocl platform in drm memory manager tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
4bfc78f9f5
commit
033b16fa43
@ -183,8 +183,8 @@ int DrmMockCustom::ioctl(unsigned long request, void *arg) {
|
||||
return ioctl_res.load();
|
||||
}
|
||||
|
||||
DrmMockCustom::DrmMockCustom()
|
||||
: Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), *constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]) {
|
||||
DrmMockCustom::DrmMockCustom(RootDeviceEnvironment &rootDeviceEnvironment)
|
||||
: Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), rootDeviceEnvironment) {
|
||||
reset();
|
||||
ioctl_expected.contextCreate = static_cast<int>(NEO::HwHelper::get(NEO::defaultHwInfo->platform.eRenderCoreFamily).getGpgpuEngineInstances(*NEO::defaultHwInfo).size());
|
||||
ioctl_expected.contextDestroy = ioctl_expected.contextCreate.load();
|
||||
|
@ -12,9 +12,7 @@
|
||||
#include "shared/source/os_interface/linux/drm_neo.h"
|
||||
#include "shared/test/common/helpers/default_hw_info.h"
|
||||
|
||||
#include "opencl/source/platform/platform.h"
|
||||
#include "opencl/test/unit_test/helpers/gtest_helpers.h"
|
||||
#include "opencl/test/unit_test/mocks/mock_platform.h"
|
||||
|
||||
#include "drm/i915_drm.h"
|
||||
#include "engine_node.h"
|
||||
@ -25,7 +23,6 @@
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
|
||||
using NEO::constructPlatform;
|
||||
using NEO::Drm;
|
||||
using NEO::HwDeviceIdDrm;
|
||||
using NEO::RootDeviceEnvironment;
|
||||
@ -35,7 +32,6 @@ extern const char *mockPciPath;
|
||||
|
||||
class DrmMockImpl : public Drm {
|
||||
public:
|
||||
DrmMockImpl(int fd) : DrmMockImpl(fd, *constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]){};
|
||||
DrmMockImpl(int fd, RootDeviceEnvironment &rootDeviceEnvironment) : Drm(std::make_unique<HwDeviceIdDrm>(fd, mockPciPath), rootDeviceEnvironment){};
|
||||
|
||||
MOCK_METHOD2(ioctl, int(unsigned long request, void *arg));
|
||||
@ -43,7 +39,6 @@ class DrmMockImpl : public Drm {
|
||||
|
||||
class DrmMockSuccess : public Drm {
|
||||
public:
|
||||
DrmMockSuccess() : DrmMockSuccess(mockFd, *constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]) {}
|
||||
DrmMockSuccess(int fd, RootDeviceEnvironment &rootDeviceEnvironment) : Drm(std::make_unique<HwDeviceIdDrm>(fd, mockPciPath), rootDeviceEnvironment) {}
|
||||
|
||||
int ioctl(unsigned long request, void *arg) override { return 0; };
|
||||
@ -51,13 +46,14 @@ class DrmMockSuccess : public Drm {
|
||||
|
||||
class DrmMockFail : public Drm {
|
||||
public:
|
||||
DrmMockFail() : Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), *constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]) {}
|
||||
DrmMockFail(RootDeviceEnvironment &rootDeviceEnvironment) : Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), rootDeviceEnvironment) {}
|
||||
|
||||
int ioctl(unsigned long request, void *arg) override { return -1; };
|
||||
};
|
||||
|
||||
class DrmMockTime : public DrmMockSuccess {
|
||||
public:
|
||||
using DrmMockSuccess::DrmMockSuccess;
|
||||
int ioctl(unsigned long request, void *arg) override {
|
||||
drm_i915_reg_read *reg = reinterpret_cast<drm_i915_reg_read *>(arg);
|
||||
reg->val = getVal() << 32;
|
||||
@ -123,7 +119,7 @@ class DrmMockCustom : public Drm {
|
||||
uint32_t called = 0u;
|
||||
};
|
||||
|
||||
DrmMockCustom();
|
||||
DrmMockCustom(RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
int waitUserFence(uint32_t ctxId, uint64_t address, uint64_t value, ValueWidth dataWidth, int64_t timeout, uint16_t flags) override;
|
||||
|
||||
|
@ -75,7 +75,7 @@ class DrmMockCustomExp : public DrmMockCustom {
|
||||
return 0;
|
||||
}
|
||||
|
||||
DrmMockCustomExp() : DrmMockCustom() {
|
||||
DrmMockCustomExp(RootDeviceEnvironment &rootDeviceEnvironment) : DrmMockCustom(rootDeviceEnvironment) {
|
||||
ioctlExp_cnt.reset();
|
||||
ioctlExp_expected.reset();
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ struct DeviceCommandStreamLeaksTest : ::testing::Test {
|
||||
|
||||
HWTEST_F(DeviceCommandStreamLeaksTest, WhenCreatingDeviceCsrThenValidPointerIsReturned) {
|
||||
std::unique_ptr<CommandStreamReceiver> ptr(DeviceCommandStreamReceiver<FamilyType>::create(false, *executionEnvironment, 0, 1));
|
||||
DrmMockSuccess mockDrm;
|
||||
DrmMockSuccess mockDrm(mockFd, *executionEnvironment->rootDeviceEnvironments[0]);
|
||||
EXPECT_NE(nullptr, ptr);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "shared/test/common/libult/linux/drm_mock.h"
|
||||
#include "shared/test/common/mocks/linux/mock_drm_allocation.h"
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
|
||||
#include "opencl/test/unit_test/os_interface/linux/device_command_stream_fixture.h"
|
||||
#include "test.h"
|
||||
@ -53,9 +54,9 @@ class DrmBufferObjectFixture {
|
||||
std::unique_ptr<OsContextLinux> osContext;
|
||||
|
||||
void SetUp() {
|
||||
this->mock = std::make_unique<DrmMockCustom>();
|
||||
this->mock = std::make_unique<DrmMockCustom>(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
ASSERT_NE(nullptr, this->mock);
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
executionEnvironment.rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
osContext.reset(new OsContextLinux(*this->mock, 0u, EngineDescriptorHelper::getDefaultDescriptor()));
|
||||
this->mock->reset();
|
||||
bo = new TestedBufferObject(this->mock.get());
|
||||
@ -71,6 +72,7 @@ class DrmBufferObjectFixture {
|
||||
osContext.reset(nullptr);
|
||||
mock.reset(nullptr);
|
||||
}
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
};
|
||||
|
||||
typedef Test<DrmBufferObjectFixture> DrmBufferObjectTest;
|
||||
@ -234,8 +236,9 @@ TEST_F(DrmBufferObjectTest, whenPrintExecutionBufferIsSetToTrueThenMessageFoundI
|
||||
|
||||
TEST(DrmBufferObjectSimpleTest, givenInvalidBoWhenValidateHostptrIsCalledThenErrorIsReturned) {
|
||||
std::unique_ptr<uint32_t[]> buff(new uint32_t[256]);
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom);
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]));
|
||||
executionEnvironment.rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
OsContextLinux osContext(*mock, 0u, EngineDescriptorHelper::getDefaultDescriptor());
|
||||
ASSERT_NE(nullptr, mock.get());
|
||||
std::unique_ptr<TestedBufferObject> bo(new TestedBufferObject(mock.get()));
|
||||
@ -258,8 +261,9 @@ TEST(DrmBufferObjectSimpleTest, givenInvalidBoWhenValidateHostptrIsCalledThenErr
|
||||
|
||||
TEST(DrmBufferObjectSimpleTest, givenInvalidBoWhenPinIsCalledThenErrorIsReturned) {
|
||||
std::unique_ptr<uint32_t[]> buff(new uint32_t[256]);
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom);
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]));
|
||||
executionEnvironment.rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock.get(), 0u);
|
||||
OsContextLinux osContext(*mock, 0u, EngineDescriptorHelper::getDefaultDescriptor());
|
||||
ASSERT_NE(nullptr, mock.get());
|
||||
std::unique_ptr<TestedBufferObject> bo(new TestedBufferObject(mock.get()));
|
||||
@ -281,7 +285,8 @@ TEST(DrmBufferObjectSimpleTest, givenInvalidBoWhenPinIsCalledThenErrorIsReturned
|
||||
}
|
||||
|
||||
TEST(DrmBufferObjectSimpleTest, givenBufferObjectWhenConstructedWithASizeThenTheSizeIsInitialized) {
|
||||
std::unique_ptr<DrmMockCustom> drmMock(new DrmMockCustom);
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
std::unique_ptr<DrmMockCustom> drmMock(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]));
|
||||
std::unique_ptr<BufferObject> bo(new BufferObject(drmMock.get(), 1, 0x1000, 1));
|
||||
|
||||
EXPECT_EQ(0x1000u, bo->peekSize());
|
||||
@ -289,7 +294,8 @@ TEST(DrmBufferObjectSimpleTest, givenBufferObjectWhenConstructedWithASizeThenThe
|
||||
|
||||
TEST(DrmBufferObjectSimpleTest, givenArrayOfBosWhenPinnedThenAllBosArePinned) {
|
||||
std::unique_ptr<uint32_t[]> buff(new uint32_t[256]);
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom);
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]));
|
||||
ASSERT_NE(nullptr, mock.get());
|
||||
OsContextLinux osContext(*mock, 0u, EngineDescriptorHelper::getDefaultDescriptor());
|
||||
|
||||
@ -322,7 +328,8 @@ TEST(DrmBufferObjectSimpleTest, givenArrayOfBosWhenPinnedThenAllBosArePinned) {
|
||||
|
||||
TEST(DrmBufferObjectSimpleTest, givenArrayOfBosWhenValidatedThenAllBosArePinned) {
|
||||
std::unique_ptr<uint32_t[]> buff(new uint32_t[256]);
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom);
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
std::unique_ptr<DrmMockCustom> mock(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]));
|
||||
ASSERT_NE(nullptr, mock.get());
|
||||
OsContextLinux osContext(*mock, 0u, EngineDescriptorHelper::getDefaultDescriptor());
|
||||
|
||||
|
@ -32,7 +32,7 @@ class DrmCommandStreamTest : public ::testing::Test {
|
||||
//make sure this is disabled, we don't want to test this now
|
||||
DebugManager.flags.EnableForcePin.set(false);
|
||||
|
||||
mock = new ::testing::NiceMock<DrmMockImpl>(mockFd);
|
||||
mock = new ::testing::NiceMock<DrmMockImpl>(mockFd, *executionEnvironment.rootDeviceEnvironments[0]);
|
||||
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
@ -105,7 +105,7 @@ class DrmCommandStreamEnhancedTemplate : public ::testing::Test {
|
||||
//make sure this is disabled, we don't want to test this now
|
||||
DebugManager.flags.EnableForcePin.set(false);
|
||||
|
||||
mock = new T();
|
||||
mock = new T(*executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]);
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, rootDeviceIndex);
|
||||
@ -118,9 +118,9 @@ class DrmCommandStreamEnhancedTemplate : public ::testing::Test {
|
||||
*executionEnvironment);
|
||||
ASSERT_NE(nullptr, mm);
|
||||
executionEnvironment->memoryManager.reset(mm);
|
||||
constructPlatform()->peekExecutionEnvironment()->prepareRootDeviceEnvironments(1u);
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->setHwInfo(NEO::defaultHwInfo.get());
|
||||
constructPlatform()->peekExecutionEnvironment()->initializeMemoryManager();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1u);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(NEO::defaultHwInfo.get());
|
||||
executionEnvironment->initializeMemoryManager();
|
||||
device.reset(MockDevice::create<MockDevice>(executionEnvironment, rootDeviceIndex));
|
||||
device->resetCommandStreamReceiver(csr);
|
||||
ASSERT_NE(nullptr, device);
|
||||
@ -185,7 +185,7 @@ class DrmCommandStreamEnhancedWithFailingExecTemplate : public ::testing::Test {
|
||||
//make sure this is disabled, we don't want to test this now
|
||||
DebugManager.flags.EnableForcePin.set(false);
|
||||
|
||||
mock = new T();
|
||||
mock = new T(*executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]);
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, rootDeviceIndex);
|
||||
@ -198,9 +198,9 @@ class DrmCommandStreamEnhancedWithFailingExecTemplate : public ::testing::Test {
|
||||
*executionEnvironment);
|
||||
ASSERT_NE(nullptr, mm);
|
||||
executionEnvironment->memoryManager.reset(mm);
|
||||
constructPlatform()->peekExecutionEnvironment()->prepareRootDeviceEnvironments(1u);
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->setHwInfo(NEO::defaultHwInfo.get());
|
||||
constructPlatform()->peekExecutionEnvironment()->initializeMemoryManager();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1u);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(NEO::defaultHwInfo.get());
|
||||
executionEnvironment->initializeMemoryManager();
|
||||
device.reset(MockDevice::create<MockDevice>(executionEnvironment, rootDeviceIndex));
|
||||
device->resetCommandStreamReceiver(csr);
|
||||
ASSERT_NE(nullptr, device);
|
||||
|
@ -27,8 +27,8 @@ HWTEST_F(DrmCommandStreamMMTest, GivenForcePinThenMemoryManagerCreatesPinBb) {
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.EnableForcePin.set(true);
|
||||
|
||||
auto drm = new DrmMockCustom();
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(drm));
|
||||
@ -46,8 +46,8 @@ HWTEST_F(DrmCommandStreamMMTest, givenForcePinDisabledWhenMemoryManagerIsCreated
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.EnableForcePin.set(false);
|
||||
|
||||
auto drm = new DrmMockCustom();
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
executionEnvironment.rootDeviceEnvironments[0]->setHwInfo(defaultHwInfo.get());
|
||||
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
@ -68,7 +68,7 @@ HWTEST_F(DrmCommandStreamMMTest, givenExecutionEnvironmentWithMoreThanOneRootDev
|
||||
for (uint32_t rootDeviceIndex = 0; rootDeviceIndex < executionEnvironment.rootDeviceEnvironments.size(); rootDeviceIndex++) {
|
||||
executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->setHwInfo(defaultHwInfo.get());
|
||||
executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique<OSInterface>();
|
||||
auto drm = new DrmMockCustom();
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(drm));
|
||||
executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*drm, 0u);
|
||||
}
|
||||
|
@ -858,7 +858,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, givenDrmCommandStreamReceiverWhenCreate
|
||||
executionEnvironment.rootDeviceEnvironments[1]->setHwInfo(defaultHwInfo.get());
|
||||
executionEnvironment.rootDeviceEnvironments[1]->initGmm();
|
||||
executionEnvironment.rootDeviceEnvironments[1]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment.rootDeviceEnvironments[1]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom()));
|
||||
executionEnvironment.rootDeviceEnvironments[1]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0])));
|
||||
auto csr = std::make_unique<MockDrmCsr<FamilyType>>(executionEnvironment, 1, 1, gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
auto pageTableManager = csr->createPageTableManager();
|
||||
EXPECT_EQ(csr->pageTableManager.get(), pageTableManager);
|
||||
|
@ -38,7 +38,7 @@ class DrmMockForWorker : public Drm {
|
||||
std::atomic<int> gem_close_cnt;
|
||||
std::atomic<int> gem_close_expected;
|
||||
std::atomic<std::thread::id> ioctl_caller_thread_id;
|
||||
DrmMockForWorker() : Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), *platform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]) {
|
||||
DrmMockForWorker(RootDeviceEnvironment &rootDeviceEnvironment) : Drm(std::make_unique<HwDeviceIdDrm>(mockFd, mockPciPath), rootDeviceEnvironment) {
|
||||
}
|
||||
int ioctl(unsigned long request, void *arg) override {
|
||||
if (_IOC_TYPE(request) == DRM_IOCTL_BASE) {
|
||||
@ -66,7 +66,7 @@ class DrmGemCloseWorkerFixture {
|
||||
uint32_t deadCnt = deadCntInit;
|
||||
|
||||
void SetUp() {
|
||||
this->drmMock = new DrmMockForWorker;
|
||||
this->drmMock = new DrmMockForWorker(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(drmMock));
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "shared/test/common/mocks/mock_gmm.h"
|
||||
|
||||
#include "opencl/test/unit_test/mocks/mock_context.h"
|
||||
#include "opencl/test/unit_test/mocks/mock_platform.h"
|
||||
#include "opencl/test/unit_test/os_interface/linux/drm_memory_manager_tests_exp.h"
|
||||
#include "opencl/test/unit_test/os_interface/linux/drm_mock_exp.h"
|
||||
#include "opencl/test/unit_test/os_interface/linux/drm_mock_memory_info.h"
|
||||
@ -73,7 +74,7 @@ class DrmMemoryManagerLocalMemoryWithCustomMockTest : public ::testing::Test {
|
||||
executionEnvironment = new ExecutionEnvironment;
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(defaultHwInfo.get());
|
||||
mock = new DrmMockCustomExp();
|
||||
mock = new DrmMockCustomExp(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
|
||||
|
@ -761,7 +761,7 @@ TEST(DrmMemoryManagerTest2, givenDrmMemoryManagerWhengetSystemSharedMemoryIsCall
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(4u);
|
||||
for (auto i = 0u; i < 4u; i++) {
|
||||
auto mock = new DrmMockCustom();
|
||||
auto mock = new DrmMockCustom(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(defaultHwInfo.get());
|
||||
@ -795,7 +795,7 @@ TEST(DrmMemoryManagerTest2, WhenGetMinimumSystemSharedMemoryThenCorrectValueIsRe
|
||||
executionEnvironment->prepareRootDeviceEnvironments(4u);
|
||||
for (auto i = 0u; i < 4u; i++) {
|
||||
executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(defaultHwInfo.get());
|
||||
auto mock = new DrmMockCustom();
|
||||
auto mock = new DrmMockCustom(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
}
|
||||
@ -2558,7 +2558,7 @@ TEST_F(DrmMemoryManagerTest, givenDrmMemoryManagerWhenLockUnlockIsCalledButFails
|
||||
this->ioctlResExt = {mock->ioctl_cnt.total, -1};
|
||||
mock->ioctl_res_ext = &ioctlResExt;
|
||||
|
||||
DrmMockCustom drmMock;
|
||||
DrmMockCustom drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
struct BufferObjectMock : public BufferObject {
|
||||
BufferObjectMock(Drm *drm) : BufferObject(drm, 1, 0, 1) {}
|
||||
};
|
||||
@ -2591,7 +2591,7 @@ TEST_F(DrmMemoryManagerTest, givenDrmMemoryManagerWhenUnlockResourceIsCalledOnAl
|
||||
|
||||
DrmMemoryManagerToTestUnlockResource drmMemoryManager(*executionEnvironment, true, MemoryConstants::pageSize);
|
||||
|
||||
DrmMockCustom drmMock;
|
||||
DrmMockCustom drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
struct BufferObjectMock : public BufferObject {
|
||||
BufferObjectMock(Drm *drm) : BufferObject(drm, 1, 0, 1) {}
|
||||
};
|
||||
@ -2618,7 +2618,7 @@ TEST_F(DrmMemoryManagerTest, givenDrmMemoryManagerWhenSetDomainCpuIsCalledButFai
|
||||
this->ioctlResExt = {mock->ioctl_cnt.total, -1};
|
||||
mock->ioctl_res_ext = &ioctlResExt;
|
||||
|
||||
DrmMockCustom drmMock;
|
||||
DrmMockCustom drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
struct BufferObjectMock : public BufferObject {
|
||||
BufferObjectMock(Drm *drm) : BufferObject(drm, 1, 0, 1) {}
|
||||
};
|
||||
@ -2634,7 +2634,7 @@ TEST_F(DrmMemoryManagerTest, givenDrmMemoryManagerWhenSetDomainCpuIsCalledButFai
|
||||
TEST_F(DrmMemoryManagerTest, givenDrmMemoryManagerWhenSetDomainCpuIsCalledOnAllocationThenReturnSetWriteDomain) {
|
||||
mock->ioctl_expected.gemSetDomain = 1;
|
||||
|
||||
DrmMockCustom drmMock;
|
||||
DrmMockCustom drmMock(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
struct BufferObjectMock : public BufferObject {
|
||||
BufferObjectMock(Drm *drm) : BufferObject(drm, 1, 0, 1) {}
|
||||
};
|
||||
@ -3864,7 +3864,7 @@ TEST(DrmMemoryManagerWithExplicitExpectationsTest2, whenObtainFdFromHandleIsCall
|
||||
executionEnvironment->prepareRootDeviceEnvironments(4u);
|
||||
for (auto i = 0u; i < 4u; i++) {
|
||||
executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(defaultHwInfo.get());
|
||||
auto mock = new DrmMockCustom();
|
||||
auto mock = new DrmMockCustom(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique<OSInterface>();
|
||||
executionEnvironment->rootDeviceEnvironments[i]->osInterface->setDriverModel(std::unique_ptr<DriverModel>(mock));
|
||||
}
|
||||
|
@ -55,21 +55,23 @@ class DrmMemoryManagerFixture : public MemoryManagementFixture {
|
||||
|
||||
void SetUp() override {
|
||||
MemoryManagementFixture::SetUp();
|
||||
SetUp(new DrmMockCustom, false);
|
||||
|
||||
executionEnvironment = MockClDevice::prepareExecutionEnvironment(defaultHwInfo.get(), numRootDevices - 1);
|
||||
SetUp(new DrmMockCustom(*executionEnvironment->rootDeviceEnvironments[0]), false);
|
||||
}
|
||||
|
||||
void SetUp(DrmMockCustom *mock, bool localMemoryEnabled) {
|
||||
ASSERT_NE(nullptr, executionEnvironment);
|
||||
executionEnvironment->incRefInternal();
|
||||
DebugManager.flags.DeferOsContextInitialization.set(0);
|
||||
|
||||
environmentWrapper.setCsrType<TestedDrmCommandStreamReceiver<DEFAULT_TEST_FAMILY_NAME>>();
|
||||
allocationData.rootDeviceIndex = rootDeviceIndex;
|
||||
this->mock = mock;
|
||||
executionEnvironment = MockClDevice::prepareExecutionEnvironment(defaultHwInfo.get(), numRootDevices - 1);
|
||||
executionEnvironment->incRefInternal();
|
||||
for (auto i = 0u; i < numRootDevices; i++) {
|
||||
auto rootDeviceEnvironment = executionEnvironment->rootDeviceEnvironments[i].get();
|
||||
rootDeviceEnvironment->osInterface = std::make_unique<OSInterface>();
|
||||
rootDeviceEnvironment->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom()));
|
||||
rootDeviceEnvironment->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom(*rootDeviceEnvironment)));
|
||||
rootDeviceEnvironment->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*rootDeviceEnvironment->osInterface->getDriverModel()->as<Drm>(), i);
|
||||
rootDeviceEnvironment->builtins.reset(new MockBuiltins);
|
||||
}
|
||||
@ -120,7 +122,7 @@ class DrmMemoryManagerFixture : public MemoryManagementFixture {
|
||||
}
|
||||
|
||||
protected:
|
||||
ExecutionEnvironment *executionEnvironment;
|
||||
ExecutionEnvironment *executionEnvironment = nullptr;
|
||||
RootDeviceEnvironment *rootDeviceEnvironment = nullptr;
|
||||
DrmMockCustom::IoctlResExt ioctlResExt = {0, 0};
|
||||
AllocationData allocationData{};
|
||||
@ -136,7 +138,8 @@ class DrmMemoryManagerWithLocalMemoryFixture : public DrmMemoryManagerFixture {
|
||||
ultHwConfig.csrBaseCallCreatePreemption = false;
|
||||
|
||||
MemoryManagementFixture::SetUp();
|
||||
DrmMemoryManagerFixture::SetUp(new DrmMockCustom, true);
|
||||
executionEnvironment = MockDevice::prepareExecutionEnvironment(defaultHwInfo.get(), numRootDevices - 1);
|
||||
DrmMemoryManagerFixture::SetUp(new DrmMockCustom(*executionEnvironment->rootDeviceEnvironments[0]), true);
|
||||
}
|
||||
void TearDown() override {
|
||||
DrmMemoryManagerFixture::TearDown();
|
||||
@ -184,13 +187,13 @@ class DrmMemoryManagerFixtureWithoutQuietIoctlExpectation {
|
||||
for (auto &rootDeviceEnvironment : executionEnvironment->rootDeviceEnvironments) {
|
||||
rootDeviceEnvironment->setHwInfo(defaultHwInfo.get());
|
||||
rootDeviceEnvironment->osInterface = std::make_unique<OSInterface>();
|
||||
rootDeviceEnvironment->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom));
|
||||
rootDeviceEnvironment->osInterface->setDriverModel(std::unique_ptr<DriverModel>(new DrmMockCustom(*rootDeviceEnvironment)));
|
||||
rootDeviceEnvironment->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*rootDeviceEnvironment->osInterface->getDriverModel()->as<Drm>(), i);
|
||||
i++;
|
||||
}
|
||||
mock = static_cast<DrmMockCustom *>(executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface->getDriverModel()->as<Drm>());
|
||||
mock->memoryInfo.reset(new MockMemoryInfoImpl());
|
||||
constructPlatform()->peekExecutionEnvironment()->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, 0u);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, 0u);
|
||||
memoryManager.reset(new TestedDrmMemoryManager(enableLocalMem, false, false, *executionEnvironment));
|
||||
|
||||
ASSERT_NE(nullptr, memoryManager);
|
||||
|
@ -23,7 +23,8 @@ class DrmMemoryManagerFixtureExp : public DrmMemoryManagerFixture {
|
||||
ultHwConfig.csrBaseCallCreatePreemption = false;
|
||||
|
||||
MemoryManagementFixture::SetUp();
|
||||
mockExp = new DrmMockCustomExp;
|
||||
executionEnvironment = MockClDevice::prepareExecutionEnvironment(defaultHwInfo.get(), numRootDevices - 1);
|
||||
mockExp = new DrmMockCustomExp(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
DrmMemoryManagerFixture::SetUp(mockExp, true);
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "shared/source/os_interface/linux/drm_neo.h"
|
||||
#include "shared/source/os_interface/linux/os_time_linux.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
|
||||
#include "opencl/test/unit_test/os_interface/linux/device_command_stream_fixture.h"
|
||||
#include "opencl/test/unit_test/os_interface/linux/mock_os_time_linux.h"
|
||||
@ -51,6 +52,7 @@ struct DrmTimeTest : public ::testing::Test {
|
||||
}
|
||||
std::unique_ptr<MockOSTimeLinux> osTime;
|
||||
std::unique_ptr<OSInterface> osInterface;
|
||||
MockExecutionEnvironment executionEnvironment;
|
||||
};
|
||||
|
||||
TEST_F(DrmTimeTest, GivenMockOsTimeThenInitializes) {
|
||||
@ -72,7 +74,7 @@ TEST_F(DrmTimeTest, GivenFalseTimeFuncWhenGettingCpuTimeThenFails) {
|
||||
|
||||
TEST_F(DrmTimeTest, WhenGettingGpuTimeThenSuceeds) {
|
||||
uint64_t time = 0;
|
||||
auto pDrm = new DrmMockTime();
|
||||
auto pDrm = new DrmMockTime(mockFd, *executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getDeviceTime()->getGpuTime32(&time);
|
||||
EXPECT_TRUE(error);
|
||||
@ -87,7 +89,7 @@ TEST_F(DrmTimeTest, WhenGettingGpuTimeThenSuceeds) {
|
||||
|
||||
TEST_F(DrmTimeTest, GivenInvalidDrmWhenGettingGpuTimeThenFails) {
|
||||
uint64_t time = 0;
|
||||
auto pDrm = new DrmMockFail();
|
||||
auto pDrm = new DrmMockFail(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getDeviceTime()->getGpuTime32(&time);
|
||||
EXPECT_FALSE(error);
|
||||
@ -100,7 +102,7 @@ TEST_F(DrmTimeTest, GivenInvalidDrmWhenGettingGpuTimeThenFails) {
|
||||
TEST_F(DrmTimeTest, WhenGettingCpuGpuTimeThenSucceeds) {
|
||||
TimeStampData CPUGPUTime01 = {0, 0};
|
||||
TimeStampData CPUGPUTime02 = {0, 0};
|
||||
auto pDrm = new DrmMockTime();
|
||||
auto pDrm = new DrmMockTime(mockFd, *executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getCpuGpuTime(&CPUGPUTime01);
|
||||
EXPECT_TRUE(error);
|
||||
@ -117,7 +119,7 @@ TEST_F(DrmTimeTest, WhenGettingCpuGpuTimeThenSucceeds) {
|
||||
TEST_F(DrmTimeTest, GivenDrmWhenGettingCpuGpuTimeThenSucceeds) {
|
||||
TimeStampData CPUGPUTime01 = {0, 0};
|
||||
TimeStampData CPUGPUTime02 = {0, 0};
|
||||
auto pDrm = new DrmMockTime();
|
||||
auto pDrm = new DrmMockTime(mockFd, *executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getCpuGpuTime(&CPUGPUTime01);
|
||||
EXPECT_TRUE(error);
|
||||
@ -139,7 +141,7 @@ TEST_F(DrmTimeTest, givenGetCpuGpuTimeWhenItIsUnavailableThenReturnFalse) {
|
||||
|
||||
TEST_F(DrmTimeTest, GivenInvalidDrmWhenGettingCpuGpuTimeThenFails) {
|
||||
TimeStampData CPUGPUTime01 = {0, 0};
|
||||
auto pDrm = new DrmMockFail();
|
||||
auto pDrm = new DrmMockFail(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getCpuGpuTime(&CPUGPUTime01);
|
||||
EXPECT_FALSE(error);
|
||||
@ -147,7 +149,7 @@ TEST_F(DrmTimeTest, GivenInvalidDrmWhenGettingCpuGpuTimeThenFails) {
|
||||
|
||||
TEST_F(DrmTimeTest, GivenInvalidFuncTimeWhenGettingCpuGpuTimeCpuThenFails) {
|
||||
TimeStampData CPUGPUTime01 = {0, 0};
|
||||
auto pDrm = new DrmMockTime();
|
||||
auto pDrm = new DrmMockTime(mockFd, *executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->setGetTimeFunc(getTimeFuncFalse);
|
||||
osTime->updateDrm(pDrm);
|
||||
auto error = osTime->getCpuGpuTime(&CPUGPUTime01);
|
||||
@ -155,7 +157,7 @@ TEST_F(DrmTimeTest, GivenInvalidFuncTimeWhenGettingCpuGpuTimeCpuThenFails) {
|
||||
}
|
||||
|
||||
TEST_F(DrmTimeTest, WhenGettingTimeThenTimeIsCorrect) {
|
||||
auto drm = new DrmMockCustom;
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(drm);
|
||||
|
||||
{
|
||||
@ -185,7 +187,7 @@ TEST_F(DrmTimeTest, WhenGettingTimeThenTimeIsCorrect) {
|
||||
TEST_F(DrmTimeTest, givenGpuTimestampResolutionQueryWhenIoctlFailsThenDefaultResolutionIsReturned) {
|
||||
auto defaultResolution = defaultHwInfo->capabilityTable.defaultProfilingTimerResolution;
|
||||
|
||||
auto drm = new DrmMockCustom();
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(drm);
|
||||
|
||||
drm->getParamRetValue = 0;
|
||||
@ -198,7 +200,7 @@ TEST_F(DrmTimeTest, givenGpuTimestampResolutionQueryWhenIoctlFailsThenDefaultRes
|
||||
TEST_F(DrmTimeTest, givenGetDynamicDeviceTimerClockWhenIoctlFailsThenDefaultClockIsReturned) {
|
||||
auto defaultResolution = defaultHwInfo->capabilityTable.defaultProfilingTimerResolution;
|
||||
|
||||
auto drm = new DrmMockCustom();
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(drm);
|
||||
|
||||
drm->getParamRetValue = 0;
|
||||
@ -210,7 +212,7 @@ TEST_F(DrmTimeTest, givenGetDynamicDeviceTimerClockWhenIoctlFailsThenDefaultCloc
|
||||
}
|
||||
|
||||
TEST_F(DrmTimeTest, givenGetDynamicDeviceTimerClockWhenIoctlSucceedsThenNonDefaultClockIsReturned) {
|
||||
auto drm = new DrmMockCustom();
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(drm);
|
||||
|
||||
uint64_t frequency = 1500;
|
||||
@ -230,7 +232,7 @@ TEST_F(DrmTimeTest, givenGpuTimestampResolutionQueryWhenNoDrmThenDefaultResoluti
|
||||
}
|
||||
|
||||
TEST_F(DrmTimeTest, givenGpuTimestampResolutionQueryWhenIoctlSuccedsThenCorrectResolutionIsReturned) {
|
||||
auto drm = new DrmMockCustom();
|
||||
auto drm = new DrmMockCustom(*executionEnvironment.rootDeviceEnvironments[0]);
|
||||
osTime->updateDrm(drm);
|
||||
|
||||
// 19200000 is frequency yelding 52.083ns resolution
|
||||
|
Reference in New Issue
Block a user