CameraService: Enable presubmit unit tests, and fix them

- Add cameraservice_test to presubmit TEST_MAPPING
- Fix broken CameraProviderManager test

Test: Fixed test passes; 'atest' in frameworks/av/services/camera/libcameraservice
   runs the expected test

Change-Id: Ia1ceaf526884325d56f0e273f89220fdb33493dd
gugelfrei
Eino-Ville Talvala 6 years ago
parent b9dfc06a0c
commit bb6e414ae8

@ -0,0 +1,7 @@
{
"presubmit": [
{
"name": "cameraservice_test"
}
]
}

@ -163,7 +163,7 @@ struct TestInteractionProxy : public CameraProviderManager::ServiceInteractionPr
mTestCameraProvider = provider; mTestCameraProvider = provider;
} }
std::string mLastRequestedServiceName; std::vector<std::string> mLastRequestedServiceNames;
virtual ~TestInteractionProxy() {} virtual ~TestInteractionProxy() {}
@ -177,7 +177,7 @@ struct TestInteractionProxy : public CameraProviderManager::ServiceInteractionPr
virtual sp<hardware::camera::provider::V2_4::ICameraProvider> getService( virtual sp<hardware::camera::provider::V2_4::ICameraProvider> getService(
const std::string &serviceName) override { const std::string &serviceName) override {
mLastRequestedServiceName = serviceName; mLastRequestedServiceNames.push_back(serviceName);
return mTestCameraProvider; return mTestCameraProvider;
} }
@ -210,9 +210,18 @@ TEST(CameraProviderManagerTest, InitializeTest) {
res = providerManager->initialize(statusListener, &serviceProxy); res = providerManager->initialize(statusListener, &serviceProxy);
ASSERT_EQ(res, OK) << "Unable to initialize provider manager"; ASSERT_EQ(res, OK) << "Unable to initialize provider manager";
hardware::hidl_string legacyInstanceName = "legacy/0"; std::string legacyInstanceName = "legacy/0";
ASSERT_EQ(serviceProxy.mLastRequestedServiceName, legacyInstanceName) << std::string externalInstanceName = "external/0";
bool gotLegacy = false;
bool gotExternal = false;
for (auto& serviceName : serviceProxy.mLastRequestedServiceNames) {
if (serviceName == legacyInstanceName) gotLegacy = true;
if (serviceName == externalInstanceName) gotExternal = true;
}
ASSERT_TRUE(gotLegacy) <<
"Legacy instance not requested from service manager"; "Legacy instance not requested from service manager";
ASSERT_TRUE(gotExternal) <<
"External instance not requested from service manager";
hardware::hidl_string testProviderFqInterfaceName = hardware::hidl_string testProviderFqInterfaceName =
"android.hardware.camera.provider@2.4::ICameraProvider"; "android.hardware.camera.provider@2.4::ICameraProvider";
@ -221,7 +230,7 @@ TEST(CameraProviderManagerTest, InitializeTest) {
testProviderFqInterfaceName, testProviderFqInterfaceName,
testProviderInstanceName, false); testProviderInstanceName, false);
ASSERT_EQ(serviceProxy.mLastRequestedServiceName, testProviderInstanceName) << ASSERT_EQ(serviceProxy.mLastRequestedServiceNames.back(), testProviderInstanceName) <<
"Incorrect instance requested from service manager"; "Incorrect instance requested from service manager";
} }
@ -255,7 +264,7 @@ TEST(CameraProviderManagerTest, MultipleVendorTagTest) {
"android.hardware.camera.provider@2.4::ICameraProvider"; "android.hardware.camera.provider@2.4::ICameraProvider";
serviceProxy.mManagerNotificationInterface->onRegistration( serviceProxy.mManagerNotificationInterface->onRegistration(
testProviderFqInterfaceName, testProviderInstanceName, false); testProviderFqInterfaceName, testProviderInstanceName, false);
ASSERT_EQ(serviceProxy.mLastRequestedServiceName, testProviderInstanceName) << ASSERT_EQ(serviceProxy.mLastRequestedServiceNames.back(), testProviderInstanceName) <<
"Incorrect instance requested from service manager"; "Incorrect instance requested from service manager";
hardware::hidl_string sectionNameSecond = "SecondVendorTestSection"; hardware::hidl_string sectionNameSecond = "SecondVendorTestSection";
@ -273,7 +282,7 @@ TEST(CameraProviderManagerTest, MultipleVendorTagTest) {
hardware::hidl_string testProviderSecondInstanceName = "test2/0"; hardware::hidl_string testProviderSecondInstanceName = "test2/0";
serviceProxy.mManagerNotificationInterface->onRegistration( serviceProxy.mManagerNotificationInterface->onRegistration(
testProviderFqInterfaceName, testProviderSecondInstanceName, false); testProviderFqInterfaceName, testProviderSecondInstanceName, false);
ASSERT_EQ(serviceProxy.mLastRequestedServiceName, ASSERT_EQ(serviceProxy.mLastRequestedServiceNames.back(),
testProviderSecondInstanceName) << testProviderSecondInstanceName) <<
"Incorrect instance requested from service manager"; "Incorrect instance requested from service manager";

Loading…
Cancel
Save