<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 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 the UI Automator Demo Test">
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"/>
    <!--
        This test requires deploying the UI Automator demo test onto device.
        The demo test is located under Android source tree:
          frameworks/testing/uiautomator/samples/SkeletonTest
        After the uiautomator.skeletontest.jar is built, insert "__push"
        parameter to this TradFed test to deploy:
          __push /path/to/uiautomator.skeletontest.jar->/data/local/tmp/uiautomator.skeletontest.jar
    -->
    <test class="com.android.tradefed.testtype.UiAutomatorTest">
        <option name="jar-path" value="uiautomator.skeletontest.jar" />
        <option name="class" value="com.android.uiautomator.samples.skeleton.DemoTestCase" />
    </test>
    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="debug" />
    </logger>
</configuration>
