From bc2e210785a63e8360839e4ded5d2c15c2dffaf5 Mon Sep 17 00:00:00 2001 From: Matteo Martincigh Date: Wed, 24 Jul 2019 14:56:13 +0100 Subject: IVGCVSW-3561 Test the DynamicBackend class * Added unit test for valid dynamic backends * Added unit tests for various cases of invalid dynamic backends (invalid handle, malformed backends, incompatible version, etc.) Signed-off-by: Matteo Martincigh Change-Id: I4c3b33702bb0faac2bbebe224f69908639b4fc54 --- .../backendsCommon/test/TestDynamicBackend.cpp | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/backends/backendsCommon/test/TestDynamicBackend.cpp (limited to 'src/backends/backendsCommon/test/TestDynamicBackend.cpp') diff --git a/src/backends/backendsCommon/test/TestDynamicBackend.cpp b/src/backends/backendsCommon/test/TestDynamicBackend.cpp new file mode 100644 index 0000000000..7fd996fae8 --- /dev/null +++ b/src/backends/backendsCommon/test/TestDynamicBackend.cpp @@ -0,0 +1,95 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "TestDynamicBackend.hpp" + +#include + +constexpr const char* TestDynamicBackendId() +{ +#if defined(VALID_TEST_DYNAMIC_BACKEND) + + return "ValidTestDynamicBackend"; + +#else + + return "InvalidTestDynamicBackend"; + +#endif +} + +class TestDynamicBackend : public armnn::IBackendInternal +{ +public: + TestDynamicBackend() + : m_BackendId(TestDynamicBackendId()) + {} + + const armnn::BackendId& GetId() const override + { + return m_BackendId; + } + IWorkloadFactoryPtr CreateWorkloadFactory(const IMemoryManagerSharedPtr& memoryManager) const override + { + return IWorkloadFactoryPtr{}; + } + ILayerSupportSharedPtr GetLayerSupport() const override + { + return ILayerSupportSharedPtr{}; + } + +private: + armnn::BackendId m_BackendId; +}; + +const char* GetBackendId() +{ +#if defined(INVALID_TEST_DYNAMIC_BACKEND_5) + + // Return an invalid backend id + return nullptr; + +#else + + // Return a valid backend id + return TestDynamicBackendId(); + +#endif +} + +void GetVersion(uint32_t* outMajor, uint32_t* outMinor) +{ + if (!outMajor || !outMinor) + { + return; + } + +#if defined(INVALID_TEST_DYNAMIC_BACKEND_7) + + *outMajor = 0; + *outMinor = 7; + +#else + + *outMajor = 1; + *outMinor = 0; + +#endif +} + +void* BackendFactory() +{ +#if defined(INVALID_TEST_DYNAMIC_BACKEND_6) + + // Return an invalid backend instance + return nullptr; + +#else + + // Return a non-null backend instance + return new TestDynamicBackend(); + +#endif +} -- cgit v1.2.1