blob: c89dc585a633a2368b5874fff8f794a3bd90a541 [file] [log] [blame]
<!-- This file is an ANT build script. ANT is a Java based build tool. -->
<!-- It is availale from http://jakarta.apache.org/ant/ -->
<!-- ================================================================= -->
<!-- NOTE: all directories are relative to jakarta-log4j/tests -->
<!-- ================================================================= -->
<project name="log4j" default="usage" basedir="." >
<property file="build.properties"/>
<!-- Read the system environment variables and stores them in properties, -->
<!-- prefixed with "env". -->
<property environment="env"/>
<!-- The base directory relative to which most targets are built -->
<property name="base" value="."/>
<!-- The directory where source files are stored. -->
<property name="project.source.home" value="../src/java/"/>
<property name="project.classes.home" value="../dist/classes/"/>
<property name="tests.source.home" value="./src/java/"/>
<path id="tests.classpath">
<pathelement location="${project.source.home}"/>
<pathelement location="${project.classes.home}"/>
<pathelement location="${tests.source.home}"/>
<pathelement location="./classes"/>
<pathelement location="./resources"/>
<pathelement location="${jakarta.oro.jar}"/>
</path>
<!-- ================================================================= -->
<!-- TARGETS -->
<!-- ================================================================= -->
<!-- ================================================================= -->
<!-- Default target -->
<!-- ================================================================= -->
<target name="usage">
<echo>
These are the targets supported by this ANT build scpript:
build - compile all project files, if a certain library is missing,
then the compilation of its dependents are skipped.
regression - Run regression tests which check large parts of log4j.
runAll - run all available tests
</echo>
</target>
<target name="prepare">
<mkdir dir="./classes" />
<mkdir dir="./output" />
</target>
<!-- ================================================================= -->
<!-- Compile test cases and related source files. -->
<!-- ================================================================= -->
<target name="build" depends="prepare">
<javac srcdir="${tests.source.home}"
destdir="./classes"
deprecation="${deprecation}"
debug="on">
<classpath refid="tests.classpath"/>
</javac>
</target>
<!-- ================================================================= -->
<!-- Remove all generated files such as compiled class files and test -->
<!-- case output. -->
<!-- ================================================================= -->
<target name="clean">
<delete dir="./classes/" />
<delete dir="./output/" />
</target>
<!-- ================================================================= -->
<!-- Run all tests -->
<!-- ================================================================= -->
<target name="runAll" depends="regression, longUnit"/>
<!-- ================================================================= -->
<!-- Tests multiple parts of log4j. These tests are much more fragile -->
<!-- unit tests. Regression tests compare output with a previously -->
<!-- created witness file. -->
<!-- ================================================================= -->
<target name="regression" depends="Minimum, Logger, DOM, CustomLevel,
CustomLogger, PatternLayout,
HierarchyThreshold, DefaultInit, SocketServer,
XMLLayout, AsyncAppender,
OptionConverter, BoundedFIFO,
CyclicBuffer, PatternParser, OR,
LevelMatchFilter, DRFA"/>
<!-- ================================================================= -->
<!-- Longer unit tests -->
<!-- ================================================================= -->
<target name="longUnit" depends=""/>
<!-- ================================================================= -->
<!-- ============== Regression and Unit Tests follow ================= -->
<!-- ================================================================= -->
<target name="Minimum" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.MinimumTestCase" />
</junit>
</target>
<target name="Logger" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.LoggerTestCase" />
</junit>
</target>
<target name="PatternLayout" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.PatternLayoutTestCase" />
</junit>
</target>
<target name="HierarchyThreshold" depends="build">
<delete file="output/temp"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.HierarchyThresholdTestCase" />
</junit>
</target>
<target name="DOM" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.xml.DOMTestCase" />
</junit>
</target>
<target name="CustomLevel" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.xml.CustomLevelTestCase" />
</junit>
</target>
<target name="CustomLogger" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.customLogger.XLoggerTestCase" />
</junit>
</target>
<target name="DefaultInit" depends="build">
<!-- Delete possible cruft from previous runs. -->
<delete file="classes/log4j.xml"/>
<delete file="classes/log4j.properties"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test fork="true" name="org.apache.log4j.defaultInit.TestCase1" />
</junit>
<copy file="input/xml/defaultInit.xml" tofile="classes/log4j.xml"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test fork="true" name="org.apache.log4j.defaultInit.TestCase2" />
</junit>
<delete file="classes/log4j.xml"/>
<!-- test handling of log4j.defaultInitOverride system property -->
<copy file="input/xml/defaultInit.xml" tofile="classes/log4j.xml"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<jvmarg value="-Dlog4j.defaultInitOverride=true"/>
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test fork="true" name="org.apache.log4j.defaultInit.TestCase1" />
</junit>
<delete file="classes/log4j.xml"/>
<!-- test default initialization from log4j.xml -->
<copy file="input/defaultInit3.properties" tofile="classes/log4j.properties"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test fork="true" name="org.apache.log4j.defaultInit.TestCase3" />
</junit>
<delete file="classes/log4j.properties"/>
<!-- test default initialization from log4j.properties -->
<copy file="input/xml/defaultInit.xml" tofile="classes/log4j.xml"/>
<copy file="input/defaultInit3.properties" tofile="classes/log4j.properties"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test fork="true" name="org.apache.log4j.defaultInit.TestCase4" />
</junit>
<delete file="classes/log4j.xml"/>
<delete file="classes/log4j.properties"/>
</target>
<target name="SocketServer" depends="build">
<parallel>
<java classname="org.apache.log4j.net.ShortSocketServer" fork="yes">
<arg value="8"/>
<arg value="input/socketServer"/>
<classpath refid="tests.classpath"/>
</java>
<sequential>
<sleep seconds="2"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<sysproperty key="testNumber" value="1"/>
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.net.SocketServerTestCase" />
</junit>
</sequential>
</parallel>
</target>
<target name="XMLLayout" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.xml.XMLLayoutTestCase" />
</junit>
</target>
<target name="AsyncAppender" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.AsyncAppenderTestCase" />
</junit>
</target>
<target name="LevelMatchFilter" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.varia.LevelMatchFilterTestCase" />
</junit>
</target>
<target name="ErrorHandler" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false" />
<test name="org.apache.log4j.varia.ErrorHandlerTestCase" />
</junit>
</target>
<target name="OptionConverter" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.helpers.OptionConverterTestCase" />
</junit>
</target>
<target name="BoundedFIFO" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.helpers.BoundedFIFOTestCase" />
</junit>
</target>
<target name="CyclicBuffer" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.helpers.CyclicBufferTestCase" />
</junit>
</target>
<target name="PatternParser" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.helpers.PatternParserTestCase" />
</junit>
</target>
<target name="OR" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.or.ORTestCase" />
</junit>
</target>
<target name="DRFA" depends="build">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath refid="tests.classpath"/>
<formatter type="plain" usefile="false"/>
<test name="org.apache.log4j.DRFATestCase" />
</junit>
</target>
<!-- ================================================================= -->
<!-- ========================= Very long Tests ======================= -->
<!-- ================================================================= -->
<!-- none yet, but StressCategory is a good candidate... -->
</project>