aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/TestDynamicBackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon/test/TestDynamicBackend.cpp')
-rw-r--r--src/backends/backendsCommon/test/TestDynamicBackend.cpp95
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
+}