diff options
Diffstat (limited to 'tests/CaffeVGG-Armnn')
-rw-r--r-- | tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp b/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp index e7fc55c7e7..b859042935 100644 --- a/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp +++ b/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp @@ -9,9 +9,23 @@ int main(int argc, char* argv[]) { armnn::TensorShape inputTensorShape({ 1, 3, 224, 224 }); - return armnn::test::ClassifierInferenceTestMain<ImageNetDatabase, armnnCaffeParser::ICaffeParser>( - argc, argv, "VGG_CNN_S.caffemodel", true, - "input", "prob", { 0 }, - [](const char* dataDir) { return ImageNetDatabase(dataDir, 224, 224); }, - &inputTensorShape); + int retVal = EXIT_FAILURE; + try + { + // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions. + retVal = armnn::test::ClassifierInferenceTestMain<ImageNetDatabase, armnnCaffeParser::ICaffeParser>( + argc, argv, "VGG_CNN_S.caffemodel", true, + "input", "prob", { 0 }, + [](const char* dataDir) { return ImageNetDatabase(dataDir, 224, 224); }, + &inputTensorShape); + } + 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: CaffeVGG-Armnn: An error has occurred when running " + "the classifier inference tests: " << e.what() << std::endl; + } + return retVal; } |