From ed682336975e3899709ecebcdceda3d0f2d2a0dd Mon Sep 17 00:00:00 2001 From: Michael Butler Date: Thu, 7 Feb 2019 13:22:30 -0800 Subject: [PATCH] Add presubmit tests to NNAPI -- hardware/interfaces/neuralnetworks This CL creates a new suite of tests to enable presubmit tests: * PresubmitHalNeuralnetworksV1_0TargetTest * PresubmitHalNeuralnetworksV1_1TargetTest * PresubmitHalNeuralnetworksV1_2TargetTest These tests are the same as the VTS tests, with the exception that they will skip running all tests (but still pass) if the service cannot be found and its name starts with "service-". This change does not affect the existing NNAPI VTS tests. Test: mma Test: atest Bug: 124040554 Change-Id: I36a38b66b21fd51d0ca381bb4e05a39266dd353f --- neuralnetworks/1.0/vts/functional/Android.bp | 14 +++++++++- .../vts/functional/VtsHalNeuralnetworks.cpp | 12 +++++++- neuralnetworks/1.1/vts/functional/Android.bp | 14 ++++++++-- .../vts/functional/VtsHalNeuralnetworks.cpp | 12 +++++++- neuralnetworks/1.2/vts/functional/Android.bp | 16 +++++++++-- .../vts/functional/VtsHalNeuralnetworks.cpp | 12 +++++++- neuralnetworks/TEST_MAPPING | 28 +++++++++++++++++++ 7 files changed, 99 insertions(+), 9 deletions(-) create mode 100644 neuralnetworks/TEST_MAPPING diff --git a/neuralnetworks/1.0/vts/functional/Android.bp b/neuralnetworks/1.0/vts/functional/Android.bp index 52d63286b7..9057695e92 100644 --- a/neuralnetworks/1.0/vts/functional/Android.bp +++ b/neuralnetworks/1.0/vts/functional/Android.bp @@ -80,6 +80,7 @@ cc_defaults { }, }, }, + test_suites: ["general-tests"], } cc_test { @@ -89,5 +90,16 @@ cc_test { "BasicTests.cpp", "GeneratedTests.cpp", ], - test_suites: ["general-tests"], +} + +cc_test { + name: "PresubmitHalNeuralnetworksV1_0TargetTest", + defaults: ["VtsHalNeuralNetworksTargetTestDefaults"], + srcs: [ + "BasicTests.cpp", + "GeneratedTests.cpp", + ], + cflags: [ + "-DPRESUBMIT_NOT_VTS", + ], } diff --git a/neuralnetworks/1.0/vts/functional/VtsHalNeuralnetworks.cpp b/neuralnetworks/1.0/vts/functional/VtsHalNeuralnetworks.cpp index 9ebc0aac47..88830574da 100644 --- a/neuralnetworks/1.0/vts/functional/VtsHalNeuralnetworks.cpp +++ b/neuralnetworks/1.0/vts/functional/VtsHalNeuralnetworks.cpp @@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {} void NeuralnetworksHidlTest::SetUp() { ::testing::VtsHalHidlTargetTestBase::SetUp(); device = ::testing::VtsHalHidlTargetTestBase::getService( - NeuralnetworksHidlEnvironment::getInstance()); + NeuralnetworksHidlEnvironment::getInstance()); + +#ifdef PRESUBMIT_NOT_VTS + const std::string name = + NeuralnetworksHidlEnvironment::getInstance()->getServiceName(); + const std::string sampleDriver = "sample-"; + if (device == nullptr && name.substr(0, sampleDriver.size()) == sampleDriver) { + GTEST_SKIP(); + } +#endif // PRESUBMIT_NOT_VTS + ASSERT_NE(nullptr, device.get()); } diff --git a/neuralnetworks/1.1/vts/functional/Android.bp b/neuralnetworks/1.1/vts/functional/Android.bp index 3f0c2561b0..4fbeac978d 100644 --- a/neuralnetworks/1.1/vts/functional/Android.bp +++ b/neuralnetworks/1.1/vts/functional/Android.bp @@ -21,7 +21,6 @@ cc_test { srcs: [ "GeneratedTestsV1_0.cpp", ], - test_suites: ["general-tests"], } // Tests for V1_1 models. @@ -32,5 +31,16 @@ cc_test { "BasicTests.cpp", "GeneratedTests.cpp", ], - test_suites: ["general-tests"], +} + +cc_test { + name: "PresubmitHalNeuralnetworksV1_1TargetTest", + defaults: ["VtsHalNeuralNetworksTargetTestDefaults"], + srcs: [ + "BasicTests.cpp", + "GeneratedTests.cpp", + ], + cflags: [ + "-DPRESUBMIT_NOT_VTS", + ], } diff --git a/neuralnetworks/1.1/vts/functional/VtsHalNeuralnetworks.cpp b/neuralnetworks/1.1/vts/functional/VtsHalNeuralnetworks.cpp index 4165953df2..224a51d149 100644 --- a/neuralnetworks/1.1/vts/functional/VtsHalNeuralnetworks.cpp +++ b/neuralnetworks/1.1/vts/functional/VtsHalNeuralnetworks.cpp @@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {} void NeuralnetworksHidlTest::SetUp() { ::testing::VtsHalHidlTargetTestBase::SetUp(); device = ::testing::VtsHalHidlTargetTestBase::getService( - NeuralnetworksHidlEnvironment::getInstance()); + NeuralnetworksHidlEnvironment::getInstance()); + +#ifdef PRESUBMIT_NOT_VTS + const std::string name = + NeuralnetworksHidlEnvironment::getInstance()->getServiceName(); + const std::string sampleDriver = "sample-"; + if (device == nullptr && name.substr(0, sampleDriver.size()) == sampleDriver) { + GTEST_SKIP(); + } +#endif // PRESUBMIT_NOT_VTS + ASSERT_NE(nullptr, device.get()); } diff --git a/neuralnetworks/1.2/vts/functional/Android.bp b/neuralnetworks/1.2/vts/functional/Android.bp index 510a0d5b3c..891b414480 100644 --- a/neuralnetworks/1.2/vts/functional/Android.bp +++ b/neuralnetworks/1.2/vts/functional/Android.bp @@ -24,7 +24,6 @@ cc_test { cflags: [ "-DNN_TEST_DYNAMIC_OUTPUT_SHAPE" ], - test_suites: ["general-tests"], } // Tests for V1_1 models using the V1_2 HAL. @@ -37,7 +36,6 @@ cc_test { cflags: [ "-DNN_TEST_DYNAMIC_OUTPUT_SHAPE" ], - test_suites: ["general-tests"], } // Tests for V1_2 models. @@ -52,5 +50,17 @@ cc_test { cflags: [ "-DNN_TEST_DYNAMIC_OUTPUT_SHAPE" ], - test_suites: ["general-tests"], +} + +cc_test { + name: "PresubmitHalNeuralnetworksV1_2TargetTest", + defaults: ["VtsHalNeuralNetworksTargetTestDefaults"], + srcs: [ + "BasicTests.cpp", + "GeneratedTests.cpp", + ], + cflags: [ + "-DNN_TEST_DYNAMIC_OUTPUT_SHAPE", + "-DPRESUBMIT_NOT_VTS", + ], } diff --git a/neuralnetworks/1.2/vts/functional/VtsHalNeuralnetworks.cpp b/neuralnetworks/1.2/vts/functional/VtsHalNeuralnetworks.cpp index 34c73ef05d..4728c28e87 100644 --- a/neuralnetworks/1.2/vts/functional/VtsHalNeuralnetworks.cpp +++ b/neuralnetworks/1.2/vts/functional/VtsHalNeuralnetworks.cpp @@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {} void NeuralnetworksHidlTest::SetUp() { ::testing::VtsHalHidlTargetTestBase::SetUp(); device = ::testing::VtsHalHidlTargetTestBase::getService( - NeuralnetworksHidlEnvironment::getInstance()); + NeuralnetworksHidlEnvironment::getInstance()); + +#ifdef PRESUBMIT_NOT_VTS + const std::string name = + NeuralnetworksHidlEnvironment::getInstance()->getServiceName(); + const std::string sampleDriver = "sample-"; + if (device == nullptr && name.substr(0, sampleDriver.size()) == sampleDriver) { + GTEST_SKIP(); + } +#endif // PRESUBMIT_NOT_VTS + ASSERT_NE(nullptr, device.get()); } diff --git a/neuralnetworks/TEST_MAPPING b/neuralnetworks/TEST_MAPPING new file mode 100644 index 0000000000..50b6c19124 --- /dev/null +++ b/neuralnetworks/TEST_MAPPING @@ -0,0 +1,28 @@ +{ + "presubmit": [ + { + "name": "PresubmitHalNeuralnetworksV1_0TargetTest", + "options": [ + { + "native-test-flag": "--hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all" + } + ] + }, + { + "name": "PresubmitHalNeuralnetworksV1_1TargetTest", + "options": [ + { + "native-test-flag": "--hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all" + } + ] + }, + { + "name": "PresubmitHalNeuralnetworksV1_2TargetTest", + "options": [ + { + "native-test-flag": "--hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all" + } + ] + } + ] +}