Created
November 15, 2014 10:05
-
-
Save lefou/64d03979d5f5dd24da81 to your computer and use it in GitHub Desktop.
Lambda Test based TestNG Suite fails under Ant
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- ====================================================================== --> | |
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. --> | |
<!-- ====================================================================== --> | |
<project name="example" default="package" basedir="."> | |
<!-- ====================================================================== --> | |
<!-- Import maven-build.xml into the current project --> | |
<!-- ====================================================================== --> | |
<import file="maven-build.xml"/> | |
<!-- ====================================================================== --> | |
<!-- Help target --> | |
<!-- ====================================================================== --> | |
<target name="help"> | |
<echo message="Please run: $ant -projecthelp"/> | |
</target> | |
<target name="test" depends="compile-tests"> | |
<mkdir dir="${maven.test.reports}"/> | |
<taskdef resource="testngtasks" classpathref="build.test.classpath" /> | |
<testng outputDir="${maven.test.reports}"> | |
<classfileset dir="${maven.build.testOutputDir}" includes="**/*.class" /> | |
<classpath> | |
<path refid="build.test.classpath" /> | |
<pathelement location="${maven.build.outputDir}" /> | |
<pathelement location="${maven.build.testOutputDir}" /> | |
</classpath> | |
</testng> | |
</target> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE! | |
#Sat Nov 15 10:44:20 CET 2014 | |
maven.settings.offline=false | |
maven.build.finalName=example-1.0-SNAPSHOT | |
maven.build.resourceDir.0=src/main/resources | |
maven.build.testOutputDir=${maven.build.dir}/test-classes | |
maven.build.testResourceDir.0=src/test/resources | |
maven.reporting.outputDirectory=${maven.build.dir}/site | |
project.build.sourceEncoding=UTF-8 | |
maven.compiler.source=1.8 | |
maven.build.srcDir.0=src/main/java | |
project.build.directory=${maven.build.dir} | |
maven.test.reports=${maven.build.dir}/test-reports | |
maven.build.dir=target | |
project.build.outputDirectory=${maven.build.outputDir} | |
maven.compiler.target=1.8 | |
maven.build.testDir.0=src/test/java | |
maven.settings.interactiveMode=true | |
maven.repo.local=${user.home}/.m2/repository | |
maven.build.outputDir=${maven.build.dir}/classes |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- ====================================================================== --> | |
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. --> | |
<!-- ====================================================================== --> | |
<!-- ====================================================================== --> | |
<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== --> | |
<!-- ====================================================================== --> | |
<!-- --> | |
<!-- Any modifications will be overwritten. --> | |
<!-- --> | |
<!-- Generated by Maven Ant Plugin on 11/15/14 10:44 AM --> | |
<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ --> | |
<!-- --> | |
<!-- ====================================================================== --> | |
<project name="example-from-maven" default="package" basedir="."> | |
<!-- ====================================================================== --> | |
<!-- Build environment properties --> | |
<!-- ====================================================================== --> | |
<property file="${user.home}/.m2/maven.properties"/> | |
<property file="maven-build.properties"/> | |
<property name="maven.build.finalName" value="example-1.0-SNAPSHOT"/> | |
<property name="maven.build.dir" value="target"/> | |
<property name="maven.build.outputDir" value="${maven.build.dir}/classes"/> | |
<property name="maven.build.srcDir.0" value="src/main/java"/> | |
<property name="maven.build.resourceDir.0" value="src/main/resources"/> | |
<property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/> | |
<property name="maven.build.testDir.0" value="src/test/java"/> | |
<property name="maven.build.testResourceDir.0" value="src/test/resources"/> | |
<property name="maven.test.reports" value="${maven.build.dir}/test-reports"/> | |
<property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/> | |
<property name="maven.repo.local" value="${user.home}/.m2/repository"/> | |
<property name="maven.settings.offline" value="false"/> | |
<property name="maven.settings.interactiveMode" value="true"/> | |
<!-- ====================================================================== --> | |
<!-- Defining classpaths --> | |
<!-- ====================================================================== --> | |
<path id="build.classpath"/> | |
<path id="build.test.classpath"> | |
<pathelement location="${maven.repo.local}/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2/de.tobiasroeser.lambdatest-0.0.2.jar"/> | |
<pathelement location="${maven.repo.local}/org/testng/testng/6.8.8/testng-6.8.8.jar"/> | |
<pathelement location="${maven.repo.local}/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/> | |
<pathelement location="${maven.repo.local}/com/beust/jcommander/1.27/jcommander-1.27.jar"/> | |
</path> | |
<!-- ====================================================================== --> | |
<!-- Cleaning up target --> | |
<!-- ====================================================================== --> | |
<target name="clean" description="Clean the output directory"> | |
<delete dir="${maven.build.dir}"/> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- Compilation target --> | |
<!-- ====================================================================== --> | |
<target name="compile" depends="get-deps" description="Compile the code"> | |
<mkdir dir="${maven.build.outputDir}"/> | |
<javac destdir="${maven.build.outputDir}" | |
nowarn="false" | |
debug="true" | |
optimize="false" | |
deprecation="true" | |
target="${maven.compiler.target}" | |
verbose="false" | |
fork="false" | |
source="${maven.compiler.source}"> | |
<src> | |
<pathelement location="${maven.build.srcDir.0}"/> | |
</src> | |
<classpath refid="build.classpath"/> | |
</javac> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- Test-compilation target --> | |
<!-- ====================================================================== --> | |
<target name="compile-tests" | |
depends="compile" | |
description="Compile the test code" | |
unless="maven.test.skip"> | |
<mkdir dir="${maven.build.testOutputDir}"/> | |
<javac destdir="${maven.build.testOutputDir}" | |
nowarn="false" | |
debug="true" | |
optimize="false" | |
deprecation="true" | |
target="${maven.compiler.target}" | |
verbose="false" | |
fork="false" | |
source="${maven.compiler.source}"> | |
<src> | |
<pathelement location="${maven.build.testDir.0}"/> | |
</src> | |
<classpath> | |
<path refid="build.test.classpath"/> | |
<pathelement location="${maven.build.outputDir}"/> | |
</classpath> | |
</javac> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- Run all tests --> | |
<!-- ====================================================================== --> | |
<target name="test" | |
depends="compile-tests, junit-missing" | |
unless="junit.skipped" | |
description="Run the test cases"> | |
<mkdir dir="${maven.test.reports}"/> | |
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir="."> | |
<sysproperty key="basedir" value="."/> | |
<formatter type="xml"/> | |
<formatter type="plain" usefile="false"/> | |
<classpath> | |
<path refid="build.test.classpath"/> | |
<pathelement location="${maven.build.outputDir}"/> | |
<pathelement location="${maven.build.testOutputDir}"/> | |
</classpath> | |
<batchtest todir="${maven.test.reports}" unless="test"> | |
<fileset dir="${maven.build.testDir.0}"> | |
<include name="**/Test*.java"/> | |
<include name="**/*Test.java"/> | |
<include name="**/*TestCase.java"/> | |
<exclude name="**/*Abstract*Test.java"/> | |
</fileset> | |
</batchtest> | |
<batchtest todir="${maven.test.reports}" if="test"> | |
<fileset dir="${maven.build.testDir.0}"> | |
<include name="**/${test}.java"/> | |
<exclude name="**/*Abstract*Test.java"/> | |
</fileset> | |
</batchtest> | |
</junit> | |
</target> | |
<target name="test-junit-present"> | |
<available classname="junit.framework.Test" property="junit.present"/> | |
</target> | |
<target name="test-junit-status" | |
depends="test-junit-present"> | |
<condition property="junit.missing"> | |
<and> | |
<isfalse value="${junit.present}"/> | |
<isfalse value="${maven.test.skip}"/> | |
</and> | |
</condition> | |
<condition property="junit.skipped"> | |
<or> | |
<isfalse value="${junit.present}"/> | |
<istrue value="${maven.test.skip}"/> | |
</or> | |
</condition> | |
</target> | |
<target name="junit-missing" | |
depends="test-junit-status" | |
if="junit.missing"> | |
<echo>=================================== WARNING ===================================</echo> | |
<echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo> | |
<echo>===============================================================================</echo> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- Javadoc target --> | |
<!-- ====================================================================== --> | |
<target name="javadoc" description="Generates the Javadoc of the application"> | |
<javadoc sourcepath="${maven.build.srcDir.0}" | |
packagenames="*" | |
destdir="${maven.reporting.outputDirectory}/apidocs" | |
access="protected" | |
old="false" | |
verbose="false" | |
version="true" | |
use="true" | |
author="true" | |
splitindex="false" | |
nodeprecated="false" | |
nodeprecatedlist="false" | |
notree="false" | |
noindex="false" | |
nohelp="false" | |
nonavbar="false" | |
serialwarn="false" | |
charset="ISO-8859-1" | |
linksource="false" | |
breakiterator="false"/> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- Package target --> | |
<!-- ====================================================================== --> | |
<target name="package" depends="compile,test" description="Package the application"> | |
<jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar" | |
compress="true" | |
index="false" | |
basedir="${maven.build.outputDir}" | |
excludes="**/package.html"/> | |
</target> | |
<!-- ====================================================================== --> | |
<!-- A dummy target for the package named after the type it creates --> | |
<!-- ====================================================================== --> | |
<target name="jar" depends="package" description="Builds the jar for the application"/> | |
<!-- ====================================================================== --> | |
<!-- Download dependencies target --> | |
<!-- ====================================================================== --> | |
<target name="test-offline"> | |
<condition property="maven.mode.offline"> | |
<equals arg1="${maven.settings.offline}" arg2="true"/> | |
</condition> | |
</target> | |
<target name="get-deps" | |
depends="test-offline" | |
description="Download all dependencies" | |
unless="maven.mode.offline"> | |
<mkdir dir="${maven.repo.local}"/> | |
<mkdir dir="${maven.repo.local}/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2"/> | |
<get src="http://dl.bintray.com/lefou/poor-mans-lambda-test/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2/de.tobiasroeser.lambdatest-0.0.2.jar" | |
dest="${maven.repo.local}/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2/de.tobiasroeser.lambdatest-0.0.2.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<get src="http://repo.maven.apache.org/maven2/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2/de.tobiasroeser.lambdatest-0.0.2.jar" | |
dest="${maven.repo.local}/de/tobiasroeser/de.tobiasroeser.lambdatest/0.0.2/de.tobiasroeser.lambdatest-0.0.2.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<mkdir dir="${maven.repo.local}/org/testng/testng/6.8.8"/> | |
<get src="http://dl.bintray.com/lefou/poor-mans-lambda-test/org/testng/testng/6.8.8/testng-6.8.8.jar" | |
dest="${maven.repo.local}/org/testng/testng/6.8.8/testng-6.8.8.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<get src="http://repo.maven.apache.org/maven2/org/testng/testng/6.8.8/testng-6.8.8.jar" | |
dest="${maven.repo.local}/org/testng/testng/6.8.8/testng-6.8.8.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<mkdir dir="${maven.repo.local}/org/beanshell/bsh/2.0b4"/> | |
<get src="http://dl.bintray.com/lefou/poor-mans-lambda-test/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar" | |
dest="${maven.repo.local}/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<get src="http://repo.maven.apache.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar" | |
dest="${maven.repo.local}/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<mkdir dir="${maven.repo.local}/com/beust/jcommander/1.27"/> | |
<get src="http://dl.bintray.com/lefou/poor-mans-lambda-test/com/beust/jcommander/1.27/jcommander-1.27.jar" | |
dest="${maven.repo.local}/com/beust/jcommander/1.27/jcommander-1.27.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
<get src="http://repo.maven.apache.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar" | |
dest="${maven.repo.local}/com/beust/jcommander/1.27/jcommander-1.27.jar" | |
usetimestamp="false" | |
ignoreerrors="true"/> | |
</target> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>org.example</groupId> | |
<artifactId>example</artifactId> | |
<version>1.0-SNAPSHOT</version> | |
<packaging>jar</packaging> | |
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<maven.compiler.source>1.8</maven.compiler.source> | |
<maven.compiler.target>1.8</maven.compiler.target> | |
</properties> | |
<repositories> | |
<repository> | |
<snapshots> | |
<enabled>false</enabled> | |
</snapshots> | |
<id>bintray-lefou-poor-mans-lambda-test</id> | |
<name>bintray-lefou-poor-mans-lambda-test</name> | |
<url>http://dl.bintray.com/lefou/poor-mans-lambda-test</url> | |
</repository> | |
</repositories> | |
<dependencies> | |
<dependency> | |
<groupId>de.tobiasroeser</groupId> | |
<artifactId>de.tobiasroeser.lambdatest</artifactId> | |
<version>0.0.2</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.testng</groupId> | |
<artifactId>testng</artifactId> | |
<version>6.8.8</version> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// copy this to: src/test/java/org/example/SimpleTest.java | |
package org.example; | |
import de.tobiasroeser.lambdatest.testng.FreeSpec; | |
class SimpleTest extends FreeSpec {{ | |
test("1 + 1 = 2", () -> { | |
assertEquals(1 + 1, 2); | |
}); | |
test("a pending test", () -> pending()); | |
test("divide by zero", () -> { | |
int a = 2; | |
int b = 0; | |
intercept(ArithmeticException.class, () -> { | |
int c = a / b; | |
}); | |
}); | |
}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The test suite runs successfully when started from Maven, but fails abnormally without even reporting a failure (without any exception) with Ant.
Output from Maven:
Output from Ant: