rules: Add IorapCompilationRule to toggle iorap on/off

Adds iorap-based app startup optimization for crystalball-based tests.

Uses the command line flag 'iorapd-enabled true' or 'iorapd-enabled false'.
Does nothing if 'iorapd-enabled' is left unspecified.

Also adds a unit test to validate functionality.

Bug: 150880186
Test: am instrument -w -r --no-isolated-storage -e iorapd-enabled -e listener \
      android.device.collectors.AppStartupListener -e iterations 10 -e \
      skip_test_failure_metrics true -e class \
      'android.platform.test.scenario.calculator.OpenAppMicrobenchmark' -e \
      newRunListenerMode true -e timeout_msec 300000 -e include-ui-xml true -e \
      compilation-filter speed-profile \
      android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner
Change-Id: I61fe914529945912fad97a6d37245adbc8e42cee
Merged-In: I61fe914529945912fad97a6d37245adbc8e42cee
3 files changed
tree: b9c063d540246160a03526710487641469276bdb
  1. build/
  2. docs/
  3. emu_test/
  4. libraries/
  5. scripts/
  6. tests/
  7. utils/
  8. PREUPLOAD.cfg