<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2019 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="APK fs-verity integration/regression test">
    <option name="test-suite-tag" value="apct" />

    <object type="module_controller" class="com.android.tradefed.testtype.suite.module.ShippingApiLevelModuleController">
        <!-- fs-verity is required since R/30 -->
        <option name="vsr-min-api-level" value="30" />
    </object>

    <!-- This test requires root to write against block device. -->
    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />

    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
        <!-- Disable package verifier prevents it holding the target APK's fd that prevents cache
             eviction. -->
        <option name="set-global-setting" key="verifier_verify_adb_installs" value="0" />
        <option name="restore-settings" value="true" />

        <!-- Skip in order to prevent reboot that confuses the test flow. -->
        <option name="force-skip-system-props" value="true" />
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="cleanup" value="true" />
        <option name="push" value="ApkVerityTestCert.der->/data/local/tmp/ApkVerityTestCert.der" />
    </target_preparer>

    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <!-- The build system produces both 32 and 64 bit variants with bitness suffix. Let
             FilePusher find the filename with bitness and push to a remote name without bitness.
        -->
        <option name="append-bitness" value="true" />
        <option name="cleanup" value="true" />
        <option name="push" value="block_device_writer->/data/local/tmp/block_device_writer" />
    </target_preparer>

    <!-- Skip on HWASan. TODO(b/232288278): Re-enable -->
    <object type="module_controller" class="com.android.tradefed.testtype.suite.module.SkipHWASanModuleController" />
    <test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
        <option name="jar" value="ApkVerityTest.jar" />
    </test>
</configuration>
