aboutsummaryrefslogtreecommitdiff
path: root/src/armnnOnnxParser/test/CreateNetwork.cpp
blob: 1e3e1b4fdd356ddb90456cb3452c1065e8c3bd68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//

#include <boost/test/unit_test.hpp>
#include  "armnnOnnxParser/IOnnxParser.hpp"
#include "google/protobuf/stubs/logging.h"

BOOST_AUTO_TEST_SUITE(OnnxParser)

BOOST_AUTO_TEST_CASE(CreateNetworkFromString)
{
  std::string TestModel = R"(
                          ir_version: 3
                          producer_name:  "CNTK "
                          producer_version:  "2.5.1 "
                          domain:  "ai.cntk "
                          model_version: 1
                          graph {
                            name:  "CNTKGraph "
                            output {
                                 name:  "Output"
                                 type {
                                    tensor_type {
                                      elem_type: 1
                                      shape {
                                        dim {
                                           dim_value: 1
                                        }
                                        dim {
                                           dim_value: 10
                                        }
                                      }
                                    }
                                 }
                             }
                          }
                          opset_import {
                             version: 7
                           })";

    armnnOnnxParser::IOnnxParserPtr parser(armnnOnnxParser::IOnnxParser::Create());

    armnn::INetworkPtr network = parser->CreateNetworkFromString(TestModel.c_str());
    BOOST_TEST(network.get());
}

BOOST_AUTO_TEST_CASE(CreateNetworkFromStringWithNullptr)
{
    armnnOnnxParser::IOnnxParserPtr parser(armnnOnnxParser::IOnnxParser::Create());
    BOOST_CHECK_THROW(parser->CreateNetworkFromString(""), armnn::InvalidArgumentException );
}

BOOST_AUTO_TEST_CASE(CreateNetworkWithInvalidString)
{
    auto silencer = google::protobuf::LogSilencer(); //get rid of errors from protobuf
    armnnOnnxParser::IOnnxParserPtr parser(armnnOnnxParser::IOnnxParser::Create());
    BOOST_CHECK_THROW(parser->CreateNetworkFromString( "I'm not a model so I should raise an error" ),
                      armnn::ParseException );
}

BOOST_AUTO_TEST_SUITE_END()