<?xml version ="1.0" encoding ="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation ( ASF ) under one
or more contributor license agreements . See the NOTICE file
distributed with this work for additional information
regarding copyright ownership . The ASF licenses this file
to you 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 .
-->
<project name="test runner" default="test" basedir="." >
<target name="init" >
<property name="extra.test.libs.dir" location="../../../extralibs" />
<property name="test.dist.dir" location="../../.." />
<property name="test.timeout" value="600000" />
<pathconvert property="nbjunit.workdir" >
<path location="${basedir}" />
<mapper>
<chainedmapper>
<flattenmapper/>
<globmapper from="*" to="../../work/*" />
</chainedmapper>
</mapper>
</pathconvert>
<property name="test.results.dir" location="../../results" />
<property name="test.classes.dir" location="../../classes" />
<property name="java.home.parent" location="${java.home}/.." />
<loadproperties srcFile="test.properties" />
<propertyset id ="test.properties" >
<propertyref prefix="test-sys-prop." />
<mapper type ="glob" from="test-sys-prop.*" to="*" />
</propertyset>
<delete dir="${test.classes.dir}" />
<mkdir dir="${test.results.dir}" />
<unjar src="tests.jar" dest="${test.classes.dir}" />
<available file="data.zip" type ="file" property="exists.test.data" />
<available file="${netbeans.dest.dir}/moduleCluster.properties" type ="file" property="exists.platform.properties" />
<path id ="test.cp" >
<pathelement location="${test.classes.dir}" />
<path path="${extra.test.libs}" />
<path path="${test.run.cp}" />
</path>
<taskdef name="validatepath" classpath="../../../tasks.jar" classname="org.netbeans.nbbuild.testdist.ValidatePath" />
<condition property="testng.found" value ="true" >
<available classname="org.testng.annotations.Test" classpath="${extra.test.libs}" />
</condition>
<validatepath pathref="test.cp" failedproperty="wrong.classpath" />
<pathconvert property="retouche.javac.api" >
<fileset dir="${netbeans.dest.dir}" >
<include name="java/modules/ext/*javac*api*.jar" />
</fileset>
</pathconvert>
<pathconvert property="retouche.javac.impl" >
<fileset dir="${netbeans.dest.dir}" >
<include name="java/modules/ext/*javac*impl*.jar" />
</fileset>
<fileset dir="${nbjdk.home}/../Classes" erroronmissingdir="false" >
<include name="*.jar" />
</fileset>
</pathconvert>
<!-- When requires.nb.javac property is true, prepend javac-api on bootclasspath to allow override the default annotation
processing API located in rt.jar. On Mac, prepend also javac-impl, so that tests are built against correct version of javac. -->
<condition property="bootclasspath.prepend" value="${retouche.javac.api}:${retouche.javac.impl}" >
<and>
<os family="mac" />
<istrue value="${requires.nb.javac}" />
</and>
</condition>
<condition property="bootclasspath.prepend" value="${retouche.javac.api}" >
<istrue value="${requires.nb.javac}" />
</condition>
<condition property="test.bootclasspath.prepend.args" value="-Xbootclasspath/p:"${bootclasspath.prepend}"" >
<isset property="bootclasspath.prepend" />
</condition>
<property name="test.bootclasspath.prepend.args" value="" />
</target>
<target name="init-data" if="exists.test.data" >
<property name="test.data.folder" location="../../data" />
<unzip src="data.zip" dest="${test.data.folder}" />
</target>
<target name="init-junit" depends="init" unless="${testng.found}" >
<macrodef name="test" >
<sequential>
<junit
showoutput="true" fork="true" failureproperty="tests.failed"
errorproperty="tests.failed" filtertrace="${test.filter.trace}"
tempdir="${test.results.dir}" timeout="${test.timeout}" jvm="${custom.jvm.executable}"
>
<batchtest todir="${test.results.dir}" >
<fileset dir="${test.classes.dir}" includes="${test.includes}" excludes="${test.excludes}" />
</batchtest>
<classpath refid="test.cp" />
<syspropertyset refid="test.properties" />
<sysproperty key="nbjunit.workdir" path="${nbjunit.workdir}" />
<sysproperty key="nbjunit.hard.timeout" value="${test.timeout}" />
<jvmarg line="${test.bootclasspath.prepend.args}" />
<jvmarg line="${test.run.args.full}" />
<formatter type ="brief" usefile="false" />
<formatter type ="xml" />
</junit>
</sequential>
</macrodef>
</target>
<target name="init-testng" depends="init" if="${testng.found}" >
<macrodef name="test" >
<sequential>
<mkdir dir="${test.results.dir}/testng" />
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpath="${extra.test.libs}" />
<testng mode="mixed"
failureProperty="tests.failed"
outputdir="${test.results.dir}/testng"
workingDir="${test.results.dir}"
>
<classfileset dir="${test.classes.dir}" includes="${test.includes}" excludes="${test.excludes}" />
<propertyset refid="test.properties" />
<classpath refid="test.cp" />
<jvmarg line="${test.bootclasspath.prepend.args}" />
<jvmarg line="${test.run.args}" />
<sysproperty key="nbjunit.workdir" path="${nbjunit.workdir}" />
<sysproperty key="nbjunit.hard.timeout" value="${test.timeout}" />
</testng>
<copy todir="${test.results.dir}" >
<fileset dir="${test.results.dir}/testng/junitreports" />
</copy>
</sequential>
</macrodef>
</target>
<target name="test" depends="init,init-data,run-test" if="tests.failed" >
<mkdir dir="${test.results.dir}/failed-test-var" />
</target>
<target name="run-test" depends="init,init-platform-properties,init-data,init-junit,init-testng,do-test,fail-test" description="Run tests" >
</target>
<target name="do-test" unless="wrong.classpath" >
<macrodef name="metaproperty" >
<attribute name="name" />
<attribute name="value" />
<sequential>
<property name="@{name}" value="${@{value}}" />
</sequential>
</macrodef>
<property name="test.config" value="default" />
<property name="test.run.args" value="-ea -Xmx480m -Xss2m -Dnetbeans.keyring.no.master=true" />
<property name="custom.jvm.args" value="" />
<property name="custom.jvm.executable" value="java" />
<property name="test.run.args.full" value="${test.run.args} ${custom.jvm.args}" />
<property name="test.config.default.includes" value="**/*Test.class" />
<property name="test.config.${test.config}.includes" value="NOTHING" />
<metaproperty name="test.includes" value="test.config.${test.config}.includes" />
<property name="test.config.${test.config}.excludes" value="" />
<metaproperty name="test.excludes" value="test.config.${test.config}.excludes" />
<test/>
</target>
<target name="fail-test" unless="test.disable.fails" >
<fail if="tests.failed" >Some tests failed;Look at results:
${test.results.dir} .
</fail>
</target>
<target name="init-platform-properties" depends="init" if="exists.platform.properties" >
<property file="${netbeans.dest.dir}/moduleCluster.properties" />
</target>
</project>
Messung V0.5 in Prozent C=99 H=100 G=99
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland