aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/test/RefCreateWorkloadTests.cpp
diff options
context:
space:
mode:
authorMatthew Jackson <matthew.jackson@arm.com>2019-07-31 14:06:28 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-08-01 09:42:03 +0000
commitd5166106ebfc11b1db832a708892e12edeaf997e (patch)
tree8f4be789711ed50b0bddf50a813caf4b823a59e9 /src/backends/reference/test/RefCreateWorkloadTests.cpp
parent2208b604dea6919525a12779df9aa5e49ea6a539 (diff)
downloadarmnn-d5166106ebfc11b1db832a708892e12edeaf997e.tar.gz
IVGCVSW-3539 Add CL support and tests for Stack
* Added CL backend support for Stack * Added unit tests for Stack on the CL backend * Refactored unit tests to support generic data types Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I38ee3e9d8947ea98a3104c982698001e704d7d89
Diffstat (limited to 'src/backends/reference/test/RefCreateWorkloadTests.cpp')
-rw-r--r--src/backends/reference/test/RefCreateWorkloadTests.cpp36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp
index f7999d0ffe..04c9acbe39 100644
--- a/src/backends/reference/test/RefCreateWorkloadTests.cpp
+++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp
@@ -990,41 +990,45 @@ BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQSymm16)
RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedSymm16>();
}
+template <armnn::DataType DataType>
static void RefCreateStackWorkloadTest(const armnn::TensorShape& inputShape,
const armnn::TensorShape& outputShape,
unsigned int axis,
- unsigned int numInputs,
- armnn::DataType dataType)
+ unsigned int numInputs)
{
armnn::Graph graph;
RefWorkloadFactory factory;
- auto workload = CreateStackWorkloadTest<RefStackWorkload>(factory,
- graph,
- inputShape,
- outputShape,
- axis,
- numInputs,
- dataType);
-
- // Check output is as expected
- auto queueDescriptor = workload->GetData();
+ auto workload = CreateStackWorkloadTest<RefStackWorkload, DataType>(factory,
+ graph,
+ inputShape,
+ outputShape,
+ axis,
+ numInputs);
+
+ // Check inputs and output are as expected
+ StackQueueDescriptor queueDescriptor = workload->GetData();
+ for (unsigned int i = 0; i < numInputs; ++i)
+ {
+ auto inputHandle = boost::polymorphic_downcast<RefTensorHandle*>(queueDescriptor.m_Inputs[i]);
+ BOOST_TEST((inputHandle->GetTensorInfo() == TensorInfo(inputShape, DataType)));
+ }
auto outputHandle = boost::polymorphic_downcast<RefTensorHandle*>(queueDescriptor.m_Outputs[0]);
- BOOST_TEST((outputHandle->GetTensorInfo() == TensorInfo(outputShape, dataType)));
+ BOOST_TEST((outputHandle->GetTensorInfo() == TensorInfo(outputShape, DataType)));
}
BOOST_AUTO_TEST_CASE(CreateStackFloat32Workload)
{
- RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::Float32);
+ RefCreateStackWorkloadTest<armnn::DataType::Float32>({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2);
}
BOOST_AUTO_TEST_CASE(CreateStackUint8Workload)
{
- RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::QuantisedAsymm8);
+ RefCreateStackWorkloadTest<armnn::DataType::QuantisedAsymm8>({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2);
}
BOOST_AUTO_TEST_CASE(CreateStackUint16Workload)
{
- RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::QuantisedSymm16);
+ RefCreateStackWorkloadTest<armnn::DataType::QuantisedSymm16>({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2);
}
BOOST_AUTO_TEST_SUITE_END()