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

Commit ea0f6b69 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "libbinder: Add test for null non-nullable binder return" am: 8accb650...

Merge "libbinder: Add test for null non-nullable binder return" am: 8accb650 am: ff00dd4f am: d5dae417

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



Change-Id: I578b6a5c03659af695ece9af38db68880f01f26c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 79b979b2 d5dae417
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -24,6 +24,9 @@ interface IBinderRpcTest {
    // number of known RPC binders to process, RpcState::countBinders by session
    int[] countBinders();

    // Return a null binder with a non-nullable return type.
    IBinder getNullBinder();

    // Caller sends server, callee pings caller's server and returns error code.
    int pingMe(IBinder binder);
    @nullable IBinder repeatBinder(@nullable IBinder binder);
+11 −0
Original line number Diff line number Diff line
@@ -202,6 +202,10 @@ public:
        }
        return Status::ok();
    }
    Status getNullBinder(sp<IBinder>* out) override {
        out->clear();
        return Status::ok();
    }
    Status pingMe(const sp<IBinder>& binder, int32_t* out) override {
        if (binder == nullptr) {
            std::cout << "Received null binder!" << std::endl;
@@ -802,6 +806,13 @@ TEST_P(BinderRpc, SendAndGetResultBackBig) {
    EXPECT_EQ(single + single, doubled);
}

TEST_P(BinderRpc, InvalidNullBinderReturn) {
    auto proc = createRpcTestSocketServerProcess({});

    sp<IBinder> outBinder;
    EXPECT_EQ(proc.rootIface->getNullBinder(&outBinder).transactionError(), UNEXPECTED_NULL);
}

TEST_P(BinderRpc, CallMeBack) {
    auto proc = createRpcTestSocketServerProcess({});