aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-01-24 15:25:26 +0000
committerNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-01-24 17:17:52 +0000
commit1fcb4ffde11ab9a191101caf157f235f0fc7f27e (patch)
tree9593994c92561754f32bff9993d7df0c8113ef5a /src/backends/backendsCommon/test/EndToEndTestImpl.hpp
parent19bd47dc6405b67796d462f590d0ff4406613452 (diff)
downloadarmnn-1fcb4ffde11ab9a191101caf157f235f0fc7f27e.tar.gz
IVGCVSW-2503 Fix end to end test support for Boolean output type
Change-Id: Ie94743c769fc17d976849ba4b22af3a13561ff55
Diffstat (limited to 'src/backends/backendsCommon/test/EndToEndTestImpl.hpp')
-rw-r--r--src/backends/backendsCommon/test/EndToEndTestImpl.hpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
index 7d2b091e42..d17b61e8fb 100644
--- a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
@@ -4,6 +4,8 @@
//
#pragma once
+#include "TypeUtils.hpp"
+
#include <armnn/ArmNN.hpp>
#include <armnn/INetwork.hpp>
@@ -102,7 +104,14 @@ inline bool ConstantUsageUint8Test(const std::vector<BackendId>& backends)
);
}
-template<typename TInput, typename TOutput>
+template<typename T>
+bool CompareBoolean(T a, T b)
+{
+ return (a == 0 && b == 0) ||(a != 0 && b != 0);
+};
+
+template<DataType ArmnnIType, DataType ArmnnOType,
+ typename TInput = ResolveType<ArmnnIType>, typename TOutput = ResolveType<ArmnnOType>>
void EndToEndLayerTestImpl(INetworkPtr network,
const std::map<int, std::vector<TInput>>& inputTensorData,
const std::map<int, std::vector<TOutput>>& expectedOutputData,
@@ -145,8 +154,18 @@ void EndToEndLayerTestImpl(INetworkPtr network,
for (auto&& it : expectedOutputData)
{
std::vector<TOutput> out = outputStorage.at(it.first);
- BOOST_TEST(it.second == out);
+ if (ArmnnOType == DataType::Boolean)
+ {
+ for (unsigned int i = 0; i < out.size(); ++i)
+ {
+ BOOST_TEST(CompareBoolean<TOutput>(it.second[i], out[i]));
+ }
+ }
+ else
+ {
+ BOOST_TEST(it.second == out);
+ }
}
}
-} // anonymous namespace \ No newline at end of file
+} // anonymous namespace