aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/CompatibilityTests.cpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-08-26 11:08:01 +0100
committerFinn Williams <Finn.Williams@arm.com>2021-08-26 11:09:32 +0100
commitdbf5f314f9498afa756e2637251a89a5291abde0 (patch)
tree2d974a44df4998291e2f2b9dc17c5d1e905f898e /src/backends/backendsCommon/test/CompatibilityTests.cpp
parent4e62750a2171a7bccf0c9c37514d07d3d222d1d5 (diff)
downloadarmnn-dbf5f314f9498afa756e2637251a89a5291abde0.tar.gz
IVGCVSW-6311 Add the pre-import backend capability
* Update acl and ref backend capabilities * Add check for AsyncExecution capability in LoadedNetwork * Add new exception for capabilities Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I2f053c845a64f336e96d452793639c6e0d3eaa89
Diffstat (limited to 'src/backends/backendsCommon/test/CompatibilityTests.cpp')
-rw-r--r--src/backends/backendsCommon/test/CompatibilityTests.cpp76
1 files changed, 43 insertions, 33 deletions
diff --git a/src/backends/backendsCommon/test/CompatibilityTests.cpp b/src/backends/backendsCommon/test/CompatibilityTests.cpp
index 34baad9d0c..7b25732daa 100644
--- a/src/backends/backendsCommon/test/CompatibilityTests.cpp
+++ b/src/backends/backendsCommon/test/CompatibilityTests.cpp
@@ -128,26 +128,27 @@ TEST_CASE("Neon_Cl_DirectCompatibility_Test")
TEST_SUITE("BackendCapability")
{
-#if defined(ARMNNREF_ENABLED)
-TEST_CASE("Ref_Backends_Capability_Test")
+namespace
{
- auto refBackend = std::make_unique<RefBackend>();
- auto refCapabilities = refBackend->GetCapabilities();
-
- CHECK(armnn::HasCapability("NonConstWeights", refCapabilities));
- CHECK(armnn::HasCapability("AsyncExecution", refCapabilities));
- armnn::BackendOptions::BackendOption nonConstWeights{"NonConstWeights", true};
- armnn::BackendOptions::BackendOption AsyncExecution{"AsyncExecution", true};
-
- CHECK(armnn::HasCapability(nonConstWeights, refCapabilities));
- CHECK(armnn::HasCapability(AsyncExecution, refCapabilities));
+void CapabilityTestHelper(BackendCapabilities &capabilities,
+ std::vector<std::pair<std::string, bool>> capabilityVector)
+{
+ for (auto pair : capabilityVector)
+ {
+ CHECK_MESSAGE(armnn::HasCapability(pair.first, capabilities),
+ pair.first << " capability was not been found");
+ CHECK_MESSAGE(armnn::HasCapability(BackendOptions::BackendOption{pair.first, pair.second}, capabilities),
+ pair.first << " capability set incorrectly");
+ }
}
-TEST_CASE("Ref_Backends_Unkown_Capability_Test")
+#if defined(ARMNNREF_ENABLED)
+
+TEST_CASE("Ref_Backends_Unknown_Capability_Test")
{
- auto refBackend = std::make_unique<RefBackend>();
+ auto refBackend = std::make_unique<RefBackend>();
auto refCapabilities = refBackend->GetCapabilities();
armnn::BackendOptions::BackendOption AsyncExecutionFalse{"AsyncExecution", false};
@@ -167,44 +168,53 @@ TEST_CASE("Ref_Backends_Unkown_Capability_Test")
CHECK(!armnn::HasCapability(unkownCapability, refCapabilities));
}
+TEST_CASE ("Ref_Backends_Capability_Test")
+{
+ auto refBackend = std::make_unique<RefBackend>();
+ auto refCapabilities = refBackend->GetCapabilities();
+
+ CapabilityTestHelper(refCapabilities,
+ {{"NonConstWeights", true},
+ {"AsyncExecution", true},
+ {"ProtectedContentAllocation", false},
+ {"ConstantTensorsAsInputs", true},
+ {"PreImportIOTensors", false}});
+}
+
#endif
#if defined(ARMCOMPUTENEON_ENABLED)
-TEST_CASE("Neon_Backends_Capability_Test")
+TEST_CASE ("Neon_Backends_Capability_Test")
{
auto neonBackend = std::make_unique<NeonBackend>();
auto neonCapabilities = neonBackend->GetCapabilities();
- CHECK(armnn::HasCapability("NonConstWeights", neonCapabilities));
- CHECK(armnn::HasCapability("AsyncExecution", neonCapabilities));
-
- armnn::BackendOptions::BackendOption nonConstWeights{"NonConstWeights", false};
- armnn::BackendOptions::BackendOption AsyncExecution{"AsyncExecution", false};
-
- CHECK(armnn::HasCapability(nonConstWeights, neonCapabilities));
- CHECK(armnn::HasCapability(AsyncExecution, neonCapabilities));
+ CapabilityTestHelper(neonCapabilities,
+ {{"NonConstWeights", false},
+ {"AsyncExecution", false},
+ {"ProtectedContentAllocation", false},
+ {"ConstantTensorsAsInputs", false},
+ {"PreImportIOTensors", false}});
}
#endif
#if defined(ARMCOMPUTECL_ENABLED)
-TEST_CASE("Cl_Backends_Capability_Test")
+TEST_CASE ("Cl_Backends_Capability_Test")
{
auto clBackend = std::make_unique<ClBackend>();
auto clCapabilities = clBackend->GetCapabilities();
- CHECK(armnn::HasCapability("NonConstWeights", clCapabilities));
- CHECK(armnn::HasCapability("AsyncExecution", clCapabilities));
-
- armnn::BackendOptions::BackendOption nonConstWeights{"NonConstWeights", false};
- armnn::BackendOptions::BackendOption AsyncExecution{"AsyncExecution", false};
-
- CHECK(armnn::HasCapability(nonConstWeights, clCapabilities));
- CHECK(armnn::HasCapability(AsyncExecution, clCapabilities));
+ CapabilityTestHelper(clCapabilities,
+ {{"NonConstWeights", false},
+ {"AsyncExecution", false},
+ {"ProtectedContentAllocation", true},
+ {"ConstantTensorsAsInputs", false},
+ {"PreImportIOTensors", false}});
}
#endif
-
+}
}