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
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-bgis 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.