<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 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="Config for the CTS Security bulletin host tests">
    <option name="config-descriptor:metadata" key="component" value="security" />
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <option name="cleanup" value="true" />
        <option name="push" value="CVE-2016-8460->/data/local/tmp/CVE-2016-8460" />
        <option name="push" value="CVE-2016-8482->/data/local/tmp/CVE-2016-8482" />
        <option name="push" value="CVE-2016-6730->/data/local/tmp/CVE-2016-6730" />
        <option name="push" value="CVE-2016-6731->/data/local/tmp/CVE-2016-6731" />
        <option name="push" value="CVE-2016-6732->/data/local/tmp/CVE-2016-6732" />
        <option name="push" value="CVE-2016-6733->/data/local/tmp/CVE-2016-6733" />
        <option name="push" value="CVE-2016-6734->/data/local/tmp/CVE-2016-6734" />
        <option name="push" value="CVE-2016-6735->/data/local/tmp/CVE-2016-6735" />
        <option name="push" value="CVE-2016-6736->/data/local/tmp/CVE-2016-6736" />
        <option name="push" value="CVE-2016-8425->/data/local/tmp/CVE-2016-8425" />
        <option name="push" value="CVE-2016-8426->/data/local/tmp/CVE-2016-8426" />
        <option name="push" value="CVE-2016-8427->/data/local/tmp/CVE-2016-8427" />
        <option name="push" value="CVE-2016-8428->/data/local/tmp/CVE-2016-8428" />
        <option name="push" value="CVE-2016-8429->/data/local/tmp/CVE-2016-8429" />
        <option name="push" value="CVE-2016-8430->/data/local/tmp/CVE-2016-8430" />
        <option name="push" value="CVE-2016-8431->/data/local/tmp/CVE-2016-8431" />
        <option name="push" value="CVE-2016-8432->/data/local/tmp/CVE-2016-8432" />
        <option name="push" value="CVE-2016-8434->/data/local/tmp/CVE-2016-8434" />

        <!-- Bulletin 2015-12 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2015-6626->/data/local/tmp/CVE-2015-6626" />

        <!-- Bulletin 2016-04 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-2412->/data/local/tmp/CVE-2016-2412" />
        <option name="push" value="CVE-2016-0844->/data/local/tmp/CVE-2016-0844" />
        <option name="push" value="CVE-2016-2419->/data/local/tmp/CVE-2016-2419" />

        <!--__________________-->
        <!-- Bulletin 2016-05 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-2451->/data/local/tmp/CVE-2016-2451" />
        <option name="push" value="CVE-2016-2460->/data/local/tmp/CVE-2016-2460" />
        <option name="push" value="CVE-2015-1805->/data/local/tmp/CVE-2015-1805" />

        <!--__________________-->
        <!-- Bulletin 2016-06 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-2482->/data/local/tmp/CVE-2016-2482" />

        <!--__________________-->
        <!-- Bulletin 2016-07 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-3746->/data/local/tmp/CVE-2016-3746" />
        <option name="push" value="CVE-2016-3818->/data/local/tmp/CVE-2016-3818" />

        <!-- Bulletin 2016-09 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-3871->/data/local/tmp/CVE-2016-3871" />
        <option name="push" value="CVE-2016-2471->/data/local/tmp/CVE-2016-2471" />

        <!--__________________-->
        <!-- Bulletin 2016-10 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2016-11 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2012-6702->/data/local/tmp/CVE-2012-6702" />

        <!--__________________-->
        <!-- Bulletin 2016-12 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-6759->/data/local/tmp/CVE-2016-6759" />

        <!--__________________-->
        <!-- Bulletin 2017-01 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-0386->/data/local/tmp/CVE-2017-0386" />

        <!--__________________-->
        <!-- Bulletin 2017-02 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-0415->/data/local/tmp/CVE-2017-0415" />
        <option name="push" value="CVE-2017-0426->/data/local/tmp/CVE-2017-0426" />

        <!--__________________-->
        <!-- Bulletin 2017-03 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-0477->/data/local/tmp/CVE-2017-0477" />
        <option name="push" value="CVE-2017-0479->/data/local/tmp/CVE-2017-0479" />
        <option name="push" value="CVE-2017-0334->/data/local/tmp/CVE-2017-0334" />
        <option name="push" value="CVE-2016-8479->/data/local/tmp/CVE-2016-8479" />
        <option name="push" value="CVE-2017-0508->/data/local/tmp/CVE-2017-0508" />
        <option name="push" value="CVE-2017-0333->/data/local/tmp/CVE-2017-0333" />

        <!--__________________-->
        <!-- Bulletin 2017-04 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-10229->/data/local/tmp/CVE-2016-10229" />
        <option name="push" value="CVE-2014-3145->/data/local/tmp/CVE-2014-3145"/>
        <option name="push" value="CVE-2017-0553->/data/local/tmp/CVE-2017-0553"/>

        <!--__________________-->
        <!-- Bulletin 2017-05 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2017-06 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2017-07 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2016-2109->/data/local/tmp/CVE-2016-2109"/>

        <!--__________________-->
        <!-- Bulletin 2017-08 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2017-09 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="Bug-38195738->/data/local/tmp/Bug-38195738" />

        <!--__________________-->
        <!-- Bulletin 2017-10 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2017-11 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2017-12 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-6262->/data/local/tmp/CVE-2017-6262" />

        <!--__________________-->
        <!-- Bulletin 2018-01 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->

        <!--__________________-->
        <!-- Bulletin 2018-02 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-13273->/data/local/tmp/CVE-2017-13273" />
        <option name="push" value="CVE-2017-13232->/data/local/tmp/CVE-2017-13232" />

        <!--__________________-->
        <!-- Bulletin 2018-03 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2017-13253->/data/local/tmp/CVE-2017-13253" />

        <!--__________________-->
        <!-- Bulletin 2018-07 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2018-9424->/data/local/tmp/CVE-2018-9424" />

        <!--__________________-->
        <!-- Bulletin 2018-10 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="CVE-2018-9490->/data/local/tmp/CVE-2018-9490" />
        <option name="push" value="CVE-2018-9515->/data/local/tmp/CVE-2018-9515" />

        <!--__________________-->
        <!-- Bulletin 2019-03 -->
        <!-- Please add tests solely from this bulletin below to avoid merge conflict -->
        <option name="push" value="Bug-115739809->/data/local/tmp/Bug-115739809" />

        <option name="append-bitness" value="true" />
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="CtsHostLaunchAnyWhereApp.apk" />
    </target_preparer>

    <!-- Support for 64-bit software codecs has been deprecated,                          -->
    <!-- Hence tests which use them will be built only for 32-bit architectures.          -->
    <!-- The default 'target_preparer' tries to copy both 64-bit and 32-bit binaries as   -->
    <!-- 'append=bitness' value is set to 'true'. In order to ensure that that only       -->
    <!-- 32-bit binaries are copied, a new 'target_preparer' section is added with        -->
    <!-- 'append-bitness' value set to false and additionally '32' has been added in the  -->
    <!-- end after the bug id. This ensures that it does not try to copy the unavailable  -->
    <!-- 64-bit binary.                                                                   -->
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <option name="cleanup" value="true" />

        <option name="push" value="testhevc32->/data/local/tmp/testhevc" />
        <option name="push" value="testavc32->/data/local/tmp/testavc" />
        <option name="push" value="testmpeg232->/data/local/tmp/testmpeg2" />
        <option name="push" value="testhevc_mem132->/data/local/tmp/testhevc_mem1" />
        <option name="push" value="testavc_mem132->/data/local/tmp/testavc_mem1" />
        <option name="push" value="testmpeg2_mem132->/data/local/tmp/testmpeg2_mem1" />
        <option name="push" value="testhevc_mem232->/data/local/tmp/testhevc_mem2" />
        <option name="push" value="testavc_mem232->/data/local/tmp/testavc_mem2" />
        <option name="push" value="testmpeg2_mem232->/data/local/tmp/testmpeg2_mem2" />

        <option name="append-bitness" value="false" />
    </target_preparer>

    <!-- This PoC only hits with the 32-bit binary. Only push 32 for 64 and 32-bit arches -->
    <!-- This section is reserved for OMX tests that need to be 32-bit so they can get a  -->
    <!-- proper OMX instance. 64-bit PoCs don't get it and therefore don't hit the vuln.  -->
    <!-- All tests in this section should take care to only build the 32-bit binary.      -->
    <!-- In order to pass tradefed presubmit ValidateTestsAbi, add an exception.          -->
    <!-- For more details, visit b/127856694                                              -->
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <option name="cleanup" value="true" />

        <option name="push" value="CVE-2018-626732->/data/local/tmp/CVE-2018-6267" />
        <option name="push" value="CVE-2018-627132->/data/local/tmp/CVE-2018-6271" />

        <option name="append-bitness" value="false" />
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="OomCatcher.apk" />
    </target_preparer>

    <test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
        <option name="jar" value="CtsSecurityBulletinHostTestCases.jar" />
        <option name="runtime-hint" value="15m54s" />
    </test>
</configuration>
