blob: eeeaca85dcd9d23322aa245e629a7ad353608e4f [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "armnnOnnxParser/IOnnxParser.hpp"
#include <doctest/doctest.h>
#include "google/protobuf/stubs/logging.h"
TEST_SUITE("OnnxParser_CreateNetwork")
{
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());
CHECK(network.get());
}
TEST_CASE("CreateNetworkFromStringWithNullptr")
{
armnnOnnxParser::IOnnxParserPtr parser(armnnOnnxParser::IOnnxParser::Create());
CHECK_THROWS_AS(parser->CreateNetworkFromString(""), armnn::InvalidArgumentException );
}
TEST_CASE("CreateNetworkWithInvalidString")
{
auto silencer = google::protobuf::LogSilencer(); //get rid of errors from protobuf
armnnOnnxParser::IOnnxParserPtr parser(armnnOnnxParser::IOnnxParser::Create());
CHECK_THROWS_AS(parser->CreateNetworkFromString( "I'm not a model so I should raise an error" ),
armnn::ParseException );
}
}