From f5a213c5ed5056cf3f8a3b1aba4ade38294f947d 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 | 31 +++++++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/power/aidl/vts/VtsHalPowerTargetTest.cpp b/power/aidl/vts/VtsHalPowerTargetTest.cpp index 0141d8c4c6..22ab050382 100644 --- a/power/aidl/vts/VtsHalPowerTargetTest.cpp +++ b/power/aidl/vts/VtsHalPowerTargetTest.cpp @@ -97,10 +97,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 { @@ -110,12 +116,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; }; TEST_P(PowerAidl, setMode) { @@ -169,6 +174,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."; } @@ -180,6 +188,9 @@ TEST_P(PowerAidl, getHintSessionPreferredRate) { } 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 @@ -188,6 +199,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); @@ -197,11 +211,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."; } @@ -215,6 +235,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."; }