diff options
author | David Monahan <david.monahan@arm.com> | 2020-09-03 09:02:52 +0100 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2020-09-03 13:29:23 +0100 |
commit | 9e9c7f5067c287b9989ee49d34825809d7f611dd (patch) | |
tree | d3dd3bfc7636f584b1e8b21e204919f5065c245c /src/backends | |
parent | f737c678da7c8e4bf23dc7e7bfdb55407d64dd7c (diff) | |
download | armnn-9e9c7f5067c287b9989ee49d34825809d7f611dd.tar.gz |
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
Diffstat (limited to 'src/backends')
-rw-r--r-- | src/backends/backendsCommon/test/DynamicBackendTests.cpp | 8 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/DynamicBackendTests.hpp | 124 |
2 files changed, 68 insertions, 64 deletions
diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.cpp b/src/backends/backendsCommon/test/DynamicBackendTests.cpp index bb1a5cda6c..b1c8234691 100644 --- a/src/backends/backendsCommon/test/DynamicBackendTests.cpp +++ b/src/backends/backendsCommon/test/DynamicBackendTests.cpp @@ -21,7 +21,6 @@ ARMNN_SIMPLE_TEST_CASE(GetNotExistingEntryPoint, GetNotExistingEntryPointTestImp 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(CreateDynamicBackendsNoPaths, CreateDynamicBackendsNoPath 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 @@ ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidOverridePath, RuntimeInvalidOverridePathTes // 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 2f1f6202b6..090488eec4 100644 --- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp +++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp @@ -374,6 +374,7 @@ void BackendVersioningTestImpl() BOOST_TEST(TestDynamicBackendUtils::IsBackendCompatibleTest(backendApiVersion, earlierMinorBackendVersion) == true); } +#if defined(ARMNNREF_ENABLED) void CreateValidDynamicBackendObjectTestImpl() { // Valid shared object handle @@ -422,6 +423,7 @@ void CreateValidDynamicBackendObjectTestImpl() BOOST_TEST((dynamicBackendInstance1->GetId() == "ValidTestDynamicBackend")); BOOST_TEST((dynamicBackendInstance2->GetId() == "ValidTestDynamicBackend")); } +#endif void CreateDynamicBackendObjectInvalidHandleTestImpl() { @@ -910,6 +912,7 @@ void CreateDynamicBackendsMixedTypesTestImpl() BOOST_TEST((dynamicBackends[0]->GetBackendId() == "TestValid2")); } +#if defined(ARMNNREF_ENABLED) void RegisterSingleDynamicBackendTestImpl() { using namespace armnn; @@ -1033,66 +1036,6 @@ void RegisterMultipleDynamicBackendsTestImpl() } } -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 @@ void RegisterMixedDynamicBackendsTestImpl() 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) |