diff options
Diffstat (limited to 'src/backends/backendsCommon/test/EndToEndTestImpl.hpp')
-rw-r--r-- | src/backends/backendsCommon/test/EndToEndTestImpl.hpp | 25 |
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 |