mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
sharing: add missing tests
For image with defined sharingHandler test: - enqueueAcquireSharedObjects - enqueueReleaseSharedObjects Change-Id: I8835e4a4aa06a08e57dc207b168810162e44445c
This commit is contained in:
committed by
sys_ocldev
parent
07a63c91df
commit
e1697d7002
@@ -32,6 +32,7 @@
|
||||
#include "unit_tests/command_stream/command_stream_fixture.h"
|
||||
#include "unit_tests/fixtures/context_fixture.h"
|
||||
#include "unit_tests/fixtures/device_fixture.h"
|
||||
#include "unit_tests/fixtures/image_fixture.h"
|
||||
#include "unit_tests/fixtures/memory_management_fixture.h"
|
||||
#include "unit_tests/fixtures/buffer_fixture.h"
|
||||
#include "unit_tests/libult/ult_command_stream_receiver.h"
|
||||
@@ -738,6 +739,32 @@ TEST(CommandQueue, givenEnqueueAcquireSharedObjectsWhenNoObjectsThenReturnSucces
|
||||
EXPECT_EQ(result, CL_SUCCESS);
|
||||
}
|
||||
|
||||
class MockSharingHandler : public SharingHandler {
|
||||
public:
|
||||
void synchronizeObject(UpdateData *updateData) override {
|
||||
updateData->synchronizationStatus = ACQUIRE_SUCCESFUL;
|
||||
}
|
||||
};
|
||||
|
||||
TEST(CommandQueue, givenEnqueuesForSharedObjectsWithImageUsingSharingHandlerThenReturnSuccess) {
|
||||
MockContext context;
|
||||
CommandQueue cmdQ(&context, nullptr, 0);
|
||||
MockSharingHandler *mockSharingHandler = new MockSharingHandler;
|
||||
|
||||
auto image = std::unique_ptr<Image>(ImageHelper<Image2dDefaults>::create(&context));
|
||||
image->setSharingHandler(mockSharingHandler);
|
||||
|
||||
cl_mem memObject = image.get();
|
||||
cl_uint numObjects = 1;
|
||||
cl_mem *memObjects = &memObject;
|
||||
|
||||
cl_int result = cmdQ.enqueueAcquireSharedObjects(numObjects, memObjects, 0, nullptr, nullptr, 0);
|
||||
EXPECT_EQ(result, CL_SUCCESS);
|
||||
|
||||
result = cmdQ.enqueueReleaseSharedObjects(numObjects, memObjects, 0, nullptr, nullptr, 0);
|
||||
EXPECT_EQ(result, CL_SUCCESS);
|
||||
}
|
||||
|
||||
TEST(CommandQueue, givenEnqueueAcquireSharedObjectsWhenIncorrectArgumentsThenReturnProperError) {
|
||||
MockContext context;
|
||||
CommandQueue cmdQ(&context, nullptr, 0);
|
||||
|
||||
Reference in New Issue
Block a user