<?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.
-->
<configuration description="Runs Tests for LatinIME.">
    <!--
        To run this test with atest, run the following commands:

            tapas adb LatinIME LatinIMETests arm64 userdebug && \
            DISABLE_PROGUARD=true make -j LatinIME && \
            adb install -r $OUT/system/app/LatinIME/LatinIME.apk && \
            atest LatinIMETests

        currently tradefed does not look up files under $OUT/system/
        hence we cannot rely on "test-file-name" to install LatinIME.apk
    -->

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

    <option name="test-tag" value="LatinIMETests" />
    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="com.android.inputmethod.latin.tests" />
        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
        <option name="hidden-api-checks" value="false"/>
    </test>
</configuration>
