aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-10-18 10:39:38 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:54 +0100
commitceae3aa1b619161d49fd2847d3c73d6a858b2b8c (patch)
tree164297100c2cfe6d3e773bd9cb68ed06b6f842f9
parentb66504b654a85c81557c5d003fb5f0d6808f1482 (diff)
downloadarmnn-ceae3aa1b619161d49fd2847d3c73d6a858b2b8c.tar.gz
IVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backend sources
Change-Id: Icafc644b64c591f4dc0e1560d02b806bf053a2da
-rw-r--r--Android.mk39
-rw-r--r--src/backends/aclCommon/common.mk9
-rw-r--r--src/backends/aclCommon/test/MemCopyTests.cpp11
-rw-r--r--src/backends/cl/backend.mk12
-rw-r--r--src/backends/common.mk9
-rw-r--r--src/backends/neon/backend.mk11
-rw-r--r--src/backends/reference/backend.mk9
-rwxr-xr-xsrc/backends/test/LayerTests.cpp2
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 <backends/aclCommon/test/MemCopyTestImpl.hpp>
+#include <backends/cl/test/ClContextControlFixture.hpp>
#endif
#include <boost/test/unit_test.hpp>
-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<float, 4> result = MemCopyTest<armnn::NeonWorkloadFactory, armnn::ClWorkloadFactory>(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 <backends/cl/test/ClContextControlFixture.hpp>
-
// 3-channel 16x8 image used as common input data for a number of Conv2d tests.
static std::vector<float> 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,