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

Commit 9e87d906 authored by Steven Moreland's avatar Steven Moreland
Browse files

libbinder: run_rpc_tests.sh

There are now a few people working on RPC-related features, and there
are a number of usecases. There have been a couple of cases where
changes broke other tests, but this wasn't realized until later because
presubmit takes a while to run, and running all of the binder tests
locally actually takes a bit of time. Adding this as a quick way to run
RPC tests while they are actively being developed.

Bug: 167966510
Test: each of the following:
  ./run_rpc_tests.sh
  ./run_rpc_tests.sh device
  ./run_rpc_tests.sh host

Change-Id: I5225c6a0ae373546dbef9fa051f50a08f25d7087
parent 5d4f84df
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

set -ex

if [ $# -eq 0 ]; then
  :
elif [ $# -eq 1 ] && [[ "$1" =~ ^host|device$ ]]; then
  :
else
  echo "usage: $0 [device|host]"
  false
fi

# Script maintained for RPC development, while it is active, to quickly run
# tests. Generally, to match VTS/presubmit behavior, 'atest' should be used.

function dtest () { adb shell /data/nativetest64/$1/$@; }
function hbench () { $AT/out/host/linux-x86/benchmarktest/$1/$@; }
function hfuzz () { time $ANDROID_HOST_OUT/fuzz/x86_64/$1/$@; }
function htest () { time $ANDROID_BUILD_TOP/out/host/linux-x86/nativetest/$1/$@; }
function pdtest () { adb wait-for-device && adb shell mkdir -p /data/nativetest64/$1 && adb push $OUT/data/nativetest64/$1/$1 /data/nativetest64/$1/$1 && dtest $@; }
function dbench () { adb shell /data/benchmarktest64/$1/$@; }
function pdbench () { adb wait-for-device && adb shell mkdir -p /data/benchmarktest64/$1 && adb push $OUT/data/benchmarktest64/$1/$1 /data/benchmarktest64/$1/$1 && dbench $@; }

$ANDROID_BUILD_TOP/build/soong/soong_ui.bash --make-mode \
  binderRpcTest \
  binder_rpc_fuzzer \
  binder_parcel_fuzzer \
  binderLibTest \
  binderRpcBenchmark

if ! [ "$1" = "device" ]; then
  htest binderRpcTest
  hbench binderRpcBenchmark
  hfuzz binder_rpc_fuzzer -max_total_time=30
  hfuzz binder_parcel_fuzzer -max_total_time=30
fi

if ! [ "$1" = "host" ]; then
  pdtest binderRpcTest
  pdtest binderLibTest
  pdbench binderRpcBenchmark
fi