blob: 53fe4a33e7b09591986b186254d1df30aa93b95a [file] [log] [blame]
Colm Donelan6350d272020-06-09 16:56:25 +01001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Colm Donelan6350d272020-06-09 16:56:25 +01006#include "ParserFlatbuffersFixture.hpp"
7#include "../TfLiteParser.hpp"
Sadik Armagan1625efc2021-06-10 18:24:34 +01008#include <doctest/doctest.h>
Colm Donelan6350d272020-06-09 16:56:25 +01009
Sadik Armagan1625efc2021-06-10 18:24:34 +010010TEST_SUITE("TensorflowLiteParser")
11{
12TEST_CASE("ParseEmptyBinaryData")
Colm Donelan6350d272020-06-09 16:56:25 +010013{
14 ITfLiteParser::TfLiteParserOptions options;
15 ITfLiteParserPtr m_Parser(ITfLiteParser::Create(armnn::Optional<ITfLiteParser::TfLiteParserOptions>(options)));
16 // Should throw armnn::ParseException: Buffer doesn't conform to the expected Tensorflow Lite flatbuffers format.
Sadik Armagan1625efc2021-06-10 18:24:34 +010017 CHECK_THROWS_AS(m_Parser->CreateNetworkFromBinary({0}), armnn::ParseException);
Colm Donelan6350d272020-06-09 16:56:25 +010018}
19
20struct NoInputBindingsFixture : public ParserFlatbuffersFixture
21{
22 explicit NoInputBindingsFixture()
23 {
24 m_JsonString = R"(
25 {
26 "version": 3,
27 "operator_codes": [ { "builtin_code": "CONV_2D" } ],
28 "subgraphs": [ { } ]
29 }
30 )";
31 SetupSingleInputSingleOutput("inputTensor", "outputTensor");
32 }
33};
34
Sadik Armagan1625efc2021-06-10 18:24:34 +010035TEST_CASE_FIXTURE(NoInputBindingsFixture, "ParseBadInputBindings")
Colm Donelan6350d272020-06-09 16:56:25 +010036{
37 // Should throw armnn::ParseException: No input binding found for subgraph:0 and name:inputTensor.
Sadik Armagan1625efc2021-06-10 18:24:34 +010038 CHECK_THROWS_AS((RunTest<4, armnn::DataType::QAsymmU8>(0, { }, { 0 })), armnn::ParseException);
Colm Donelan6350d272020-06-09 16:56:25 +010039}
40
Sadik Armagan1625efc2021-06-10 18:24:34 +010041}