aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/test/RefTensorHandleTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/test/RefTensorHandleTests.cpp')
-rw-r--r--src/backends/reference/test/RefTensorHandleTests.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/backends/reference/test/RefTensorHandleTests.cpp b/src/backends/reference/test/RefTensorHandleTests.cpp
index 39f5a2aeed..3504f53bc7 100644
--- a/src/backends/reference/test/RefTensorHandleTests.cpp
+++ b/src/backends/reference/test/RefTensorHandleTests.cpp
@@ -253,6 +253,39 @@ TEST_CASE("MisalignedPointer")
delete[] testPtr;
}
+TEST_CASE("CheckCanBeImported")
+{
+ TensorInfo info({1}, DataType::Float32);
+ RefTensorHandle handle(info, static_cast<unsigned int>(MemorySource::Malloc));
+
+ int* testPtr = new int(4);
+
+ // Not supported
+ CHECK(!handle.CanBeImported(static_cast<void *>(testPtr), MemorySource::DmaBuf));
+
+ // Supported
+ CHECK(handle.CanBeImported(static_cast<void *>(testPtr), MemorySource::Malloc));
+
+ delete testPtr;
+
+}
+
+TEST_CASE("MisalignedCanBeImported")
+{
+ TensorInfo info({2}, DataType::Float32);
+ RefTensorHandle handle(info, static_cast<unsigned int>(MemorySource::Malloc));
+
+ // Allocate a 2 int array
+ int* testPtr = new int[2];
+
+ // Increment pointer by 1 byte
+ void* misalignedPtr = static_cast<void*>(reinterpret_cast<char*>(testPtr) + 1);
+
+ CHECK(!handle.Import(misalignedPtr, MemorySource::Malloc));
+
+ delete[] testPtr;
+}
+
#endif
}