Mercurial > 510Connectbot
diff tests/build.xml @ 0:0ce5cc452d02
initial version
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 22 May 2014 10:41:19 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/build.xml Thu May 22 10:41:19 2014 -0700 @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- vim: set ts=4 sw=4 et: --> +<project name="tests" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <loadproperties srcFile="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: custom --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + + <target name="coverage-xml" depends="-test-project-check"> + + <property name="tested.project.absolute.dir" location="${tested.project.dir}" /> + + <property name="test.runner" value="android.test.InstrumentationTestRunner" /> + + <!-- Application package of the tested project extracted from its manifest file --> + <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml" + expression="/manifest/@package" output="tested.manifest.package" /> + + <getprojectpaths projectPath="${tested.project.absolute.dir}" + binOut="tested.project.out.absolute.dir" + srcOut="tested.project.source.absolute.dir" /> + + <getlibpath projectPath="${tested.project.absolute.dir}" + libraryFolderPathOut="tested.project.lib.source.path" + leaf="@{source.dir}" /> + + <property name="emma.dump.file" + value="/data/data/${tested.manifest.package}/coverage.ec" /> + + <run-tests-helper emma.enabled="true"> + <extra-instrument-args> + <arg value="-e" /> + <arg value="coverageFile" /> + <arg value="${emma.dump.file}" /> + </extra-instrument-args> + </run-tests-helper> + <echo>Downloading coverage file into project directory...</echo> + <exec executable="${adb}" failonerror="true"> + <arg line="${adb.device.arg}" /> + <arg value="pull" /> + <arg value="${emma.dump.file}" /> + <arg value="${out.absolute.dir}/coverage.ec" /> + </exec> + <echo>Extracting XML coverage report...</echo> + <emma> + <report sourcepath="${tested.project.source.absolute.dir}:${tested.project.lib.source.path.value}" + verbosity="${verbosity}"> + <!-- TODO: report.dir or something like should be introduced if necessary --> + <infileset file="${out.absolute.dir}/coverage.ec" /> + <infileset file="${tested.project.out.absolute.dir}/coverage.em" /> + <!-- TODO: reports in other, indicated by user formats --> + <xml outfile="${out.absolute.dir}/coverage.xml" /> + </report> + </emma> + <echo level="info">Cleaning up temporary files...</echo> + <delete file="${out.absolute.dir}/coverage.ec" /> + <delete file="${out.absolute.dir}/coverage.em" /> + <echo level="info">Saving the report file in ${out.absolute.dir}/coverage.xml</echo> + </target> + +</project>