Fix how displays are used in test cases am: 017cb98ee9
am: 1186b99120
am: ed6ebed9f3
am: 819113071d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2305821 Change-Id: I41e5a4059d7e0b56c6329b63d86cea0e4d495552 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
42c3c902f5
2 changed files with 76 additions and 77 deletions
|
@ -630,29 +630,29 @@ TEST_P(EvsHidlTest, CameraToDisplayRoundTrip) {
|
|||
targetDisplayId = ids[0];
|
||||
});
|
||||
|
||||
// Request exclusive access to the first EVS display
|
||||
sp<IEvsDisplay_1_1> pDisplay = pEnumerator->openDisplay_1_1(targetDisplayId);
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
LOG(INFO) << "Display " << targetDisplayId << " is alreay in use.";
|
||||
|
||||
// Get the display descriptor
|
||||
pDisplay->getDisplayInfo_1_1([](const HwDisplayConfig& config, const HwDisplayState& state) {
|
||||
ASSERT_GT(config.size(), 0);
|
||||
ASSERT_GT(state.size(), 0);
|
||||
|
||||
android::ui::DisplayMode* pConfig = (android::ui::DisplayMode*)config.data();
|
||||
const auto width = pConfig->resolution.getWidth();
|
||||
const auto height = pConfig->resolution.getHeight();
|
||||
LOG(INFO) << " Resolution: " << width << "x" << height;
|
||||
ASSERT_GT(width, 0);
|
||||
ASSERT_GT(height, 0);
|
||||
|
||||
android::ui::DisplayState* pState = (android::ui::DisplayState*)state.data();
|
||||
ASSERT_NE(pState->layerStack, android::ui::INVALID_LAYER_STACK);
|
||||
});
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam: cameraInfo) {
|
||||
// Request exclusive access to the first EVS display
|
||||
sp<IEvsDisplay_1_1> pDisplay = pEnumerator->openDisplay_1_1(targetDisplayId);
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
LOG(INFO) << "Display " << targetDisplayId << " is already in use.";
|
||||
|
||||
// Get the display descriptor
|
||||
pDisplay->getDisplayInfo_1_1([](const HwDisplayConfig& config, const HwDisplayState& state) {
|
||||
ASSERT_GT(config.size(), 0);
|
||||
ASSERT_GT(state.size(), 0);
|
||||
|
||||
android::ui::DisplayMode* pConfig = (android::ui::DisplayMode*)config.data();
|
||||
const auto width = pConfig->resolution.getWidth();
|
||||
const auto height = pConfig->resolution.getHeight();
|
||||
LOG(INFO) << " Resolution: " << width << "x" << height;
|
||||
ASSERT_GT(width, 0);
|
||||
ASSERT_GT(height, 0);
|
||||
|
||||
android::ui::DisplayState* pState = (android::ui::DisplayState*)state.data();
|
||||
ASSERT_NE(pState->layerStack, android::ui::INVALID_LAYER_STACK);
|
||||
});
|
||||
|
||||
bool isLogicalCam = false;
|
||||
getPhysicalCameraIds(cam.v1.cameraId, isLogicalCam);
|
||||
if (mIsHwModule && isLogicalCam) {
|
||||
|
@ -707,10 +707,10 @@ TEST_P(EvsHidlTest, CameraToDisplayRoundTrip) {
|
|||
// Explicitly release the camera
|
||||
pEnumerator->closeCamera(pCam);
|
||||
activeCameras.clear();
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1631,12 +1631,12 @@ TEST_P(EvsHidlTest, HighPriorityCameraClient) {
|
|||
// Get the camera list
|
||||
loadCameraList();
|
||||
|
||||
// Request exclusive access to the EVS display
|
||||
sp<IEvsDisplay_1_0> pDisplay = pEnumerator->openDisplay();
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam: cameraInfo) {
|
||||
// Request exclusive access to the EVS display
|
||||
sp<IEvsDisplay_1_0> pDisplay = pEnumerator->openDisplay();
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
|
||||
// Read a target resolution from the metadata
|
||||
Stream targetCfg =
|
||||
getFirstStreamConfiguration(reinterpret_cast<camera_metadata_t*>(cam.metadata.data()));
|
||||
|
@ -1978,10 +1978,9 @@ TEST_P(EvsHidlTest, HighPriorityCameraClient) {
|
|||
pEnumerator->closeCamera(pCam1);
|
||||
activeCameras.clear();
|
||||
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1997,12 +1996,12 @@ TEST_P(EvsHidlTest, CameraUseStreamConfigToDisplay) {
|
|||
// Get the camera list
|
||||
loadCameraList();
|
||||
|
||||
// Request exclusive access to the EVS display
|
||||
sp<IEvsDisplay_1_0> pDisplay = pEnumerator->openDisplay();
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam: cameraInfo) {
|
||||
// Request exclusive access to the EVS display
|
||||
sp<IEvsDisplay_1_0> pDisplay = pEnumerator->openDisplay();
|
||||
ASSERT_NE(pDisplay, nullptr);
|
||||
|
||||
// choose a configuration that has a frame rate faster than minReqFps.
|
||||
Stream targetCfg = {};
|
||||
const int32_t minReqFps = 15;
|
||||
|
@ -2078,10 +2077,10 @@ TEST_P(EvsHidlTest, CameraUseStreamConfigToDisplay) {
|
|||
// Explicitly release the camera
|
||||
pEnumerator->closeCamera(pCam);
|
||||
activeCameras.clear();
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
// Explicitly release the display
|
||||
pEnumerator->closeDisplay(pDisplay);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -600,21 +600,21 @@ TEST_P(EvsAidlTest, CameraToDisplayRoundTrip) {
|
|||
EXPECT_GT(displayIds.size(), 0);
|
||||
targetDisplayId = displayIds[0];
|
||||
|
||||
// Request exclusive access to the first EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
LOG(INFO) << "Display " << static_cast<int>(targetDisplayId) << " is in use.";
|
||||
|
||||
// Get the display descriptor
|
||||
DisplayDesc displayDesc;
|
||||
ASSERT_TRUE(pDisplay->getDisplayInfo(&displayDesc).isOk());
|
||||
LOG(INFO) << " Resolution: " << displayDesc.width << "x" << displayDesc.height;
|
||||
ASSERT_GT(displayDesc.width, 0);
|
||||
ASSERT_GT(displayDesc.height, 0);
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam : mCameraInfo) {
|
||||
// Request exclusive access to the first EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
LOG(INFO) << "Display " << static_cast<int>(targetDisplayId) << " is in use.";
|
||||
|
||||
// Get the display descriptor
|
||||
DisplayDesc displayDesc;
|
||||
ASSERT_TRUE(pDisplay->getDisplayInfo(&displayDesc).isOk());
|
||||
LOG(INFO) << " Resolution: " << displayDesc.width << "x" << displayDesc.height;
|
||||
ASSERT_GT(displayDesc.width, 0);
|
||||
ASSERT_GT(displayDesc.height, 0);
|
||||
|
||||
bool isLogicalCam = false;
|
||||
getPhysicalCameraIds(cam.id, isLogicalCam);
|
||||
if (mIsHwModule && isLogicalCam) {
|
||||
|
@ -668,10 +668,10 @@ TEST_P(EvsAidlTest, CameraToDisplayRoundTrip) {
|
|||
// Explicitly release the camera
|
||||
ASSERT_TRUE(mEnumerator->closeCamera(pCam).isOk());
|
||||
mActiveCameras.clear();
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1395,20 +1395,20 @@ TEST_P(EvsAidlTest, HighPriorityCameraClient) {
|
|||
// Get the camera list
|
||||
loadCameraList();
|
||||
|
||||
// Request available display IDs
|
||||
uint8_t targetDisplayId = 0;
|
||||
std::vector<uint8_t> displayIds;
|
||||
ASSERT_TRUE(mEnumerator->getDisplayIdList(&displayIds).isOk());
|
||||
EXPECT_GT(displayIds.size(), 0);
|
||||
targetDisplayId = displayIds[0];
|
||||
|
||||
// Request exclusive access to the EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam : mCameraInfo) {
|
||||
// Request available display IDs
|
||||
uint8_t targetDisplayId = 0;
|
||||
std::vector<uint8_t> displayIds;
|
||||
ASSERT_TRUE(mEnumerator->getDisplayIdList(&displayIds).isOk());
|
||||
EXPECT_GT(displayIds.size(), 0);
|
||||
targetDisplayId = displayIds[0];
|
||||
|
||||
// Request exclusive access to the EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
|
||||
// Read a target resolution from the metadata
|
||||
Stream targetCfg = getFirstStreamConfiguration(
|
||||
reinterpret_cast<camera_metadata_t*>(cam.metadata.data()));
|
||||
|
@ -1687,10 +1687,10 @@ TEST_P(EvsAidlTest, HighPriorityCameraClient) {
|
|||
ASSERT_TRUE(mEnumerator->closeCamera(pCam0).isOk());
|
||||
ASSERT_TRUE(mEnumerator->closeCamera(pCam1).isOk());
|
||||
mActiveCameras.clear();
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1712,13 +1712,13 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) {
|
|||
EXPECT_GT(displayIds.size(), 0);
|
||||
targetDisplayId = displayIds[0];
|
||||
|
||||
// Request exclusive access to the EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
|
||||
// Test each reported camera
|
||||
for (auto&& cam : mCameraInfo) {
|
||||
// Request exclusive access to the EVS display
|
||||
std::shared_ptr<IEvsDisplay> pDisplay;
|
||||
ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk());
|
||||
EXPECT_NE(pDisplay, nullptr);
|
||||
|
||||
// choose a configuration that has a frame rate faster than minReqFps.
|
||||
Stream targetCfg = {};
|
||||
const int32_t minReqFps = 15;
|
||||
|
@ -1791,10 +1791,10 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) {
|
|||
// Explicitly release the camera
|
||||
ASSERT_TRUE(mEnumerator->closeCamera(pCam).isOk());
|
||||
mActiveCameras.clear();
|
||||
}
|
||||
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
// Explicitly release the display
|
||||
ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue