test: fix cleanup order in ULTs

- program using device must be released before device is destroyed.
Reset program unique_ptr in fixtures before device fixture tearDown()
- reorder fixtures members to ensure correct order of destructors

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2023-02-27 17:32:16 +00:00
committed by Compute-Runtime-Automation
parent 35ef2f760b
commit c28f0c72ea
16 changed files with 29 additions and 11 deletions

View File

@@ -35,9 +35,8 @@ class ProcessElfBinaryTests : public ::testing::Test {
device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr, rootDeviceIndex));
program = std::make_unique<MockProgram>(nullptr, false, toClDeviceVector(*device));
}
std::unique_ptr<MockProgram> program;
std::unique_ptr<ClDevice> device;
std::unique_ptr<MockProgram> program;
const uint32_t rootDeviceIndex = 1;
};
@@ -121,8 +120,8 @@ class ProcessElfBinaryTestsWithBinaryType : public ::testing::TestWithParam<unsi
device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr, rootDeviceIndex));
program = std::make_unique<MockProgram>(nullptr, false, toClDeviceVector(*device));
}
std::unique_ptr<MockProgram> program;
std::unique_ptr<ClDevice> device;
std::unique_ptr<MockProgram> program;
const uint32_t rootDeviceIndex = 1;
};

View File

@@ -26,6 +26,9 @@ using namespace NEO;
class MyMockProgram : public MockProgram {
public:
MyMockProgram() : MockProgram(toClDeviceVector(*(new MockClDevice(new MockDevice())))), device(this->clDevices[0]) {}
~MyMockProgram() override {
clDevices.clear();
}
private:
std::unique_ptr<ClDevice> device;

View File

@@ -2800,8 +2800,8 @@ struct setProgramSpecializationConstantTests : public ::testing::Test {
}
SpecializationConstantCompilerInterfaceMock *mockCompiler = nullptr;
std::unique_ptr<SpecializationConstantProgramMock> mockProgram;
MockClDevice device;
std::unique_ptr<SpecializationConstantProgramMock> mockProgram;
int specValue = 1;
};

View File

@@ -24,6 +24,7 @@ void ProgramWithZebinFixture::TearDown() {
program->setGlobalSurface(nullptr);
program->setConstantSurface(nullptr);
program->getKernelInfoArray(rootDeviceIndex).clear();
program.reset();
ProgramTests::TearDown();
}