diff options
Diffstat (limited to 'src/armnnOnnxParser/test/CreateNetwork.cpp')
-rw-r--r-- | src/armnnOnnxParser/test/CreateNetwork.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/armnnOnnxParser/test/CreateNetwork.cpp b/src/armnnOnnxParser/test/CreateNetwork.cpp new file mode 100644 index 0000000000..d11f7603b2 --- /dev/null +++ b/src/armnnOnnxParser/test/CreateNetwork.cpp @@ -0,0 +1,63 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// + +#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: FLOAT + 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() |