IVGCVSW-5810 Create a skeleton armnnTestUtils library

 * Moved useful test utilities to new static library.

Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ib800e0737bc5f78399cffa501483b4d26356215c
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6b0367..426c089 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -99,6 +99,33 @@
 add_library_ex(armnnUtils STATIC ${armnnUtils_sources})
 target_include_directories(armnnUtils PRIVATE src/backends)
 
+# armnnTestUtils library provides useful test functions for backend developers.
+set(armnnTestUtils_sources)
+list(APPEND armnnTestUtils_sources
+     src/armnn/test/CreateWorkload.hpp
+     src/armnn/test/GraphUtils.hpp
+     src/armnn/test/GraphUtils.cpp
+     src/armnn/test/PredicateResult.hpp
+     src/armnn/test/TensorHelpers.hpp
+     src/armnn/test/TestUtils.hpp
+     src/armnn/test/TestUtils.cpp
+     src/armnn/test/UnitTests.hpp
+     src/backends/backendsCommon/test/CommonTestUtils.hpp
+     src/backends/backendsCommon/test/CommonTestUtils.cpp
+     src/backends/backendsCommon/test/DataLayoutUtils.hpp
+     src/backends/backendsCommon/test/DataTypeUtils.hpp
+     src/backends/backendsCommon/test/TensorCopyUtils.hpp
+     src/backends/backendsCommon/test/TensorCopyUtils.cpp
+     src/backends/backendsCommon/test/WorkloadTestUtils.hpp
+     src/backends/backendsCommon/test/layerTests/LayerTestResult.hpp
+     )
+
+add_library_ex(armnnTestUtils STATIC ${armnnTestUtils_sources})
+target_include_directories(armnnTestUtils PRIVATE src/armnn)
+target_include_directories(armnnTestUtils PRIVATE src/armnnUtils)
+target_include_directories(armnnTestUtils PRIVATE src/backends)
+target_include_directories(armnnTestUtils PRIVATE src/profiling)
+
 if(BUILD_ONNX_PARSER)
     set(armnn_onnx_parser_sources)
     list(APPEND armnn_onnx_parser_sources
@@ -496,6 +523,7 @@
 )
 
 target_link_libraries(armnn armnnUtils)
+target_link_libraries(armnn armnnTestUtils)
 # only link pipeCommon if it has been built
 if(BUILD_TIMELINE_DECODER)
     target_link_libraries(armnn pipeCommon)
@@ -533,14 +561,11 @@
     list(APPEND unittest_sources
         src/armnn/test/ConstTensorLayerVisitor.hpp
         src/armnn/test/ConstTensorLayerVisitor.cpp
-        src/armnn/test/CreateWorkload.hpp
         src/armnn/test/EndToEndTest.cpp
         src/armnn/test/ExecutionFrameTest.cpp
         src/armnn/test/FloatingPointConverterTest.cpp
         src/armnn/test/FlowControl.cpp
         src/armnn/test/GraphTests.cpp
-        src/armnn/test/GraphUtils.cpp
-        src/armnn/test/GraphUtils.hpp
         src/armnn/test/InstrumentTests.cpp
         src/armnn/test/InferOutputTests.cpp
         src/armnn/test/InferOutputTests.hpp
@@ -569,13 +594,11 @@
         src/armnn/test/optimizations/SquashEqualSiblingsTests.cpp
         src/armnn/test/optimizations/TransposeAsReshapeTests.cpp
         src/armnn/test/OptionalTest.cpp
-        src/armnn/test/PredicateResult.hpp
         src/armnn/test/ProfilerTests.cpp
         src/armnn/test/ProfilingEventTest.cpp
         src/armnn/test/ShapeInferenceTests.cpp
         src/armnn/test/SubgraphViewTests.cpp
         src/armnn/test/TensorHandleStrategyTest.cpp
-        src/armnn/test/TensorHelpers.hpp
         src/armnn/test/TensorTest.cpp
         src/armnn/test/TestInputOutputLayerVisitor.cpp
         src/armnn/test/TestInputOutputLayerVisitor.hpp
@@ -585,11 +608,8 @@
         src/armnn/test/TestNameOnlyLayerVisitor.hpp
         src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp
         src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp
-        src/armnn/test/TestUtils.cpp
-        src/armnn/test/TestUtils.hpp
-        src/armnn/test/UtilityTests.cpp
         src/armnn/test/UnitTests.cpp
-        src/armnn/test/UnitTests.hpp
+        src/armnn/test/UtilityTests.cpp
         src/armnn/test/UtilsTests.cpp
         src/armnnUtils/test/FloatingPointComparisonTest.cpp
         src/armnnUtils/test/ParserHelperTest.cpp
@@ -815,6 +835,7 @@
 
     target_link_libraries(UnitTests armnn)
     target_link_libraries(UnitTests armnnUtils)
+    target_link_libraries(UnitTests armnnTestUtils)
 
     if(BUILD_GATORD_MOCK)
         target_link_libraries(UnitTests gatordMockService)
@@ -949,6 +970,7 @@
 list(APPEND armnn_export_targets
     armnn
     armnnUtils
+    armnnTestUtils
 )
 
 install(
@@ -1004,6 +1026,7 @@
 
 add_library(Armnn::Armnn ALIAS armnn)
 add_library(Armnn::armnnUtils ALIAS armnnUtils)
+add_library(Armnn::armnnTestUtils ALIAS armnnTestUtils)
 
 ####################################################
 ## Build Python bindings