<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2018 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.
-->
<!-- This test config file is auto-generated. -->
<configuration description="Runs jsr166-tests.">
    <option name="test-suite-tag" value="apct" />
    <option name="test-suite-tag" value="apct-junit" />
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <option name="cleanup" value="true" />
        <option name="push" value="cts-dalvik-device-test-runner.jar->/data/local/tmp/jsr166-tests/cts-dalvik-device-test-runner.jar" />
        <option name="push" value="jsr166-tests.jar->/data/local/tmp/jsr166-tests/jsr166-tests.jar" />
    </target_preparer>

    

    <test class="com.android.compatibility.testtype.DalvikTest" >
        <option name="run-name" value="jsr166-tests" />
        <option name="classpath" value="/data/local/tmp/jsr166-tests/jsr166-tests.jar" />
        <option name="classpath" value="/data/local/tmp/jsr166-tests/cts-dalvik-device-test-runner.jar" />
    </test>
</configuration>
