aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/test/NeonBackendTests.cpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2022-01-13 17:43:41 +0000
committerJim Flynn <jim.flynn@arm.com>2022-01-25 10:22:16 +0000
commit7740045352a0d4e90011bcf472c069bd537cba72 (patch)
tree1b26c21d882f42b20257d96a5b723d6275a192e8 /src/backends/neon/test/NeonBackendTests.cpp
parentd12b40792591309c627f215574aa082a5efd03ca (diff)
downloadarmnn-7740045352a0d4e90011bcf472c069bd537cba72.tar.gz
IVGCVSW-6678 Register CopyAndImportFactoryPairs to NeonBackend and unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: If5392020dfd0caa3f09ea2edbaf0f83ec36ab99b
Diffstat (limited to 'src/backends/neon/test/NeonBackendTests.cpp')
-rw-r--r--src/backends/neon/test/NeonBackendTests.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/backends/neon/test/NeonBackendTests.cpp b/src/backends/neon/test/NeonBackendTests.cpp
new file mode 100644
index 0000000000..23f58a76fc
--- /dev/null
+++ b/src/backends/neon/test/NeonBackendTests.cpp
@@ -0,0 +1,51 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include <neon/NeonBackend.hpp>
+#include <neon/NeonTensorHandleFactory.hpp>
+
+#include <doctest/doctest.h>
+
+using namespace armnn;
+
+TEST_SUITE("NeonBackendTests")
+{
+TEST_CASE("NeonRegisterTensorHandleFactoriesMatchingImportFactoryId")
+{
+ auto neonBackend = std::make_unique<NeonBackend>();
+ TensorHandleFactoryRegistry registry;
+ neonBackend->RegisterTensorHandleFactories(registry);
+
+ // When calling RegisterTensorHandleFactories, CopyAndImportFactoryPair is registered
+ // Get matching import factory id correctly
+ CHECK((registry.GetMatchingImportFactoryId(NeonTensorHandleFactory::GetIdStatic()) ==
+ NeonTensorHandleFactory::GetIdStatic()));
+}
+
+TEST_CASE("NeonCreateWorkloadFactoryMatchingImportFactoryId")
+{
+ auto neonBackend = std::make_unique<NeonBackend>();
+ TensorHandleFactoryRegistry registry;
+ neonBackend->CreateWorkloadFactory(registry);
+
+ // When calling CreateWorkloadFactory, CopyAndImportFactoryPair is registered
+ // Get matching import factory id correctly
+ CHECK((registry.GetMatchingImportFactoryId(NeonTensorHandleFactory::GetIdStatic()) ==
+ NeonTensorHandleFactory::GetIdStatic()));
+}
+
+TEST_CASE("NeonCreateWorkloadFactoryWithOptionsMatchingImportFactoryId")
+{
+ auto neonBackend = std::make_unique<NeonBackend>();
+ TensorHandleFactoryRegistry registry;
+ ModelOptions modelOptions;
+ neonBackend->CreateWorkloadFactory(registry, modelOptions);
+
+ // When calling CreateWorkloadFactory with ModelOptions, CopyAndImportFactoryPair is registered
+ // Get matching import factory id correctly
+ CHECK((registry.GetMatchingImportFactoryId(NeonTensorHandleFactory::GetIdStatic()) ==
+ NeonTensorHandleFactory::GetIdStatic()));
+}
+}