From ceae3aa1b619161d49fd2847d3c73d6a858b2b8c Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Thu, 18 Oct 2018 10:39:38 +0100 Subject: IVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backend sources Change-Id: Icafc644b64c591f4dc0e1560d02b806bf053a2da --- Android.mk | 39 ++++++++++++++-------------- src/backends/aclCommon/common.mk | 9 ++++++- src/backends/aclCommon/test/MemCopyTests.cpp | 11 +++++--- src/backends/cl/backend.mk | 12 +++++++++ src/backends/common.mk | 9 +++++++ src/backends/neon/backend.mk | 11 ++++++++ src/backends/reference/backend.mk | 9 +++++++ src/backends/test/LayerTests.cpp | 2 -- 8 files changed, 77 insertions(+), 25 deletions(-) diff --git a/Android.mk b/Android.mk index 7493374a46..a2299a14d4 100644 --- a/Android.mk +++ b/Android.mk @@ -152,6 +152,24 @@ LOCAL_MODULE_TAGS := eng optional LOCAL_ARM_MODE := arm LOCAL_PROPRIETARY_MODULE := true +# placeholder to hold all backend unit test source files +ARMNN_BACKEND_TEST_SOURCES := + +# +# iterate through the backend common and specific include paths, include them into the current +# makefile and append the sources held by the COMMON_TEST_SOURCES and BACKEND_TEST_SOURCES +# (included from the given makefile) to the ARMNN_BACKEND_TEST_SOURCES list +# +$(foreach mkPath,$(ARMNN_BACKEND_COMMON_MAKEFILE_DIRS), \ + $(eval include $(LOCAL_PATH)/$(mkPath)/common.mk) \ + $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ + $(patsubst %,$(mkPath)/%,$(COMMON_TEST_SOURCES)))) + +$(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS), \ + $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk) \ + $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ + $(patsubst %,$(mkPath)/%,$(BACKEND_TEST_SOURCES)))) + # Mark source files as dependent on Android.mk LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk @@ -172,6 +190,7 @@ LOCAL_CFLAGS := \ -DARMCOMPUTENEON_ENABLED LOCAL_SRC_FILES := \ + $(ARMNN_BACKEND_TEST_SOURCES) \ src/armnn/test/UnitTests.cpp \ src/armnn/test/EndToEndTest.cpp \ src/armnn/test/UtilsTests.cpp \ @@ -182,25 +201,7 @@ LOCAL_SRC_FILES := \ src/armnn/test/InstrumentTests.cpp \ src/armnn/test/ProfilingEventTest.cpp \ src/armnn/test/ObservableTest.cpp \ - src/armnn/test/OptionalTest.cpp \ - src/backends/test/WorkloadDataValidation.cpp \ - src/backends/test/TensorCopyUtils.cpp \ - src/backends/test/LayerTests.cpp \ - src/backends/aclCommon/test/MemCopyTests.cpp \ - src/backends/cl/test/ClCreateWorkloadTests.cpp \ - src/backends/cl/test/ClLayerSupportTests.cpp \ - src/backends/cl/test/ClLayerTests.cpp \ - src/backends/cl/test/ClMemCopyTests.cpp \ - src/backends/cl/test/Fp16SupportTest.cpp \ - src/backends/cl/test/OpenClTimerTest.cpp \ - src/backends/neon/test/NeonCreateWorkloadTests.cpp \ - src/backends/neon/test/NeonLayerSupportTests.cpp \ - src/backends/neon/test/NeonLayerTests.cpp \ - src/backends/neon/test/NeonMemCopyTests.cpp \ - src/backends/neon/test/NeonTimerTest.cpp \ - src/backends/reference/test/RefCreateWorkloadTests.cpp \ - src/backends/reference/test/RefLayerSupportTests.cpp \ - src/backends/reference/test/RefLayerTests.cpp + src/armnn/test/OptionalTest.cpp LOCAL_STATIC_LIBRARIES := \ libneuralnetworks_common \ diff --git a/src/backends/aclCommon/common.mk b/src/backends/aclCommon/common.mk index 9854f6fcb5..67ba01b1e4 100644 --- a/src/backends/aclCommon/common.mk +++ b/src/backends/aclCommon/common.mk @@ -14,4 +14,11 @@ COMMON_SOURCES := \ memory/BlobMemoryPool.cpp \ memory/OffsetLifetimeManager.cpp \ memory/OffsetMemoryPool.cpp \ - memory/PoolManager.cpp \ No newline at end of file + memory/PoolManager.cpp + +# COMMON_TEST_SOURCES contains the list of files to be included +# in the Android unit test build (armnn-tests) and it is picked +# up by the Android.mk file in the root of ArmNN + +COMMON_TEST_SOURCES := \ + test/MemCopyTests.cpp diff --git a/src/backends/aclCommon/test/MemCopyTests.cpp b/src/backends/aclCommon/test/MemCopyTests.cpp index 7e503b1cdb..d8b407d1bc 100644 --- a/src/backends/aclCommon/test/MemCopyTests.cpp +++ b/src/backends/aclCommon/test/MemCopyTests.cpp @@ -9,11 +9,12 @@ #if ARMCOMPUTECL_ENABLED && ARMCOMPUTENEON_ENABLED #include +#include #endif #include -BOOST_AUTO_TEST_SUITE(MemCopyTestSuite) +BOOST_AUTO_TEST_SUITE(MemCopyCommon) BOOST_AUTO_TEST_CASE(AclTypeConversions) { @@ -34,8 +35,12 @@ BOOST_AUTO_TEST_CASE(AclTypeConversions) BOOST_TEST(convertedshape[3] == 5); } +BOOST_AUTO_TEST_SUITE_END() + #if ARMCOMPUTECL_ENABLED && ARMCOMPUTENEON_ENABLED +BOOST_FIXTURE_TEST_SUITE(MemCopyClNeon, ClContextControlFixture) + BOOST_AUTO_TEST_CASE(CopyBetweenNeonAndGpu) { LayerTestResult result = MemCopyTest(false); @@ -60,6 +65,6 @@ BOOST_AUTO_TEST_CASE(CopyBetweenGpuAndNeonWithSubtensors) BOOST_TEST(CompareTensors(result.output, result.outputExpected)); } -#endif - BOOST_AUTO_TEST_SUITE_END() + +#endif \ No newline at end of file diff --git a/src/backends/cl/backend.mk b/src/backends/cl/backend.mk index 205f7b5415..c549c01c28 100644 --- a/src/backends/cl/backend.mk +++ b/src/backends/cl/backend.mk @@ -37,3 +37,15 @@ BACKEND_SOURCES := \ workloads/ClSoftmaxFloatWorkload.cpp \ workloads/ClSoftmaxUint8Workload.cpp \ workloads/ClSubtractionWorkload.cpp + +# BACKEND_TEST_SOURCES contains the list of files to be included +# in the Android unit test build (armnn-tests) and it is picked +# up by the Android.mk file in the root of ArmNN + +BACKEND_TEST_SOURCES := \ + test/ClCreateWorkloadTests.cpp \ + test/ClLayerSupportTests.cpp \ + test/ClLayerTests.cpp \ + test/ClMemCopyTests.cpp \ + test/Fp16SupportTest.cpp \ + test/OpenClTimerTest.cpp diff --git a/src/backends/common.mk b/src/backends/common.mk index 2b649adcf5..b1583b987e 100644 --- a/src/backends/common.mk +++ b/src/backends/common.mk @@ -17,3 +17,12 @@ COMMON_SOURCES := \ StringMapping.cpp \ WorkloadData.cpp \ WorkloadFactory.cpp + +# COMMON_TEST_SOURCES contains the list of files to be included +# in the Android unit test build (armnn-tests) and it is picked +# up by the Android.mk file in the root of ArmNN + +COMMON_TEST_SOURCES := \ + test/WorkloadDataValidation.cpp \ + test/TensorCopyUtils.cpp \ + test/LayerTests.cpp diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk index 52e241f520..4cab9fbd71 100644 --- a/src/backends/neon/backend.mk +++ b/src/backends/neon/backend.mk @@ -34,3 +34,14 @@ BACKEND_SOURCES := \ workloads/NeonSoftmaxFloatWorkload.cpp \ workloads/NeonSoftmaxUint8Workload.cpp \ workloads/NeonSubtractionFloatWorkload.cpp + +# BACKEND_TEST_SOURCES contains the list of files to be included +# in the Android unit test build (armnn-tests) and it is picked +# up by the Android.mk file in the root of ArmNN + +BACKEND_TEST_SOURCES := \ + test/NeonCreateWorkloadTests.cpp \ + test/NeonLayerSupportTests.cpp \ + test/NeonLayerTests.cpp \ + test/NeonMemCopyTests.cpp \ + test/NeonTimerTest.cpp diff --git a/src/backends/reference/backend.mk b/src/backends/reference/backend.mk index 4403ea2d24..9ecb6d75b2 100644 --- a/src/backends/reference/backend.mk +++ b/src/backends/reference/backend.mk @@ -58,3 +58,12 @@ BACKEND_SOURCES := \ workloads/RefSplitterUint8Workload.cpp \ workloads/ResizeBilinear.cpp \ workloads/Softmax.cpp + +# BACKEND_TEST_SOURCES contains the list of files to be included +# in the Android unit test build (armnn-tests) and it is picked +# up by the Android.mk file in the root of ArmNN + +BACKEND_TEST_SOURCES := \ + test/RefCreateWorkloadTests.cpp \ + test/RefLayerSupportTests.cpp \ + test/RefLayerTests.cpp diff --git a/src/backends/test/LayerTests.cpp b/src/backends/test/LayerTests.cpp index 726cb7d26b..95f2a32297 100755 --- a/src/backends/test/LayerTests.cpp +++ b/src/backends/test/LayerTests.cpp @@ -34,8 +34,6 @@ #include "ConvertFp16ToFp32TestImpl.hpp" #include "ConvertFp32ToFp16TestImpl.hpp" -#include - // 3-channel 16x8 image used as common input data for a number of Conv2d tests. static std::vector ConvInput3x8x16({ 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, -- cgit v1.2.1