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
This commit is contained in:
Michael Butler
2019-02-07 13:22:30 -08:00
parent cee3576302
commit ed68233697
7 changed files with 99 additions and 9 deletions

View File

@@ -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",
],
}

View File

@@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {}
void NeuralnetworksHidlTest::SetUp() {
::testing::VtsHalHidlTargetTestBase::SetUp();
device = ::testing::VtsHalHidlTargetTestBase::getService<IDevice>(
NeuralnetworksHidlEnvironment::getInstance());
NeuralnetworksHidlEnvironment::getInstance());
#ifdef PRESUBMIT_NOT_VTS
const std::string name =
NeuralnetworksHidlEnvironment::getInstance()->getServiceName<IDevice>();
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());
}

View File

@@ -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",
],
}

View File

@@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {}
void NeuralnetworksHidlTest::SetUp() {
::testing::VtsHalHidlTargetTestBase::SetUp();
device = ::testing::VtsHalHidlTargetTestBase::getService<IDevice>(
NeuralnetworksHidlEnvironment::getInstance());
NeuralnetworksHidlEnvironment::getInstance());
#ifdef PRESUBMIT_NOT_VTS
const std::string name =
NeuralnetworksHidlEnvironment::getInstance()->getServiceName<IDevice>();
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());
}

View File

@@ -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",
],
}

View File

@@ -49,7 +49,17 @@ NeuralnetworksHidlTest::~NeuralnetworksHidlTest() {}
void NeuralnetworksHidlTest::SetUp() {
::testing::VtsHalHidlTargetTestBase::SetUp();
device = ::testing::VtsHalHidlTargetTestBase::getService<IDevice>(
NeuralnetworksHidlEnvironment::getInstance());
NeuralnetworksHidlEnvironment::getInstance());
#ifdef PRESUBMIT_NOT_VTS
const std::string name =
NeuralnetworksHidlEnvironment::getInstance()->getServiceName<IDevice>();
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());
}

View File

@@ -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"
}
]
}
]
}