diff --git a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp index 07b8290a49f..9259ee356b7 100644 --- a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp +++ b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp @@ -80,7 +80,8 @@ INSTANTIATE_TEST_SUITE_P(Convolution2D_ExplicitPadding, ConvolutionLayerTest, ::testing::Values(InferenceEngine::Layout::ANY), ::testing::Values(InferenceEngine::Layout::ANY), ::testing::Values(std::vector>({{1, 10}, {3, 30}, {30, 300}, {30, 300}})), - ::testing::Values(std::vector>({{1, 3, 30, 30}, {2, 4, 31, 31}})), +// ::testing::Values(std::vector>({{1, 3, 30, 30}, {2, 4, 31, 31}})), + ::testing::Values(std::vector>({{2, 4, 31, 31}})), ::testing::Values(CommonTestUtils::DEVICE_TEMPLATE)), ConvolutionLayerTest::getTestCaseName); // ! [test_convolution:instantiate] diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp index 2a71a03cf9d..a7287a637b8 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp @@ -45,6 +45,7 @@ public: protected: void SetUp() override; std::shared_ptr makeConvolution(const std::string& name = ""); + void Run() override; private: InferenceEngine::Precision::ePrecision netPrecision = InferenceEngine::Precision::UNSPECIFIED; diff --git a/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp b/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp index 39aa01af3af..3a2421eb7e0 100644 --- a/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp +++ b/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp @@ -57,8 +57,8 @@ void ConvolutionLayerTest::SetUp() { std::tie(kernel, stride, padBegin, padEnd, dilation, convOutChannels, padType) = convParams; setTargetStaticShape(targetStaticShapes[0]); - function = makeConvolution(); - functionRefs = makeConvolution(); + function = makeConvolution("convolution"); + functionRefs = makeConvolution("convolutionRefs"); } std::shared_ptr ConvolutionLayerTest::makeConvolution(const std::string& name) { @@ -76,7 +76,48 @@ std::shared_ptr ConvolutionLayerTest::makeConvolution(const st ngraph::builder::makeConvolution(paramOuts[0], ngPrc, kernel, stride, padBegin, padEnd, dilation, padType, convOutChannels, false, filter_weights)); ngraph::ResultVector results{std::make_shared(conv)}; - return std::make_shared(results, params, "convolution"); + return std::make_shared(results, params, name); +} + +void ConvolutionLayerTest::Run() { + auto crashHandler = [](int errCode) { + auto &s = LayerTestsUtils::Summary::getInstance(); + s.saveReport(); + std::cout << "Unexpected application crash!" << std::endl; + std::abort(); + }; + signal(SIGSEGV, crashHandler); + + auto &s = LayerTestsUtils::Summary::getInstance(); + s.setDeviceName(targetDevice); + + if (FuncTestUtils::SkipTestsConfig::currentTestIsDisabled()) { + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::SKIPPED); + GTEST_SKIP() << "Disabled test due to configuration" << std::endl; + } else { + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::CRASHED); + } + + try { + LoadNetwork(); + for (auto&& tss : targetStaticShapes) { + setTargetStaticShape(tss); + GenerateInputs(); + Infer(); + Validate(); + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::PASSED); + } + } + catch (const std::runtime_error &re) { + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::FAILED); + GTEST_FATAL_FAILURE_(re.what()); + } catch (const std::exception &ex) { + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::FAILED); + GTEST_FATAL_FAILURE_(ex.what()); + } catch (...) { + s.updateOPsStats(function, LayerTestsUtils::PassRate::Statuses::FAILED); + GTEST_FATAL_FAILURE_("Unknown failure occurred."); + } } } // namespace LayerTestsDefinitions