From 92e08f938798808aba70be6c6b7a9ca333ddee95 Mon Sep 17 00:00:00 2001 From: jimmyshiu Date: Fri, 15 Mar 2024 16:37:19 +0000 Subject: [PATCH] VTSHalPowerTarget: check if HintSession supported Igore HintSession testcases while HintSession isn't supported. Test: atest Power/PowerAidl Bug: 322112957 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8191575b6717e99d00b247c6a21b29cda7eb3a52) Merged-In: Ia1161aeafcd541745e7e0da1bd4c1781dc535460 Change-Id: Ia1161aeafcd541745e7e0da1bd4c1781dc535460 --- power/aidl/vts/VtsHalPowerTargetTest.cpp | 40 +++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/power/aidl/vts/VtsHalPowerTargetTest.cpp b/power/aidl/vts/VtsHalPowerTargetTest.cpp index 53fcef1a41..67efa7a90e 100644 --- a/power/aidl/vts/VtsHalPowerTargetTest.cpp +++ b/power/aidl/vts/VtsHalPowerTargetTest.cpp @@ -122,10 +122,16 @@ class PowerAidl : public testing::TestWithParam { power = IPower::fromBinder(ndk::SpAIBinder(binder)); auto status = power->getInterfaceVersion(&mServiceVersion); ASSERT_TRUE(status.isOk()); + if (mServiceVersion >= 2) { + status = power->createHintSession(getpid(), getuid(), kSelfTids, 16666666L, &mSession); + mSessionSupport = status.isOk(); + } } std::shared_ptr power; int32_t mServiceVersion; + std::shared_ptr mSession; + bool mSessionSupport = false; }; class HintSessionAidl : public PowerAidl { @@ -135,12 +141,11 @@ class HintSessionAidl : public PowerAidl { if (mServiceVersion < 2) { GTEST_SKIP() << "DEVICE not launching with Power V2 and beyond."; } - - auto status = power->createHintSession(getpid(), getuid(), kSelfTids, 16666666L, &mSession); - ASSERT_TRUE(status.isOk()); + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } ASSERT_NE(nullptr, mSession); } - std::shared_ptr mSession; }; class FMQAidl : public PowerAidl { @@ -239,6 +244,9 @@ TEST_P(PowerAidl, isBoostSupported) { } TEST_P(PowerAidl, getHintSessionPreferredRate) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 2) { GTEST_SKIP() << "DEVICE not launching with Power V2 and beyond."; } @@ -250,6 +258,9 @@ TEST_P(PowerAidl, getHintSessionPreferredRate) { } TEST_P(PowerAidl, createHintSessionWithConfig) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 5) { GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; } @@ -271,6 +282,9 @@ TEST_P(PowerAidl, hasFixedPerformance) { } TEST_P(HintSessionAidl, createAndCloseHintSession) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } ASSERT_TRUE(mSession->pause().isOk()); ASSERT_TRUE(mSession->resume().isOk()); // Test normal destroy operation @@ -279,6 +293,9 @@ TEST_P(HintSessionAidl, createAndCloseHintSession) { } TEST_P(HintSessionAidl, createHintSessionFailed) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } std::shared_ptr session; auto status = power->createHintSession(getpid(), getuid(), kEmptyTids, 16666666L, &session); @@ -288,11 +305,17 @@ TEST_P(HintSessionAidl, createHintSessionFailed) { } TEST_P(HintSessionAidl, updateAndReportDurations) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } ASSERT_TRUE(mSession->updateTargetWorkDuration(16666667LL).isOk()); ASSERT_TRUE(mSession->reportActualWorkDuration(kDurations).isOk()); } TEST_P(HintSessionAidl, sendSessionHint) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 4) { GTEST_SKIP() << "DEVICE not launching with Power V4 and beyond."; } @@ -306,6 +329,9 @@ TEST_P(HintSessionAidl, sendSessionHint) { } TEST_P(HintSessionAidl, setThreads) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 4) { GTEST_SKIP() << "DEVICE not launching with Power V4 and beyond."; } @@ -318,6 +344,9 @@ TEST_P(HintSessionAidl, setThreads) { } TEST_P(HintSessionAidl, setSessionMode) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 5) { GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; } @@ -333,6 +362,9 @@ TEST_P(HintSessionAidl, setSessionMode) { } TEST_P(HintSessionAidl, getSessionConfig) { + if (!mSessionSupport) { + GTEST_SKIP() << "DEVICE not support Hint Session."; + } if (mServiceVersion < 5) { GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; }