aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/UnitTests.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/test/UnitTests.hpp')
-rw-r--r--src/armnn/test/UnitTests.hpp185
1 files changed, 3 insertions, 182 deletions
diff --git a/src/armnn/test/UnitTests.hpp b/src/armnn/test/UnitTests.hpp
index e4a8b96b52..129a766729 100644
--- a/src/armnn/test/UnitTests.hpp
+++ b/src/armnn/test/UnitTests.hpp
@@ -2,187 +2,8 @@
// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#pragma once
-#include <armnn/Logging.hpp>
-#include <armnn/Utils.hpp>
-#include <reference/RefWorkloadFactory.hpp>
-#include <reference/test/RefWorkloadFactoryHelper.hpp>
+#include "../../armnnTestUtils/UnitTests.hpp"
-#include <backendsCommon/test/LayerTests.hpp>
-#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
-
-#include "TensorHelpers.hpp"
-
-#include <doctest/doctest.h>
-
-inline void ConfigureLoggingTest()
-{
- // Configures logging for both the ARMNN library and this test program.
- armnn::ConfigureLogging(true, true, armnn::LogSeverity::Fatal);
-}
-
-// The following macros require the caller to have defined FactoryType, with one of the following using statements:
-//
-// using FactoryType = armnn::RefWorkloadFactory;
-// using FactoryType = armnn::ClWorkloadFactory;
-// using FactoryType = armnn::NeonWorkloadFactory;
-
-/// Executes CHECK_MESSAGE on CompareTensors() return value so that the predicate_result message is reported.
-/// If the test reports itself as not supported then the tensors are not compared.
-/// Additionally this checks that the supportedness reported by the test matches the name of the test.
-/// Unsupported tests must be 'tagged' by including "UNSUPPORTED" in their name.
-/// This is useful because it clarifies that the feature being tested is not actually supported
-/// (a passed test with the name of a feature would imply that feature was supported).
-/// If support is added for a feature, the test case will fail because the name incorrectly contains UNSUPPORTED.
-/// If support is removed for a feature, the test case will fail because the name doesn't contain UNSUPPORTED.
-template <typename T, std::size_t n>
-void CompareTestResultIfSupported(const std::string& testName, const LayerTestResult<T, n>& testResult)
-{
- bool testNameIndicatesUnsupported = testName.find("UNSUPPORTED") != std::string::npos;
- CHECK_MESSAGE(testNameIndicatesUnsupported != testResult.m_Supported,
- "The test name does not match the supportedness it is reporting");
- if (testResult.m_Supported)
- {
- auto result = CompareTensors(testResult.m_ActualData,
- testResult.m_ExpectedData,
- testResult.m_ActualShape,
- testResult.m_ExpectedShape,
- testResult.m_CompareBoolean);
- CHECK_MESSAGE(result.m_Result, result.m_Message.str());
- }
-}
-
-template <typename T, std::size_t n>
-void CompareTestResultIfSupported(const std::string& testName, const std::vector<LayerTestResult<T, n>>& testResult)
-{
- bool testNameIndicatesUnsupported = testName.find("UNSUPPORTED") != std::string::npos;
- for (unsigned int i = 0; i < testResult.size(); ++i)
- {
- CHECK_MESSAGE(testNameIndicatesUnsupported != testResult[i].m_Supported,
- "The test name does not match the supportedness it is reporting");
- if (testResult[i].m_Supported)
- {
- auto result = CompareTensors(testResult[i].m_ActualData,
- testResult[i].m_ExpectedData,
- testResult[i].m_ActualShape,
- testResult[i].m_ExpectedShape);
- CHECK_MESSAGE(result.m_Result, result.m_Message.str());
- }
- }
-}
-
-template<typename FactoryType, typename TFuncPtr, typename... Args>
-void RunTestFunction(const char* testName, TFuncPtr testFunction, Args... args)
-{
- std::unique_ptr<armnn::IProfiler> profiler = std::make_unique<armnn::IProfiler>();
- armnn::ProfilerManager::GetInstance().RegisterProfiler(profiler.get());
-
- auto memoryManager = WorkloadFactoryHelper<FactoryType>::GetMemoryManager();
- FactoryType workloadFactory = WorkloadFactoryHelper<FactoryType>::GetFactory(memoryManager);
-
- auto testResult = (*testFunction)(workloadFactory, memoryManager, args...);
- CompareTestResultIfSupported(testName, testResult);
-
- armnn::ProfilerManager::GetInstance().RegisterProfiler(nullptr);
-}
-
-
-template<typename FactoryType, typename TFuncPtr, typename... Args>
-void RunTestFunctionUsingTensorHandleFactory(const char* testName, TFuncPtr testFunction, Args... args)
-{
- std::unique_ptr<armnn::IProfiler> profiler = std::make_unique<armnn::IProfiler>();
- armnn::ProfilerManager::GetInstance().RegisterProfiler(profiler.get());
-
- auto memoryManager = WorkloadFactoryHelper<FactoryType>::GetMemoryManager();
- FactoryType workloadFactory = WorkloadFactoryHelper<FactoryType>::GetFactory(memoryManager);
-
- auto tensorHandleFactory = WorkloadFactoryHelper<FactoryType>::GetTensorHandleFactory(memoryManager);
-
- auto testResult = (*testFunction)(workloadFactory, memoryManager, tensorHandleFactory, args...);
- CompareTestResultIfSupported(testName, testResult);
-
- armnn::ProfilerManager::GetInstance().RegisterProfiler(nullptr);
-}
-
-#define ARMNN_SIMPLE_TEST_CASE(TestName, TestFunction) \
- TEST_CASE(#TestName) \
- { \
- TestFunction(); \
- }
-
-#define ARMNN_AUTO_TEST_CASE(TestName, TestFunction, ...) \
- TEST_CASE(#TestName) \
- { \
- RunTestFunction<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_AUTO_TEST_FIXTURE(TestName, Fixture, TestFunction, ...) \
- TEST_CASE_FIXTURE(Fixture, #TestName) \
- { \
- RunTestFunction<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_AUTO_TEST_CASE_WITH_THF(TestName, TestFunction, ...) \
- TEST_CASE(#TestName) \
- { \
- RunTestFunctionUsingTensorHandleFactory<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_AUTO_TEST_FIXTURE_WITH_THF(TestName, Fixture, TestFunction, ...) \
- TEST_CASE_FIXTURE(Fixture, #TestName) \
- { \
- RunTestFunctionUsingTensorHandleFactory<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-template<typename FactoryType, typename TFuncPtr, typename... Args>
-void CompareRefTestFunction(const char* testName, TFuncPtr testFunction, Args... args)
-{
- auto memoryManager = WorkloadFactoryHelper<FactoryType>::GetMemoryManager();
- FactoryType workloadFactory = WorkloadFactoryHelper<FactoryType>::GetFactory(memoryManager);
-
- armnn::RefWorkloadFactory refWorkloadFactory;
-
- auto testResult = (*testFunction)(workloadFactory, memoryManager, refWorkloadFactory, args...);
- CompareTestResultIfSupported(testName, testResult);
-}
-
-template<typename FactoryType, typename TFuncPtr, typename... Args>
-void CompareRefTestFunctionUsingTensorHandleFactory(const char* testName, TFuncPtr testFunction, Args... args)
-{
- auto memoryManager = WorkloadFactoryHelper<FactoryType>::GetMemoryManager();
- FactoryType workloadFactory = WorkloadFactoryHelper<FactoryType>::GetFactory(memoryManager);
-
- armnn::RefWorkloadFactory refWorkloadFactory;
- auto tensorHandleFactory = WorkloadFactoryHelper<FactoryType>::GetTensorHandleFactory(memoryManager);
- auto refTensorHandleFactory =
- RefWorkloadFactoryHelper::GetTensorHandleFactory(memoryManager);
-
- auto testResult = (*testFunction)(
- workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, args...);
- CompareTestResultIfSupported(testName, testResult);
-}
-
-#define ARMNN_COMPARE_REF_AUTO_TEST_CASE(TestName, TestFunction, ...) \
- TEST_CASE(#TestName) \
- { \
- CompareRefTestFunction<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(TestName, TestFunction, ...) \
- TEST_CASE(#TestName) \
- { \
- CompareRefTestFunctionUsingTensorHandleFactory<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_COMPARE_REF_FIXTURE_TEST_CASE(TestName, Fixture, TestFunction, ...) \
- TEST_CASE_FIXTURE(Fixture, #TestName) \
- { \
- CompareRefTestFunction<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
-
-#define ARMNN_COMPARE_REF_FIXTURE_TEST_CASE_WITH_THF(TestName, Fixture, TestFunction, ...) \
- TEST_CASE_FIXTURE(Fixture, #TestName) \
- { \
- CompareRefTestFunctionUsingTensorHandleFactory<FactoryType>(#TestName, &TestFunction, ##__VA_ARGS__); \
- }
+#pragma message("src/armnn/test/UnitTests.hpp has been deprecated, it is due for removal in 22.08 release." \
+ " Please use from armnnTestUtils library, /src/armnnTestUtils/UnitTests.hpp) \ No newline at end of file