<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2020 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<configuration description="Runs iorap-functional-tests.">
    <option name="test-suite-tag" value="apct" />
    <option name="test-suite-tag" value="apct-instrumentation" />
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="iorap-functional-tests.apk" />
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>

    <target_preparer
        class="com.android.tradefed.targetprep.DeviceSetup">

        <!-- iorapd does not pick up the above changes until we restart it -->
        <option name="run-command" value="stop iorapd" />

        <!-- Clean up the existing iorap database. -->
        <option name="run-command" value="rm -r /data/misc/iorapd/*" />
        <option name="run-command" value="sleep 1" />

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

        <!-- give it some time to restart the service; otherwise the first unit test might fail -->
        <option name="run-command" value="sleep 1" />
    </target_preparer>

    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="com.google.android.startop.iorap.tests" />
        <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>

