diff options
Diffstat (limited to 'tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp')
-rw-r--r-- | tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp b/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp index c50d8ea05f..dce4e08d05 100644 --- a/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp +++ b/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp @@ -8,7 +8,21 @@ int main(int argc, char* argv[]) { - return armnn::test::ClassifierInferenceTestMain<ImageNetDatabase, armnnCaffeParser::ICaffeParser>( - argc, argv, "bvlc_alexnet_1.caffemodel", true, "data", "prob", { 0 }, - [](const char* dataDir) { return ImageNetDatabase(dataDir); }); + int retVal = EXIT_FAILURE; + try + { + // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions. + retVal = armnn::test::ClassifierInferenceTestMain<ImageNetDatabase, armnnCaffeParser::ICaffeParser>( + argc, argv, "bvlc_alexnet_1.caffemodel", true, "data", "prob", { 0 }, + [](const char* dataDir) { return ImageNetDatabase(dataDir); }); + } + catch (const std::exception& e) + { + // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an + // exception of type std::length_error. + // Using stderr instead in this context as there is no point in nesting try-catch blocks here. + std::cerr << "WARNING: CaffeAlexNet-Armnn: An error has occurred when running the " + "classifier inference tests: " << e.what() << std::endl; + } + return retVal; } |