Add getSupportedExtensions to NNAPI IDevice

Bug: 118603011
Test: mma
Change-Id: I5bd1cf2dfd8c4700819d52a87931df2959ef6929
This commit is contained in:
Slava Shklyaev
2018-11-20 15:29:01 +00:00
parent 9212018558
commit 6148d0f446
2 changed files with 32 additions and 0 deletions

View File

@@ -75,6 +75,21 @@ interface IDevice extends @1.1::IDevice {
*/
getType() generates (ErrorStatus status, DeviceType type);
/**
* Gets information about extensions supported by the driver implementation.
*
* All extension operations and operands must be fully supported for the
* extension to appear in the list of supported extensions.
*
* @return status Error status of the call, must be:
* - NONE if successful
* - DEVICE_UNAVAILABLE if driver is offline or busy
* - GENERAL_FAILURE if there is an unspecified error
* @return extensions A list of supported extensions.
*/
getSupportedExtensions()
generates (ErrorStatus status, vec<Extension> extensions);
/**
* Gets the supported operations in a model.
*

View File

@@ -55,6 +55,23 @@ TEST_F(NeuralnetworksHidlTest, GetDeviceTypeTest) {
});
EXPECT_TRUE(ret.isOk());
}
// device supported extensions test
TEST_F(NeuralnetworksHidlTest, GetDeviceSupportedExtensionsTest) {
Return<void> ret = device->getSupportedExtensions(
[](ErrorStatus status, const hidl_vec<Extension>& extensions) {
EXPECT_EQ(ErrorStatus::NONE, status);
for (auto& extension : extensions) {
std::string extensionName = extension.name;
EXPECT_FALSE(extensionName.empty());
EXPECT_NE(extensionName.find("."), std::string::npos)
<< "Extension name must start with the reverse domain name of the "
"vendor";
}
});
EXPECT_TRUE(ret.isOk());
}
} // namespace functional
} // namespace vts
} // namespace V1_2