1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include "armnnOnnxParser/IOnnxParser.hpp" 7*89c4ff92SAndroid Build Coastguard Worker #include "ParserPrototxtFixture.hpp" 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("OnnxParser_PrototxtFixture") 10*89c4ff92SAndroid Build Coastguard Worker { 11*89c4ff92SAndroid Build Coastguard Worker struct ProtoxtTestFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser> 12*89c4ff92SAndroid Build Coastguard Worker { ProtoxtTestFixtureProtoxtTestFixture13*89c4ff92SAndroid Build Coastguard Worker ProtoxtTestFixture() 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker m_Prototext = R"( 16*89c4ff92SAndroid Build Coastguard Worker ir_version: 3 17*89c4ff92SAndroid Build Coastguard Worker producer_name: "CNTK " 18*89c4ff92SAndroid Build Coastguard Worker producer_version: "2.5.1 " 19*89c4ff92SAndroid Build Coastguard Worker domain: "ai.cntk " 20*89c4ff92SAndroid Build Coastguard Worker model_version: 1 21*89c4ff92SAndroid Build Coastguard Worker graph { 22*89c4ff92SAndroid Build Coastguard Worker name: "CNTKGraph " 23*89c4ff92SAndroid Build Coastguard Worker node { 24*89c4ff92SAndroid Build Coastguard Worker input: "Input" 25*89c4ff92SAndroid Build Coastguard Worker output: "Output" 26*89c4ff92SAndroid Build Coastguard Worker name: "Plus112" 27*89c4ff92SAndroid Build Coastguard Worker op_type: "Add " 28*89c4ff92SAndroid Build Coastguard Worker } 29*89c4ff92SAndroid Build Coastguard Worker input { 30*89c4ff92SAndroid Build Coastguard Worker name: "Input" 31*89c4ff92SAndroid Build Coastguard Worker type { 32*89c4ff92SAndroid Build Coastguard Worker tensor_type { 33*89c4ff92SAndroid Build Coastguard Worker elem_type: 1 34*89c4ff92SAndroid Build Coastguard Worker shape { 35*89c4ff92SAndroid Build Coastguard Worker dim { 36*89c4ff92SAndroid Build Coastguard Worker dim_value: 2 37*89c4ff92SAndroid Build Coastguard Worker } 38*89c4ff92SAndroid Build Coastguard Worker } 39*89c4ff92SAndroid Build Coastguard Worker } 40*89c4ff92SAndroid Build Coastguard Worker } 41*89c4ff92SAndroid Build Coastguard Worker } 42*89c4ff92SAndroid Build Coastguard Worker output { 43*89c4ff92SAndroid Build Coastguard Worker name: "Output" 44*89c4ff92SAndroid Build Coastguard Worker type { 45*89c4ff92SAndroid Build Coastguard Worker tensor_type { 46*89c4ff92SAndroid Build Coastguard Worker elem_type: 1 47*89c4ff92SAndroid Build Coastguard Worker shape { 48*89c4ff92SAndroid Build Coastguard Worker dim { 49*89c4ff92SAndroid Build Coastguard Worker dim_value: 1 50*89c4ff92SAndroid Build Coastguard Worker } 51*89c4ff92SAndroid Build Coastguard Worker dim { 52*89c4ff92SAndroid Build Coastguard Worker dim_value: 10 53*89c4ff92SAndroid Build Coastguard Worker } 54*89c4ff92SAndroid Build Coastguard Worker } 55*89c4ff92SAndroid Build Coastguard Worker } 56*89c4ff92SAndroid Build Coastguard Worker } 57*89c4ff92SAndroid Build Coastguard Worker } 58*89c4ff92SAndroid Build Coastguard Worker } 59*89c4ff92SAndroid Build Coastguard Worker opset_import { 60*89c4ff92SAndroid Build Coastguard Worker version: 7 61*89c4ff92SAndroid Build Coastguard Worker })"; 62*89c4ff92SAndroid Build Coastguard Worker // Setup(); 63*89c4ff92SAndroid Build Coastguard Worker } 64*89c4ff92SAndroid Build Coastguard Worker }; 65*89c4ff92SAndroid Build Coastguard Worker 66*89c4ff92SAndroid Build Coastguard Worker 67*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(ProtoxtTestFixture, "ProtoxtTest") 68*89c4ff92SAndroid Build Coastguard Worker { 69*89c4ff92SAndroid Build Coastguard Worker //TODO : add a test to check if the inputs and outputs are correctly inferred. 70*89c4ff92SAndroid Build Coastguard Worker } 71*89c4ff92SAndroid Build Coastguard Worker 72*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(ProtoxtTestFixture, "ProtoxtTestWithBadInputs") 73*89c4ff92SAndroid Build Coastguard Worker { 74*89c4ff92SAndroid Build Coastguard Worker 75*89c4ff92SAndroid Build Coastguard Worker // CHECK_THROWS_AS(RunTest<4>({{ "InexistantInput" , {0.0, 1.0, 2.0, 3.0}}}, 76*89c4ff92SAndroid Build Coastguard Worker // {{ "InexistantOutput" , {0.0, 1.0, 2.0, 3.0}}}), 77*89c4ff92SAndroid Build Coastguard Worker // armnn::InvalidArgumentException ); 78*89c4ff92SAndroid Build Coastguard Worker } 79*89c4ff92SAndroid Build Coastguard Worker 80*89c4ff92SAndroid Build Coastguard Worker } 81