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