diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-07-24 14:56:13 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-07-30 13:17:35 +0100 |
commit | bc2e210785a63e8360839e4ded5d2c15c2dffaf5 (patch) | |
tree | e9e4e75bab72ce7c7e599cfb86a6508a001d86bc /src/backends/backendsCommon/test/TestDynamicBackend.cpp | |
parent | 986c186468e6023b234c24bd10ed9687f9eea0da (diff) | |
download | armnn-bc2e210785a63e8360839e4ded5d2c15c2dffaf5.tar.gz |
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 <matteo.martincigh@arm.com>
Change-Id: I4c3b33702bb0faac2bbebe224f69908639b4fc54
Diffstat (limited to 'src/backends/backendsCommon/test/TestDynamicBackend.cpp')
-rw-r--r-- | src/backends/backendsCommon/test/TestDynamicBackend.cpp | 95 |
1 files changed, 95 insertions, 0 deletions
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 <backendsCommon/IBackendInternal.hpp> + +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 +} |