IVGCVSW-5261 Fix undefined reference to GetIdStatic()

 * Moved DynamicBackend tests to only build when ArmnnRef is enabled
   due to a dependency on them dynamically loading the ArmnnRef backend
   object

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Iee0480e7d0cf505bbb5c26629829d3d20fb60051
diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.cpp b/src/backends/backendsCommon/test/DynamicBackendTests.cpp
index bb1a5cd..b1c8234 100644
--- a/src/backends/backendsCommon/test/DynamicBackendTests.cpp
+++ b/src/backends/backendsCommon/test/DynamicBackendTests.cpp
@@ -21,7 +21,6 @@
 
 ARMNN_SIMPLE_TEST_CASE(BackendVersioning, BackendVersioningTestImpl);
 
-ARMNN_SIMPLE_TEST_CASE(CreateValidDynamicBackendObject, CreateValidDynamicBackendObjectTestImpl);
 
 ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidHandle,
                        CreateDynamicBackendObjectInvalidHandleTestImpl);
@@ -50,10 +49,7 @@
 ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsAllInvalid, CreateDynamicBackendsAllInvalidTestImpl);
 ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsMixedTypes, CreateDynamicBackendsMixedTypesTestImpl);
 
-ARMNN_SIMPLE_TEST_CASE(RegisterSingleDynamicBackend, RegisterSingleDynamicBackendTestImpl);
-ARMNN_SIMPLE_TEST_CASE(RegisterMultipleDynamicBackends, RegisterMultipleDynamicBackendsTestImpl);
 ARMNN_SIMPLE_TEST_CASE(RegisterMultipleInvalidDynamicBackends, RegisterMultipleInvalidDynamicBackendsTestImpl);
-ARMNN_SIMPLE_TEST_CASE(RegisterMixedDynamicBackends, RegisterMixedDynamicBackendsTestImpl);
 
 #if !defined(ARMNN_DYNAMIC_BACKEND_ENABLED)
 ARMNN_SIMPLE_TEST_CASE(RuntimeEmpty, RuntimeEmptyTestImpl);
@@ -68,6 +64,10 @@
 // This test unit needs the reference backend, it's not available if the reference backend is not built
 
 ARMNN_SIMPLE_TEST_CASE(CreateReferenceDynamicBackend, CreateReferenceDynamicBackendTestImpl);
+ARMNN_SIMPLE_TEST_CASE(CreateValidDynamicBackendObject, CreateValidDynamicBackendObjectTestImpl);
+ARMNN_SIMPLE_TEST_CASE(RegisterSingleDynamicBackend, RegisterSingleDynamicBackendTestImpl);
+ARMNN_SIMPLE_TEST_CASE(RegisterMultipleDynamicBackends, RegisterMultipleDynamicBackendsTestImpl);
+ARMNN_SIMPLE_TEST_CASE(RegisterMixedDynamicBackends, RegisterMixedDynamicBackendsTestImpl);
 
 #endif
 
diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.hpp b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
index 2f1f620..090488e 100644
--- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp
+++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
@@ -374,6 +374,7 @@
     BOOST_TEST(TestDynamicBackendUtils::IsBackendCompatibleTest(backendApiVersion, earlierMinorBackendVersion) == true);
 }
 
+#if defined(ARMNNREF_ENABLED)
 void CreateValidDynamicBackendObjectTestImpl()
 {
     // Valid shared object handle
@@ -422,6 +423,7 @@
     BOOST_TEST((dynamicBackendInstance1->GetId() == "ValidTestDynamicBackend"));
     BOOST_TEST((dynamicBackendInstance2->GetId() == "ValidTestDynamicBackend"));
 }
+#endif
 
 void CreateDynamicBackendObjectInvalidHandleTestImpl()
 {
@@ -910,6 +912,7 @@
     BOOST_TEST((dynamicBackends[0]->GetBackendId() == "TestValid2"));
 }
 
+#if defined(ARMNNREF_ENABLED)
 void RegisterSingleDynamicBackendTestImpl()
 {
     using namespace armnn;
@@ -1033,66 +1036,6 @@
     }
 }
 
-void RegisterMultipleInvalidDynamicBackendsTestImpl()
-{
-    using namespace armnn;
-    using namespace fs;
-
-    // Try to register many invalid dynamic backends
-
-    // The test covers one directory:
-    // <unit test path>/src/backends/backendsCommon/test/
-    //                                                └─ backendsTestPath9/   -> exists, contains files
-    //
-    // The test sub-directory backendsTestPath9/ contains the following test files:
-    //
-    // Arm_TestInvalid10_backend.so -> not valid (invalid backend id)
-    // Arm_TestInvalid11_backend.so -> not valid (invalid backend id)
-
-    std::string testDynamicBackendsSubDir9 = GetTestSubDirectory(g_TestDynamicBackendsSubDir9);
-    BOOST_CHECK(exists(testDynamicBackendsSubDir9));
-
-    std::string testInvalidBackend10FilePath = GetTestFilePath(testDynamicBackendsSubDir9,
-                                                               g_TestInvalidBackend10FileName);
-    std::string testInvalidBackend11FilePath = GetTestFilePath(testDynamicBackendsSubDir9,
-                                                               g_TestInvalidBackend11FileName);
-    BOOST_CHECK(exists(testInvalidBackend10FilePath));
-    BOOST_CHECK(exists(testInvalidBackend11FilePath));
-
-    std::vector<std::string> sharedObjects
-    {
-        testInvalidBackend10FilePath,
-        testInvalidBackend11FilePath,
-        "InvalidSharedObject"
-    };
-    std::vector<DynamicBackendPtr> dynamicBackends = TestDynamicBackendUtils::CreateDynamicBackends(sharedObjects);
-
-    BOOST_TEST(dynamicBackends.size() == 2);
-    BOOST_TEST((dynamicBackends[0] != nullptr));
-    BOOST_TEST((dynamicBackends[1] != nullptr));
-
-    BackendId dynamicBackendId1 = dynamicBackends[0]->GetBackendId();
-    BackendId dynamicBackendId2 = dynamicBackends[1]->GetBackendId();
-    BOOST_TEST((dynamicBackendId1 == ""));
-    BOOST_TEST((dynamicBackendId2 == "Unknown"));
-
-    for (size_t i = 0; i < dynamicBackends.size(); i++)
-    {
-        BackendVersion dynamicBackendVersion = dynamicBackends[i]->GetBackendVersion();
-        BOOST_TEST(TestDynamicBackendUtils::IsBackendCompatible(dynamicBackendVersion));
-    }
-
-    // Dummy registry used for testing
-    BackendRegistry backendRegistry;
-    BOOST_TEST(backendRegistry.Size() == 0);
-
-    // Check that no dynamic backend got registered
-    BackendIdSet registeredBackendIds = TestDynamicBackendUtils::RegisterDynamicBackendsImplTest(backendRegistry,
-                                                                                                 dynamicBackends);
-    BOOST_TEST(backendRegistry.Size() == 0);
-    BOOST_TEST(registeredBackendIds.empty());
-}
-
 void RegisterMixedDynamicBackendsTestImpl()
 {
     using namespace armnn;
@@ -1238,6 +1181,67 @@
         BOOST_TEST((dynamicBackend->GetId() == expectedRegisteredbackendId));
     }
 }
+#endif
+
+void RegisterMultipleInvalidDynamicBackendsTestImpl()
+{
+    using namespace armnn;
+    using namespace fs;
+
+    // Try to register many invalid dynamic backends
+
+    // The test covers one directory:
+    // <unit test path>/src/backends/backendsCommon/test/
+    //                                                └─ backendsTestPath9/   -> exists, contains files
+    //
+    // The test sub-directory backendsTestPath9/ contains the following test files:
+    //
+    // Arm_TestInvalid10_backend.so -> not valid (invalid backend id)
+    // Arm_TestInvalid11_backend.so -> not valid (invalid backend id)
+
+    std::string testDynamicBackendsSubDir9 = GetTestSubDirectory(g_TestDynamicBackendsSubDir9);
+    BOOST_CHECK(exists(testDynamicBackendsSubDir9));
+
+    std::string testInvalidBackend10FilePath = GetTestFilePath(testDynamicBackendsSubDir9,
+                                                               g_TestInvalidBackend10FileName);
+    std::string testInvalidBackend11FilePath = GetTestFilePath(testDynamicBackendsSubDir9,
+                                                               g_TestInvalidBackend11FileName);
+    BOOST_CHECK(exists(testInvalidBackend10FilePath));
+    BOOST_CHECK(exists(testInvalidBackend11FilePath));
+
+    std::vector<std::string> sharedObjects
+    {
+        testInvalidBackend10FilePath,
+        testInvalidBackend11FilePath,
+        "InvalidSharedObject"
+    };
+    std::vector<DynamicBackendPtr> dynamicBackends = TestDynamicBackendUtils::CreateDynamicBackends(sharedObjects);
+
+    BOOST_TEST(dynamicBackends.size() == 2);
+    BOOST_TEST((dynamicBackends[0] != nullptr));
+    BOOST_TEST((dynamicBackends[1] != nullptr));
+
+    BackendId dynamicBackendId1 = dynamicBackends[0]->GetBackendId();
+    BackendId dynamicBackendId2 = dynamicBackends[1]->GetBackendId();
+    BOOST_TEST((dynamicBackendId1 == ""));
+    BOOST_TEST((dynamicBackendId2 == "Unknown"));
+
+    for (size_t i = 0; i < dynamicBackends.size(); i++)
+    {
+        BackendVersion dynamicBackendVersion = dynamicBackends[i]->GetBackendVersion();
+        BOOST_TEST(TestDynamicBackendUtils::IsBackendCompatible(dynamicBackendVersion));
+    }
+
+    // Dummy registry used for testing
+    BackendRegistry backendRegistry;
+    BOOST_TEST(backendRegistry.Size() == 0);
+
+    // Check that no dynamic backend got registered
+    BackendIdSet registeredBackendIds = TestDynamicBackendUtils::RegisterDynamicBackendsImplTest(backendRegistry,
+                                                                                                 dynamicBackends);
+    BOOST_TEST(backendRegistry.Size() == 0);
+    BOOST_TEST(registeredBackendIds.empty());
+}
 
 #if !defined(ARMNN_DYNAMIC_BACKEND_ENABLED)