Files
frameworks_base/apct-tests/perftests/inputmethod
Taran Singh 3f6ae29b01 Improve IME perf test show/hide stability
Improve stability of perf tests for ImePerfTests:
1. testShowImeWarm
2. testHideIme

To improve the stability of the test, check IME state and if state is
not as expected, ignore the iteration rather than failing all the
iterations and hence the whole test.

Bug: 180449596
Test: Run the test using steps in Readme.md
Change-Id: Ie42cb49bd8f79af10e7fa48f0a3afb19f253476c
2021-06-21 20:04:08 +00:00
..
…
…

IMF performance tests

These tests are adaptation of Window Manager perf tests (apct-tests/perftests/windowmanager).

Precondition

To reduce the variance of the test, if perf-setup (platform_testing/scripts/perf-setup) is available, it is better to use the following instructions to lock CPU and GPU frequencies.

m perf-setup
PERF_SETUP_PATH=/data/local/tmp/perf-setup.sh
adb push $OUT/$PERF_SETUP_PATH $PERF_SETUP_PATH
adb shell chmod +x $PERF_SETUP_PATH
adb shell $PERF_SETUP_PATH

Example to run

Use atest

atest ImePerfTests:ImePerfTest -- \
      --module-arg ImePerfTests:instrumentation-arg:profiling-iterations:=20

Note: instrumentation-arg:kill-bg:=true is already defined in the AndroidText.xml

Use am instrument

adb shell am instrument -w -r -e class android.inputmethod.ImePerfTest \
          -e listener android.inputmethod.ImePerfRunPrecondition \
          -e kill-bg true \
          com.android.perftests.inputmethod/androidx.test.runner.AndroidJUnitRunner
  • kill-bg is optional.

Test arguments

  • kill-bg
    • boolean: Kill background process before running test.
  • profiling-iterations
    • int: Run the extra iterations with enabling method profiling.
  • profiling-sampling
    • int: The interval (0=trace each method, default is 10) of sample profiling in microseconds.