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

Commit 7faaa321 authored by Steven Moreland's avatar Steven Moreland Committed by Automerger Merge Worker
Browse files

Merge "binderRpcTest: fix CallingId test failure" am: f787d5b5

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1872013

Change-Id: If652591fe427c4246a36f74cf6960a83bb158cdc
parents 8ba21f12 f787d5b5
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -1303,11 +1303,20 @@ TEST_P(BinderRpc, Die) {
}

TEST_P(BinderRpc, UseKernelBinderCallingId) {
    bool okToFork = ProcessState::selfOrNull() == nullptr;

    auto proc = createRpcTestSocketServerProcess({});

    // If this process has used ProcessState already, then the forked process
    // cannot use it at all. If this process hasn't used it (depending on the
    // order tests are run), then the forked process can use it, and we'll only
    // catch the invalid usage the second time. Such is the burden of global
    // state!
    if (okToFork) {
        // we can't allocate IPCThreadState so actually the first time should
        // succeed :(
        EXPECT_OK(proc.rootIface->useKernelBinderCallingId());
    }

    // second time! we catch the error :)
    EXPECT_EQ(DEAD_OBJECT, proc.rootIface->useKernelBinderCallingId().transactionError());
@@ -1999,5 +2008,6 @@ INSTANTIATE_TEST_CASE_P(
int main(int argc, char** argv) {
    ::testing::InitGoogleTest(&argc, argv);
    android::base::InitLogging(argv, android::base::StderrLogger, android::base::DefaultAborter);

    return RUN_ALL_TESTS();
}