diff options
author | Mike Kelly <mike.kelly@arm.com> | 2020-09-29 20:50:35 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2020-09-30 11:43:24 +0000 |
commit | 3a613cc9103484249ffcd7c63a7ae57783b1ea18 (patch) | |
tree | 62c0ed3ef0418494e8f9591a2442f52fde8b3af7 /src/armnn/test/EndToEndTest.cpp | |
parent | ae55dc7bb1ce52d83ccee14f94a5c1d9d218867f (diff) | |
download | armnn-3a613cc9103484249ffcd7c63a7ae57783b1ea18.tar.gz |
Refactored Optimize(...) function to throw exceptions instead of returning null
* INetwork::Optimize(...) states that the function should throw an exception
if it fails but the implementation in Network.cpp returned null in some
scenarios instead. This has led to some confusion amongst users.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I358d1293232c9464772aa0e39ab3355e3570c823
Diffstat (limited to 'src/armnn/test/EndToEndTest.cpp')
-rw-r--r-- | src/armnn/test/EndToEndTest.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/armnn/test/EndToEndTest.cpp b/src/armnn/test/EndToEndTest.cpp index a8192a6480..56ff454703 100644 --- a/src/armnn/test/EndToEndTest.cpp +++ b/src/armnn/test/EndToEndTest.cpp @@ -42,8 +42,18 @@ BOOST_AUTO_TEST_CASE(ErrorOnLoadNetwork) // optimize the network std::vector<BackendId> backends = {Compute::CpuAcc}; - IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec()); - BOOST_CHECK(!optNet); + std::vector<std::string> errMessages; + + try + { + Optimize(*net, backends, runtime->GetDeviceSpec(), OptimizerOptions(), errMessages); + BOOST_FAIL("Should have thrown an exception."); + } + catch (const InvalidArgumentException& e) + { + // Different exceptions are thrown on different backends + } + BOOST_CHECK(errMessages.size() > 0); } BOOST_AUTO_TEST_SUITE_END() |