<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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 CTS Libcore OkHttp test cases">
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="run-command" value="mkdir -p /data/local/tmp/ctslibcore/java.io.tmpdir" />
        <option name="run-command" value="mkdir -p /data/local/tmp/ctslibcore/user.home" />
        <option name="teardown-command" value="rm -rf /data/local/tmp/ctslibcore" />
    </target_preparer>
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.ApkInstaller">
        <option name="cleanup-apks" value="true" />
        <!-- this has just the instrumentation which acts as the tests we want to run -->
        <option name="test-file-name" value="CtsLibcoreOkHttpTestCases.apk" />
    </target_preparer>
    <test class="com.android.compatibility.testtype.LibcoreTest" >
        <option name="package" value="android.libcore.cts.okhttp" />
        <option name="instrumentation-arg" key="listener"
                value="com.android.cts.runner.CtsTestRunListener" />
        <option name="instrumentation-arg" key="filter"
                value="com.android.cts.core.runner.ExpectationBasedFilter" />
        <option name="core-expectation" value="/knownfailures.txt" />
        <option name="core-expectation" value="/brokentests.txt" />
        <option name="core-expectation" value="/icebox.txt" />
        <option name="core-expectation" value="/taggedtests.txt" />
        <option name="runtime-hint" value="15m"/>
        <!-- 20x default timeout of 600sec -->
        <option name="shell-timeout" value="12000000"/>
    </test>
</configuration>
