You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
5.6 KiB
142 lines
5.6 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Copyright (C) 2009 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.
|
|
-->
|
|
|
|
<!-- Contains the schema definition for Android test definitions xml -->
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
targetNamespace="http://schemas.android.com/testrunner/test_defs/1.0"
|
|
xmlns="http://schemas.android.com/testrunner/test_defs/1.0"
|
|
elementFormDefault="qualified">
|
|
|
|
<xs:element name="test-definitions">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="test" type="javaTestType" />
|
|
<xs:element name="test-native" type="nativeTestType" />
|
|
<xs:element name="test-host" type="hostTestType" />
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Generic, abstract test definition. Contains attributes common to all
|
|
test types. -->
|
|
<xs:complexType name="testType">
|
|
|
|
<!-- Self-descriptive name used to uniquely identify the test. -->
|
|
<xs:attribute name="name" type="xs:string" use="required" />
|
|
|
|
<!-- File system path, relative to Android build root, to this
|
|
package's Android.mk file.-->
|
|
<xs:attribute name="build_path" type="xs:string" use="required" />
|
|
|
|
<!-- Include test in continuous test system. -->
|
|
<xs:attribute name="continuous" type="xs:boolean" use="optional"
|
|
default="false" />
|
|
|
|
<!-- Include test as part of named suite. -->
|
|
<xs:attribute name="suite" type="xs:string" use="optional" />
|
|
|
|
<!-- Short description (typically less than 60 characters) about this
|
|
test. -->
|
|
<xs:attribute name="description" type="xs:string" use="optional" />
|
|
|
|
<!-- Specifies that a full 'make', as opposed to 'mmm' command, is
|
|
needed to build this test. The build command used will be
|
|
'make extra_build_args' -->
|
|
<xs:attribute name="full_make" type="xs:boolean"
|
|
use="optional" />
|
|
|
|
<!-- Extra arguments to append to build command when building this
|
|
test. -->
|
|
<xs:attribute name="extra_build_args" type="xs:string"
|
|
use="optional" />
|
|
|
|
</xs:complexType>
|
|
|
|
<!-- Java on device instrumentation test.
|
|
|
|
The test attributes map to the following commands:
|
|
(if class is defined)
|
|
adb shell am instrument -w <package>/<runner>
|
|
(else)
|
|
adb shell am instrument -w -e class <class> <package>/<runner>
|
|
-->
|
|
<xs:complexType name="javaTestType">
|
|
<xs:complexContent>
|
|
<xs:extension base="testType">
|
|
|
|
<!-- Android application package that contains the tests. -->
|
|
<xs:attribute name="package" type="xs:string" use="required" />
|
|
|
|
<!-- Fully qualified Java test class to run. -->
|
|
<xs:attribute name="class" type="xs:string" use="optional" />
|
|
|
|
<!-- Fully qualified InstrumentationTestRunner to execute. -->
|
|
<xs:attribute name="runner" type="xs:string" use="optional"
|
|
default="android.test.InstrumentationTestRunner" />
|
|
|
|
<!-- Build name of Android package this test targets. These
|
|
targets are defined in the coverage_targets.xml file. Used as
|
|
basis for code coverage metrics. If omitted, code coverage will
|
|
not be supported for this test. -->
|
|
<xs:attribute name="coverage_target" type="xs:string"
|
|
use="optional" />
|
|
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<!-- Native (C/C++) on device tests.
|
|
|
|
The native test attributes map to the following commands:
|
|
make <build_path>/Android.mk <extra_build_args>
|
|
adb sync
|
|
for test_prog in <tests built>; do
|
|
adb shell "/system/bin/${test_prog} >/dev/null 2>&1;echo \$?"
|
|
adb shell "rm /system/bin/${test_prog}"
|
|
done
|
|
-->
|
|
<xs:complexType name="nativeTestType">
|
|
<xs:complexContent>
|
|
<xs:extension base="testType" />
|
|
<!-- no additional attributes -->
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<!-- Host java tests.
|
|
|
|
Uses hosttestlib to execute tests on host. Maps to following command:
|
|
java -cp <libs>:jar_name com.android.hosttest.DeviceTestRunner \
|
|
<class> -s <device serial> -p <app build path>
|
|
-->
|
|
<xs:complexType name="hostTestType">
|
|
<xs:complexContent>
|
|
<xs:extension base="testType">
|
|
|
|
<!-- The test class to run. Must extend DeviceTestSuite, and
|
|
implement a public static suite() method that returns a Test to
|
|
run. -->
|
|
<xs:attribute name="class" type="xs:string" use="required" />
|
|
|
|
<!-- built jar name of host library that includes the tests. -->
|
|
<xs:attribute name="jar_name" type="xs:string" use="required" />
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:schema>
|