Author: bdemers Date: Wed Jun 8 15:26:17 2011 New Revision: 1133426 URL: http://svn.apache.org/viewvc?rev=1133426&view=rev Log: SUREFIRE-446, added velo's patch, this will create a report.xml per test, which makes it possible to see test failures
Added: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java (with props) maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml (with props) maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java (with props) maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java (with props) maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java (with props) Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java?rev=1133426&r1=1133425&r2=1133426&view=diff ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java (original) +++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java Wed Jun 8 15:26:17 2011 @@ -107,7 +107,7 @@ public class ForkModeIT private String[] doTest( String forkMode ) throws IOException, VerificationException { - File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/fork-mode" ); + File testDir = ResourceExtractor.simpleExtractResources( getClass(), getProject() ); Verifier verifier = new Verifier( testDir.getAbsolutePath() ); List<String> goals = this.getInitialGoals(); @@ -130,6 +130,11 @@ public class ForkModeIT return pids; } + protected String getProject() + { + return "/fork-mode"; + } + private String slurpFile( File textFile ) throws IOException { Added: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java?rev=1133426&view=auto ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java (added) +++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java Wed Jun 8 15:26:17 2011 @@ -0,0 +1,34 @@ +package org.apache.maven.surefire.its; +/* + * 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. + */ + + +/** + * Test forkMode + * + * @author <a href="mailto:velo...@gmail.com">Marvin Froeder</a> + */ +public class ForkModeTestNGIT + extends ForkModeIT +{ + protected String getProject() + { + return "/fork-mode-testng"; + } +} Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml?rev=1133426&view=auto ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml (added) +++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml Wed Jun 8 15:26:17 2011 @@ -0,0 +1,51 @@ +<?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 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/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.plugins.surefire</groupId> + <artifactId>fork-mode-testng</artifactId> + <version>1.0-SNAPSHOT</version> + <name>Test for forkMode</name> + + <build> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>${surefire.version}</version> + <configuration> + <forkMode>${forkMode}</forkMode> + </configuration> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>5.7</version> + <classifier>jdk15</classifier> + <scope>test</scope> + <exclusions> + <exclusion> + <!-- NOTE: Deliberaty excluding junit to enforce TestNG only tests, cf. SUREFIRE-642 --> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + +</project> Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java?rev=1133426&view=auto ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java (added) +++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java Wed Jun 8 15:26:17 2011 @@ -0,0 +1,36 @@ +package forkMode; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.lang.management.ManagementFactory; + +import org.testng.annotations.Test; + +public class Test1 +{ + + @Test + public void test1() throws IOException { + dumpPidFile( "test1" ); + } + + public static void dumpPidFile( String name ) + throws IOException + { + String fileName = name + "-pid"; + File target = new File("target"); + if (! (target.exists() && target.isDirectory()) ) { + target = new File ("."); + } + File pidFile = new File(target, fileName); + FileWriter fw = new FileWriter(pidFile); + // DGF little known trick... this is guaranteed to be unique to the PID + // In fact, it usually contains the pid and the local host name! + String pid = ManagementFactory.getRuntimeMXBean().getName(); + fw.write( pid ); + fw.flush(); + fw.close(); + } + +} Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java?rev=1133426&view=auto ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java (added) +++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java Wed Jun 8 15:26:17 2011 @@ -0,0 +1,14 @@ +package forkMode; + +import java.io.IOException; + +import org.testng.annotations.Test; + +public class Test2 +{ + @Test + public void test2() throws IOException { + Test1.dumpPidFile( "test2" ); + } + +} Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test2.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java?rev=1133426&view=auto ============================================================================== --- maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java (added) +++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java Wed Jun 8 15:26:17 2011 @@ -0,0 +1,15 @@ +package forkMode; + +import java.io.IOException; + +import org.testng.annotations.Test; + +public class Test3 +{ + + @Test + public void test3() throws IOException { + Test1.dumpPidFile( "test3" ); + } + +} Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test3.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java?rev=1133426&r1=1133425&r2=1133426&view=diff ============================================================================== --- maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (original) +++ maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java Wed Jun 8 15:26:17 2011 @@ -29,6 +29,7 @@ import java.util.Map; import java.util.Properties; import java.util.SortedMap; import java.util.TreeMap; + import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.surefire.NonAbstractClassFilter; @@ -97,6 +98,8 @@ public class TestNGDirectoryTestSuite return; } + this.options.put( "suitename", testsToRun.getLocatedClasses()[0].getName() ); + RunListener reporter = reporterManagerFactory.createReporter(); ConsoleOutputCapture.startCapture( (ConsoleOutputReceiver) reporter );