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