diff options
| author | Keith Wall <kwall@apache.org> | 2012-07-19 14:54:04 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-07-19 14:54:04 +0000 |
| commit | c54a1ba9aab37fd44beeda6557a70b5624acd858 (patch) | |
| tree | d84c3b96c3e002cbf226289dace3132224eb1368 /qpid/java | |
| parent | b5e915845606ddba2ac859e4de85cfee9bd50603 (diff) | |
| download | qpid-python-c54a1ba9aab37fd44beeda6557a70b5624acd858.tar.gz | |
QPID-4152 : Refactor coverage targets in Java build system.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363358 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/build.xml | 51 | ||||
| -rw-r--r-- | qpid/java/common.xml | 3 | ||||
| -rw-r--r-- | qpid/java/module.xml | 98 |
3 files changed, 71 insertions, 81 deletions
diff --git a/qpid/java/build.xml b/qpid/java/build.xml index a41cff4d78..a6dc513ee8 100644 --- a/qpid/java/build.xml +++ b/qpid/java/build.xml @@ -46,6 +46,9 @@ <property name="resources" value="${project.root}/resources"/> + <!-- Modules for which coverage will be created by the cover-test target --> + <property name="coverage.modules" value="${modules}"/> + <map property="release.excludes" value="${modules}"> <globmapper from="*" to="*/\*\*"/> </map> @@ -217,33 +220,39 @@ </target> <target name="coverage-report" description="generate coverage report" depends="cobertura-init"> - <cobertura-merge datafile="${build.coveragereport}/cobertura.ser"> + <mkdir dir="${build.coverage.report}" /> + <mkdir dir="${build.coverage.src}" /> + + <cobertura-merge datafile="${build.coverage.report}/cobertura.ser"> <!-- merge all module coverage reports --> <fileset dir="${build}"> <include name="**/*.ser"/> </fileset> </cobertura-merge> + + <!-- Copy all covered sources to single directory for cobertura report --> + + <foreach property="module" list="${coverage.modules}"> + + <copy todir="${build.coverage.src}"> + <fileset dir="${module}/src/main/java" includes="**/*.java"/> + </copy> + + <copy todir="${build.coverage.src}"> + <fileset dir="build/scratch/${module}/src" includes="**/*.java"/> + </copy> + </foreach> + <cobertura-report format="xml" - destdir="${build.coveragereport}" - datafile="${build.coveragereport}/cobertura.ser" - > - <fileset dir="${project.root}/common/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/common/src" includes="**/*.java" /> - <fileset dir="${project.root}/broker/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/broker/src" includes="**/*.java" /> - <fileset dir="${project.root}/client/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/client/src" includes="**/*.java" /> + destdir="${build.coverage.report}" + datafile="${build.coverage.report}/cobertura.ser"> + <fileset dir="${build.coverage.src}" includes="**/*.java" /> </cobertura-report> - <cobertura-report format="html" - destdir="${build.coveragereport}" - datafile="${build.coveragereport}/cobertura.ser" - > - <fileset dir="${project.root}/common/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/common/src" includes="**/*.java" /> - <fileset dir="${project.root}/broker/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/broker/src" includes="**/*.java" /> - <fileset dir="${project.root}/client/src/main/java" includes="**/*.java" /> - <fileset dir="${project.root}/build/scratch/client/src" includes="**/*.java" /> + + <cobertura-report format="html" + destdir="${build.coverage.report}" + datafile="${build.coverage.report}/cobertura.ser"> + <fileset dir="${build.coverage.src}" includes="**/*.java" /> </cobertura-report> </target> @@ -252,7 +261,7 @@ </target> <target name="cover-test" description="run tests and generate coverage information" depends="build"> - <iterate target="cover-test" modules="broker client common"/> + <iterate target="cover-test" modules="${coverage.modules}"/> </target> <target name="test-interop" depends="build,compile-tests" diff --git a/qpid/java/common.xml b/qpid/java/common.xml index fe0b25962e..7e7b9c0c07 100644 --- a/qpid/java/common.xml +++ b/qpid/java/common.xml @@ -43,7 +43,8 @@ <property name="build.release" location="${build}/release"/> <property name="build.release.prepare" location="${build.release}/prepare"/> <property name="build.plugins" location="${build}/lib/plugins"/> - <property name="build.coveragereport" location="${build}/coverage"/> + <property name="build.coverage.report" location="${build}/coverage/report"/> + <property name="build.coverage.src" location="${build}/coverage/src"/> <property name="build.findbugs" location="${build}/findbugs"/> <property name="java.target" value="1.5"/> diff --git a/qpid/java/module.xml b/qpid/java/module.xml index 675d7ab21b..203f08e151 100644 --- a/qpid/java/module.xml +++ b/qpid/java/module.xml @@ -328,8 +328,42 @@ <contains substring="${module.name}" string="${exclude.modules}" /> </condition> + <!-- JVM args pass to forked Junit JVM --> <property name="jvm.args" value=""/> + <!-- Following properties are used by the tests --> + <property name="test.output" value="${module.results}"/> + <property name="QPID_HOME" value="${qpid.home}"/> + <property name="QPID_WORK" value="${qpid.work}"/> <property name="broker.existing.qpid.work" value=""/> + <!-- Used by PluginTest --> + <property name="example.plugin.target" value="${project.root}/build/lib/plugins"/> + + <propertyset id="all.test.systemproperties"> + <propertyref prefix="test"/> + <propertyref prefix="profile"/> + <propertyref prefix="javax.net.ssl"/> + <propertyref prefix="broker"/> + + <propertyref name="amqj.logging.level"/> + <propertyref name="amqj.server.logging.level"/> + <propertyref name="amqj.protocol.logging.level"/> + + <propertyref name="log4j.debug"/> + <propertyref name="log4j.configuration"/> + + <propertyref name="root.logging.level"/> + <propertyref name="java.naming.factory.initial"/> + <propertyref name="java.naming.provider.url"/> + <propertyref name="messagestore.class.name" /> + <propertyref name="qpid.amqp.version"/> + <propertyref name="max_prefetch"/> + <propertyref name="qpid.dest_syntax"/> + + <propertyref name="test.output"/> + <propertyref name="QPID_HOME"/> + <propertyref name="QPID_WORK"/> + <propertyref name="example.plugin.target"/> + </propertyset> <target name="test" depends="build,compile-tests" if="module.test.src.exists" unless="${dontruntest}" description="execute unit tests"> @@ -344,38 +378,7 @@ <jvmarg line="${jvm.args}" /> - <sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/> - <sysproperty key="amqj.server.logging.level" value="${amqj.server.logging.level}"/> - <sysproperty key="amqj.protocol.logging.level" value="${amqj.protocol.logging.level}"/> - <sysproperty key="log4j.debug" value="${log4j.debug}"/> - <sysproperty key="root.logging.level" value="${root.logging.level}"/> - <sysproperty key="log4j.configuration" value="${log4j.configuration}"/> - <sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/> - <sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/> - <sysproperty key="messagestore.class.name" value="${messagestore.class.name}" /> - <sysproperty key="test.output" value="${module.results}"/> - <sysproperty key="qpid.amqp.version" value="${qpid.amqp.version}"/> - - <syspropertyset> - <propertyref prefix="test"/> - </syspropertyset> - <syspropertyset> - <propertyref prefix="profile"/> - </syspropertyset> - <syspropertyset> - <propertyref prefix="javax.net.ssl"/> - </syspropertyset> - <syspropertyset> - <propertyref prefix="broker"/> - </syspropertyset> - - <sysproperty key="max_prefetch" value ="${max_prefetch}"/> - <sysproperty key="qpid.dest_syntax" value ="${qpid.dest_syntax}"/> - - <sysproperty key="example.plugin.target" value="${project.root}/build/lib/plugins"/> - <sysproperty key="QPID_EXAMPLE_HOME" value="${qpid.home}"/> - <sysproperty key="QPID_HOME" value="${qpid.home}"/> - <sysproperty key="QPID_WORK" value="${qpid.work}"/> + <syspropertyset refid="all.test.systemproperties"/> <formatter type="plain"/> <formatter type="xml"/> @@ -677,39 +680,17 @@ <target name="cover-test" depends="instrument"> - <mkdir dir="${build.coveragereport}" /> <junit fork="yes" forkmode="once" maxmemory="${test.mem}" reloading="no" haltonfailure="${haltonfailure}" haltonerror="${haltonerror}" failureproperty="test.failures" printsummary="on" timeout="600000" dir="${project.root}" > + <jvmarg line="${jvm.args}" /> - <sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/> - <sysproperty key="amqj.protocol.logging.level" value="${amqj.protocol.logging.level}"/> - <sysproperty key="log4j.debug" value="${log4j.debug}"/> - <sysproperty key="root.logging.level" value="${root.logging.level}"/> - <sysproperty key="log4j.configuration" value="${log4j.configuration}"/> - <sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/> - <sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/> - <sysproperty key="broker" value="${broker}"/> - <sysproperty key="broker.version" value="${broker.version}"/> - <sysproperty key="broker.ready" value="${broker.ready}" /> - <sysproperty key="test.output" value="${module.results}"/> - - <syspropertyset> - <propertyref prefix="test"/> - </syspropertyset> - <syspropertyset> - <propertyref prefix="broker"/> - </syspropertyset> - - <sysproperty key="max_prefetch" value ="${max_prefetch}"/> - <sysproperty key="example.plugin.target" value="${project.root}/build/lib/plugins"/> - <sysproperty key="QPID_EXAMPLE_HOME" value="${project.root}/build"/> - <sysproperty key="QPID_HOME" value="${project.root}/build"/> + <syspropertyset refid="all.test.systemproperties"/> <sysproperty key="net.sourceforge.cobertura.datafile" file="${cobertura.datafile}" /> - + <formatter type="plain"/> <formatter type="xml"/> @@ -731,14 +712,13 @@ </target> <target name="coverage-report" depends="cobertura-init"> - <echo message="${cobertura.datafile}"/> <cobertura-report format="html" destdir="${module.coverage}" datafile="${cobertura.datafile}"> <fileset dir="${module.src}" includes="**/*.java" /> </cobertura-report> </target> - + <property name="version.file" location="${module.classes}/qpidversion.properties"/> <property file="${version.file}" prefix="old."/> |
