Merge "VtsHalMediaOmx: fix OmxCodecAllowedTest to match requirement" am: 28d4f75dd0 am: 7d9873d019 am: 64da566f72

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2243207

Change-Id: I5d267e871c14292c0de71ec1d63825b995027f9a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-02-28 22:43:21 +00:00 committed by Automerger Merge Worker
commit 4a619462af

View file

@ -374,21 +374,16 @@ TEST_P(StoreHidlTest, ListRoles) {
} }
} }
static int getFirstApiLevel() {
int boardApiLevel = android::base::GetIntProperty("ro.board.first_api_level", 0);
if (boardApiLevel != 0) {
return boardApiLevel;
}
return android::base::GetIntProperty("ro.product.first_api_level", __ANDROID_API_T__);
}
static bool isTV() { static bool isTV() {
return testing::deviceSupportsFeature("android.software.leanback"); return testing::deviceSupportsFeature("android.software.leanback");
} }
// list components and roles. // list components and roles.
TEST_P(StoreHidlTest, OmxCodecAllowedTest) { TEST_P(StoreHidlTest, OmxCodecAllowedTest) {
static int sBoardFirstApiLevel = android::base::GetIntProperty("ro.board.first_api_level", 0);
if (sBoardFirstApiLevel == 0) {
GTEST_SKIP() << "board first API level not detected";
}
hidl_vec<IOmx::ComponentInfo> componentInfos = getComponentInfoList(omx); hidl_vec<IOmx::ComponentInfo> componentInfos = getComponentInfoList(omx);
for (IOmx::ComponentInfo info : componentInfos) { for (IOmx::ComponentInfo info : componentInfos) {
for (std::string role : info.mRoles) { for (std::string role : info.mRoles) {
@ -396,27 +391,27 @@ TEST_P(StoreHidlTest, OmxCodecAllowedTest) {
role.find("video_encoder") != std::string::npos) { role.find("video_encoder") != std::string::npos) {
// Codec2 is not mandatory on Android TV devices that launched with Android S // Codec2 is not mandatory on Android TV devices that launched with Android S
if (isTV()) { if (isTV()) {
ASSERT_LT(getFirstApiLevel(), __ANDROID_API_T__) ASSERT_LT(sBoardFirstApiLevel, __ANDROID_API_T__)
<< " Component: " << info.mName.c_str() << " Role: " << role.c_str() << " Component: " << info.mName.c_str() << " Role: " << role.c_str()
<< " not allowed for devices launching with Android T and above"; << " not allowed for devices launching with Android T and above";
} else { } else {
std::string codecName = info.mName; std::string codecName = info.mName;
bool isAndroidCodec = (codecName.rfind("OMX.google", 0) != std::string::npos); bool isAndroidCodec = (codecName.rfind("OMX.google", 0) != std::string::npos);
if (isAndroidCodec && (getFirstApiLevel() <= __ANDROID_API_S__)) { if (isAndroidCodec && (sBoardFirstApiLevel <= __ANDROID_API_S__)) {
// refer b/230582620 // refer b/230582620
// S AOSP build did not remove the OMX.google video codecs // S AOSP build did not remove the OMX.google video codecs
// so it is infeasible to require no OMX.google.* video codecs // so it is infeasible to require no OMX.google.* video codecs
// on S launching devices // on S launching devices
} else { } else {
ASSERT_LT(getFirstApiLevel(), __ANDROID_API_S__) ASSERT_LT(sBoardFirstApiLevel, __ANDROID_API_S__)
<< " Component: " << info.mName.c_str() << " Role: " << role.c_str() << " Component: " << info.mName.c_str() << " Role: " << role.c_str()
<< " not allowed for devices launching with Android S and above"; << " not allowed for devices launching with Android S and above";
} }
} }
} }
if (role.find("audio_decoder") != std::string::npos || if (role.find("audio_decoder") != std::string::npos ||
role.find("audio_encoder") != std::string::npos) { role.find("audio_encoder") != std::string::npos) {
ASSERT_LT(getFirstApiLevel(), __ANDROID_API_T__) ASSERT_LT(sBoardFirstApiLevel, __ANDROID_API_T__)
<< " Component: " << info.mName.c_str() << " Role: " << role.c_str() << " Component: " << info.mName.c_str() << " Role: " << role.c_str()
<< " not allowed for devices launching with Android T and above"; << " not allowed for devices launching with Android T and above";
} }