Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a928528d authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/26593353',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/26593353', 'googleplex-android-review.googlesource.com/26629048', 'googleplex-android-review.googlesource.com/26635458'] into 24Q2-release.

Change-Id: Id1d0f081d62ba81b74cfd53e5c04259b7d3a4422
parents 5fb581dc 1fd98045
Loading
Loading
Loading
Loading
+46 −7
Original line number Diff line number Diff line
@@ -122,10 +122,16 @@ class PowerAidl : public testing::TestWithParam<std::string> {
        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<IPower> power;
    int32_t mServiceVersion;
    std::shared_ptr<IPowerHintSession> 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<IPowerHintSession> mSession;
};

class FMQAidl : public PowerAidl {
@@ -154,7 +159,10 @@ class FMQAidl : public PowerAidl {
        auto status =
                power->createHintSessionWithConfig(getpid(), getuid(), kSelfTids, 16666666L,
                                                   SessionTag::OTHER, &mSessionConfig, &mSession);
        ASSERT_TRUE(status.isOk());
        mSessionSupport = status.isOk();
        if (!mSessionSupport) {
            GTEST_SKIP() << "DEVICE not support Hint Session.";
        }
        ASSERT_NE(nullptr, mSession);

        status = power->getSessionChannel(getpid(), getuid(), &mChannelConfig);
@@ -175,9 +183,13 @@ class FMQAidl : public PowerAidl {
        ASSERT_NE(mEventFlag, nullptr);
    }
    virtual void TearDown() {
        if (mSession) {
            mSession->close();
            if (mChannel->isValid()) {
                ASSERT_TRUE(power->closeSessionChannel(getpid(), getuid()).isOk());
            }
        }
    }

  protected:
    std::shared_ptr<IPowerHintSession> mSession;
@@ -239,6 +251,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 +265,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 +289,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 +300,9 @@ TEST_P(HintSessionAidl, createAndCloseHintSession) {
}

TEST_P(HintSessionAidl, createHintSessionFailed) {
    if (!mSessionSupport) {
        GTEST_SKIP() << "DEVICE not support Hint Session.";
    }
    std::shared_ptr<IPowerHintSession> session;
    auto status = power->createHintSession(getpid(), getuid(), kEmptyTids, 16666666L, &session);

@@ -288,11 +312,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 +336,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 +351,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 +369,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.";
    }