aboutsummaryrefslogtreecommitdiff
path: root/tests/run_inference_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run_inference_test.cpp')
-rw-r--r--tests/run_inference_test.cpp36
1 files changed, 32 insertions, 4 deletions
diff --git a/tests/run_inference_test.cpp b/tests/run_inference_test.cpp
index 6075d7a..6b17ac2 100644
--- a/tests/run_inference_test.cpp
+++ b/tests/run_inference_test.cpp
@@ -19,6 +19,7 @@
#include <uapi/ethosu.h>
#include <cstring>
+#include <errno.h>
#include <iostream>
#include <list>
#include <memory>
@@ -69,6 +70,36 @@ void testCapabilties(const Device &device) {
TEST_ASSERT(capabilities.hwId.architecture > SemanticVersion());
}
+void testBufferSeek(const Device &device) {
+ try {
+ Buffer buf{device, 1024};
+
+ // SEEK_END should return the size of the buffer
+ TEST_ASSERT(lseek(buf.getFd(), 0, SEEK_END) == 1024);
+
+ // SEEK_SET is supported when moving the file pointer to the start
+ TEST_ASSERT(lseek(buf.getFd(), 0, SEEK_SET) == 0);
+
+ // SEEK_CUR is not supported
+ errno = 0;
+ TEST_ASSERT(lseek(buf.getFd(), 0, SEEK_CUR) == -1);
+ TEST_ASSERT(errno == EINVAL);
+
+ // Non-zero offset is not supported
+ errno = 0;
+ TEST_ASSERT(lseek(buf.getFd(), 1, SEEK_CUR) == -1);
+ TEST_ASSERT(errno == EINVAL);
+
+ errno = 0;
+ TEST_ASSERT(lseek(buf.getFd(), 2, SEEK_END) == -1);
+ TEST_ASSERT(errno == EINVAL);
+
+ errno = 0;
+ TEST_ASSERT(lseek(buf.getFd(), 3, SEEK_SET) == -1);
+ TEST_ASSERT(errno == EINVAL);
+ } catch (std::exception &e) { throw TestFailureException("Buffer seek test: ", e.what()); }
+}
+
void testNetworkInfoNotExistentIndex(const Device &device) {
try {
Network(device, 0);
@@ -81,7 +112,6 @@ void testNetworkInfoNotExistentIndex(const Device &device) {
void testNetworkInfoBuffer(const Device &device) {
try {
std::shared_ptr<Buffer> buffer = std::make_shared<Buffer>(device, sizeof(networkModelData));
- buffer->resize(sizeof(networkModelData));
std::memcpy(buffer->data(), networkModelData, sizeof(networkModelData));
Network network(device, buffer);
@@ -93,7 +123,6 @@ void testNetworkInfoBuffer(const Device &device) {
void testNetworkInfoUnparsableBuffer(const Device &device) {
try {
auto buffer = std::make_shared<Buffer>(device, sizeof(networkModelData) / 4);
- buffer->resize(sizeof(networkModelData) / 4);
std::memcpy(buffer->data(), networkModelData + sizeof(networkModelData) / 4, sizeof(networkModelData) / 4);
try {
@@ -122,7 +151,6 @@ void testNetworkInvalidType(const Device &device) {
void testRunInferenceBuffer(const Device &device) {
try {
auto networkBuffer = std::make_shared<Buffer>(device, sizeof(networkModelData));
- networkBuffer->resize(sizeof(networkModelData));
std::memcpy(networkBuffer->data(), networkModelData, sizeof(networkModelData));
auto network = std::make_shared<Network>(device, networkBuffer);
@@ -130,7 +158,6 @@ void testRunInferenceBuffer(const Device &device) {
std::vector<std::shared_ptr<Buffer>> outputBuffers;
auto inputBuffer = std::make_shared<Buffer>(device, sizeof(inputData));
- inputBuffer->resize(sizeof(inputData));
std::memcpy(inputBuffer->data(), inputData, sizeof(inputData));
inputBuffers.push_back(inputBuffer);
@@ -168,6 +195,7 @@ int main() {
testPing(device);
testDriverVersion(device);
testCapabilties(device);
+ testBufferSeek(device);
testNetworkInvalidType(device);
testNetworkInfoNotExistentIndex(device);
testNetworkInfoBuffer(device);