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

Commit 86a4934a authored by Yan Wang's avatar Yan Wang
Browse files

Fix functional test for startop.

* Enable perfetto tracing and readahead for testing.
* Extend time limit for JUnit test to 5min.

Bug: 148936893
Test: run atest iorap-functional-tests on Forrest
Change-Id: Iad2b2201abf7736a9c86e4e5f7c1579eb78b2e23
parent 1b65fd96
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -34,6 +34,11 @@
        <option name="run-command" value="rm -r /data/misc/iorapd/*" />
        <option name="run-command" value="sleep 1" />

        <!-- Set system properties to enable perfetto tracing, readahead and detailed logging. -->
        <option name="run-command" value="setprop iorapd.perfetto.enable true" />
        <option name="run-command" value="setprop iorapd.readahead.enable true" />
        <option name="run-command" value="setprop iorapd.log.verbose true" />

        <option name="run-command" value="start iorapd" />

        <!-- give it some time to restart the service; otherwise the first unit test might fail -->
@@ -45,9 +50,5 @@
        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
    </test>

    <!-- using DeviceSetup again does not work. we simply leave the device in a semi-bad
         state. there is no way to clean this up as far as I know.
         -->

</configuration>
+4 −4
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ public class IorapWorkFlowTest {
  private static final String TEST_ACTIVITY_NAME = "com.android.settings.Settings";

  private static final String DB_PATH = "/data/misc/iorapd/sqlite.db";
  private static final Duration TIMEOUT = Duration.ofSeconds(20L);
  private static final Duration TIMEOUT = Duration.ofSeconds(300L);

  private static final String READAHEAD_INDICATOR =
      "Description = /data/misc/iorapd/com.android.settings/none/com.android.settings.Settings/compiled_traces/compiled_trace.pb";
@@ -88,7 +88,7 @@ public class IorapWorkFlowTest {
    mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), TIMEOUT.getSeconds());
  }

  @Test
  @Test (timeout = 300000)
  public void testApp() throws Exception {
    assertThat(mDevice, notNullValue());

@@ -247,7 +247,7 @@ public class IorapWorkFlowTest {
      if (supplier.getAsBoolean()) {
        return true;
      }
      TimeUnit.SECONDS.sleep(totalSleepTimeSeconds);
      TimeUnit.SECONDS.sleep(sleepIntervalSeconds);
      totalSleepTimeSeconds += sleepIntervalSeconds;
      if (totalSleepTimeSeconds > timeout.getSeconds()) {
        return false;
@@ -367,7 +367,7 @@ public class IorapWorkFlowTest {
   *
   * <p> This should be run as root.</p>
   */
  private String executeShellCommand(String cmd) throws Exception {
  private static String executeShellCommand(String cmd) throws Exception {
    Log.i(TAG, "Execute: " + cmd);
    return UiDevice.getInstance(
        InstrumentationRegistry.getInstrumentation()).executeShellCommand(cmd);