You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2013/01/08 15:55:18 UTC
[2/6] o Fixed testcase on windows. o Fixed 2.2.1 tests by splitting
report parser to separate module
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestCaseTest.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestCaseTest.java b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestCaseTest.java
new file mode 100644
index 0000000..ecf529a
--- /dev/null
+++ b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestCaseTest.java
@@ -0,0 +1,82 @@
+package org.apache.maven.plugins.surefire.report;
+
+/*
+ * 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.
+ */
+
+import junit.framework.TestCase;
+
+/**
+ * @author Jontri
+ */
+public class ReportTestCaseTest
+ extends TestCase
+{
+ private ReportTestCase tCase;
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ tCase = new ReportTestCase();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+
+ tCase = null;
+ }
+
+ public void testSetName()
+ {
+ tCase.setName( "Test Case Name" );
+
+ assertEquals( "Test Case Name", tCase.getName() );
+ }
+
+ public void testSetTime()
+ {
+ tCase.setTime( .06f );
+
+ assertEquals( .06f, tCase.getTime(), 0.0 );
+ }
+
+ public void testSetFailure()
+ {
+ tCase.addFailure( "messageVal", "typeVal" );
+
+ assertEquals( "messageVal", tCase.getFailure().get( "message" ) );
+ assertEquals( "typeVal", tCase.getFailure().get( "type" ) );
+ }
+
+ public void testSetFullName()
+ {
+ tCase.setFullName( "Test Case Full Name" );
+
+ assertEquals( "Test Case Full Name", tCase.getFullName() );
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestSuiteTest.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestSuiteTest.java b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestSuiteTest.java
new file mode 100644
index 0000000..63e6eac
--- /dev/null
+++ b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/ReportTestSuiteTest.java
@@ -0,0 +1,118 @@
+package org.apache.maven.plugins.surefire.report;
+
+/*
+ * 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.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ */
+public class ReportTestSuiteTest
+ extends TestCase
+{
+ private ReportTestSuite tSuite;
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ tSuite = new ReportTestSuite();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+
+ tSuite = null;
+ }
+
+ public void testSetTestCases()
+ {
+ ReportTestCase tCase = new ReportTestCase();
+
+ List<ReportTestCase> tCaseList = new ArrayList<ReportTestCase>();
+
+ tCaseList.add( tCase );
+
+ tSuite.setTestCases( tCaseList );
+
+ assertEquals( tCase, tSuite.getTestCases().get( 0 ) );
+ }
+
+ public void testSetNumberdOfErrors()
+ {
+ tSuite.setNumberOfErrors( 9 );
+
+ assertEquals( 9, tSuite.getNumberOfErrors() );
+ }
+
+ public void testSetNumberOfFailures()
+ {
+ tSuite.setNumberOfFailures( 10 );
+
+ assertEquals( 10, tSuite.getNumberOfFailures() );
+ }
+
+ public void testSetNumberOfSkipped()
+ {
+ tSuite.setNumberOfSkipped( 5 );
+
+ assertEquals( 5, tSuite.getNumberOfSkipped() );
+ }
+
+ public void testSetNumberOfTests()
+ {
+ tSuite.setNumberOfTests( 11 );
+
+ assertEquals( 11, tSuite.getNumberOfTests() );
+ }
+
+ public void testSetName()
+ {
+ tSuite.setName( "Suite Name" );
+
+ assertEquals( "Suite Name", tSuite.getName() );
+ }
+
+ public void testSetPackageName()
+ {
+ tSuite.setPackageName( "Suite Package Name" );
+
+ assertEquals( "Suite Package Name", tSuite.getPackageName() );
+ }
+
+ public void testSetTimeElapsed()
+ {
+ tSuite.setTimeElapsed( .06f );
+
+ assertEquals( .06f, tSuite.getTimeElapsed(), 0.0 );
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportParserTest.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportParserTest.java b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportParserTest.java
new file mode 100644
index 0000000..2bd5248
--- /dev/null
+++ b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportParserTest.java
@@ -0,0 +1,242 @@
+package org.apache.maven.plugins.surefire.report;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import org.apache.maven.reporting.MavenReportException;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ */
+public class SurefireReportParserTest
+ extends TestCase
+{
+ private SurefireReportParser report;
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ report = new SurefireReportParser();
+
+ report.setLocale( Locale.ENGLISH );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+
+ report = null;
+ }
+
+ public void testParseXMLReportFiles()
+ throws MavenReportException, UnsupportedEncodingException
+ {
+ report.setReportsDirectory( getTestDir( "/test-reports" ) );
+
+ List<ReportTestSuite> suites = report.parseXMLReportFiles();
+
+ assertEquals( 8, suites.size() );
+
+ for ( ReportTestSuite suite : suites )
+ {
+ assertNotNull( suite.getName() + " was not correctly parsed", suite.getTestCases() );
+ assertNotNull( suite.getName() );
+ assertNotNull( suite.getPackageName() );
+ }
+ }
+
+ private File getTestDir( String path )
+ throws UnsupportedEncodingException
+ {
+ URL resource = getClass().getResource( path );
+ // URLDecoder.decode necessary for JDK 1.5+, where spaces are escaped to %20
+ return new File( URLDecoder.decode( resource.getPath(), "UTF-8" ) ).getAbsoluteFile();
+ }
+
+ public void testParseTestSuiteName()
+ {
+ assertEquals( "CircleTest", report.parseTestSuiteName( "Battery: com.shape.CircleTest" ) );
+ }
+
+ public void testParseTestSuitePackageName()
+ {
+ assertEquals( "com.shape", report.parseTestSuitePackageName( "Battery: com.shape.CircleTest" ) );
+ }
+
+ public void testParseTestCaseName()
+ {
+ assertEquals( "testCase", report.parseTestCaseName( "testCase(com.shape.CircleTest)" ) );
+ }
+
+ public void testGetSummary()
+ throws Exception
+ {
+ ReportTestSuite tSuite1 = new ReportTestSuite();
+
+ ReportTestSuite tSuite2 = new ReportTestSuite();
+
+ tSuite1.setNumberOfErrors( 10 );
+
+ tSuite1.setNumberOfFailures( 20 );
+
+ tSuite1.setNumberOfSkipped( 2 );
+
+ tSuite1.setTimeElapsed( 1.0f );
+
+ tSuite1.setNumberOfTests( 100 );
+
+ tSuite2.setNumberOfErrors( 10 );
+
+ tSuite2.setNumberOfFailures( 20 );
+
+ tSuite2.setNumberOfSkipped( 2 );
+
+ tSuite2.setTimeElapsed( 1.0f );
+
+ tSuite2.setNumberOfTests( 100 );
+
+ List<ReportTestSuite> suiteList = new ArrayList<ReportTestSuite>();
+
+ suiteList.add( tSuite1 );
+
+ suiteList.add( tSuite2 );
+
+ Map<String, String> testMap = report.getSummary( suiteList );
+
+ assertEquals( 20, Integer.parseInt( testMap.get( "totalErrors" ).toString() ) );
+
+ assertEquals( 40, Integer.parseInt( testMap.get( "totalFailures" ).toString() ) );
+
+ assertEquals( 200, Integer.parseInt( testMap.get( "totalTests" ).toString() ) );
+
+ assertEquals( 4, Integer.parseInt( testMap.get( "totalSkipped" ).toString() ) );
+
+ NumberFormat numberFormat = report.getNumberFormat();
+
+ assertEquals( 2.0f, numberFormat.parse( testMap.get( "totalElapsedTime" ).toString() ).floatValue(), 0.0f );
+
+ assertEquals( 68.00f, numberFormat.parse( (String) testMap.get( "totalPercentage" ) ).floatValue(), 0 );
+ }
+
+ public void testGetSuitesGroupByPackage()
+ {
+ ReportTestSuite tSuite1 = new ReportTestSuite();
+
+ ReportTestSuite tSuite2 = new ReportTestSuite();
+
+ ReportTestSuite tSuite3 = new ReportTestSuite();
+
+ tSuite1.setPackageName( "Package1" );
+
+ tSuite2.setPackageName( "Package1" );
+
+ tSuite3.setPackageName( "Package2" );
+
+ List<ReportTestSuite> suiteList = new ArrayList<ReportTestSuite>();
+
+ suiteList.add( tSuite1 );
+
+ suiteList.add( tSuite2 );
+
+ suiteList.add( tSuite3 );
+
+ Map<String, List<ReportTestSuite>> groupMap = report.getSuitesGroupByPackage( suiteList );
+
+ assertEquals( 2, groupMap.size() );
+
+ assertEquals( tSuite1, groupMap.get( "Package1" ).get( 0 ) );
+
+ assertEquals( tSuite2, groupMap.get( "Package1" ).get( 1 ) );
+
+ assertEquals( tSuite3, groupMap.get( "Package2" ).get( 0 ) );
+ }
+
+ public void testComputePercentage()
+ throws Exception
+ {
+ NumberFormat numberFormat = report.getNumberFormat();
+
+ assertEquals( 70.00f, numberFormat.parse( report.computePercentage( 100, 20, 10, 0 ) ).floatValue(), 0 );
+ }
+
+ public void testGetFailureDetails()
+ {
+ ReportTestSuite tSuite1 = new ReportTestSuite();
+
+ ReportTestSuite tSuite2 = new ReportTestSuite();
+
+ ReportTestCase tCase1 = new ReportTestCase();
+
+ ReportTestCase tCase2 = new ReportTestCase();
+
+ ReportTestCase tCase3 = new ReportTestCase();
+
+ tCase1.addFailure( null, null );
+
+ tCase3.addFailure( null, null );
+
+ List<ReportTestCase> tCaseList = new ArrayList<ReportTestCase>();
+
+ List<ReportTestCase> tCaseList2 = new ArrayList<ReportTestCase>();
+
+ tCaseList.add( tCase1 );
+
+ tCaseList.add( tCase2 );
+
+ tCaseList2.add( tCase3 );
+
+ tSuite1.setTestCases( tCaseList );
+
+ tSuite2.setTestCases( tCaseList2 );
+
+ List<ReportTestSuite> suiteList = new ArrayList<ReportTestSuite>();
+
+ suiteList.add( tSuite1 );
+
+ suiteList.add( tSuite2 );
+
+ List<ReportTestCase> failList = report.getFailureDetails( suiteList );
+
+ assertEquals( 2, failList.size() );
+
+ assertEquals( tCase1, failList.get( 0 ) );
+
+ assertEquals( tCase3, failList.get( 1 ) );
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParserTest.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParserTest.java b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParserTest.java
new file mode 100644
index 0000000..beaf1b2
--- /dev/null
+++ b/surefire-report-parser/src/test/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParserTest.java
@@ -0,0 +1,136 @@
+package org.apache.maven.plugins.surefire.report;
+
+/*
+ * 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Collection;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import junit.framework.TestCase;
+import org.xml.sax.SAXException;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class TestSuiteXmlParserTest
+ extends TestCase
+{
+ public void testParse()
+ throws Exception
+ {
+ TestSuiteXmlParser testSuiteXmlParser = new TestSuiteXmlParser();
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
+ "<testsuite failures=\"4\" time=\"0.005\" errors=\"0\" skipped=\"0\" tests=\"4\" name=\"wellFormedXmlFailures.TestSurefire3\">\n"
+ +
+ " <properties>\n" +
+ " <property name=\"java.runtime.name\" value=\"Java(TM) SE Runtime Environment\"/>\n" +
+ " <property name=\"sun.cpu.isalist\" value=\"amd64\"/>\n" +
+ " </properties>\n" +
+ " <testcase time=\"0.005\" classname=\"wellFormedXmlFailures.TestSurefire3\" name=\"testLower\">\n" +
+ " <failure message=\"<\" type=\"junit.framework.AssertionFailedError\"><![CDATA[junit.framework.AssertionFailedError: <\n"
+ +
+ "\tat junit.framework.Assert.fail(Assert.java:47)\n" +
+ "\tat wellFormedXmlFailures.TestSurefire3.testLower(TestSurefire3.java:30)\n" +
+ "]]></failure>\n" +
+ " </testcase>\n" +
+ " <testcase time=\"0\" classname=\"wellFormedXmlFailures.TestSurefire3\" name=\"testU0000\">\n" +
+ " <failure message=\"&0#;\" type=\"junit.framework.AssertionFailedError\">junit.framework.AssertionFailedError: \n"
+ +
+ "\tat junit.framework.Assert.fail(Assert.java:47)\n" +
+ "\tat wellFormedXmlFailures.TestSurefire3.testU0000(TestSurefire3.java:40)\n" +
+ "</failure>\n" +
+ " </testcase>\n" +
+ " <testcase time=\"0\" classname=\"wellFormedXmlFailures.TestSurefire3\" name=\"testGreater\">\n" +
+ " <failure message=\">\" type=\"junit.framework.AssertionFailedError\">junit.framework.AssertionFailedError: >\n"
+ +
+ "\tat junit.framework.Assert.fail(Assert.java:47)\n" +
+ "\tat wellFormedXmlFailures.TestSurefire3.testGreater(TestSurefire3.java:35)\n" +
+ "</failure>\n" +
+ " </testcase>\n" +
+ " <testcase time=\"0\" classname=\"wellFormedXmlFailures.TestSurefire3\" name=\"testQuote\">\n" +
+ " <failure message=\""\" type=\"junit.framework.AssertionFailedError\">junit.framework.AssertionFailedError: \"\n"
+ +
+ "\tat junit.framework.Assert.fail(Assert.java:47)\n" +
+ "\tat wellFormedXmlFailures.TestSurefire3.testQuote(TestSurefire3.java:25)\n" +
+ "</failure>\n" +
+ " </testcase>\n" +
+ "</testsuite>";
+ InputStream byteArrayIs = new ByteArrayInputStream( xml.getBytes() );
+ Collection<ReportTestSuite> parse = testSuiteXmlParser.parse( new InputStreamReader(byteArrayIs, "UTF-8") );
+ }
+
+ public void testParser()
+ throws IOException, SAXException, ParserConfigurationException
+ {
+ TestSuiteXmlParser parser = new TestSuiteXmlParser();
+
+ Collection<ReportTestSuite> oldResult = parser.parse(
+ "src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml" );
+
+ assertNotNull( oldResult );
+
+ assertEquals( 1, oldResult.size() );
+ ReportTestSuite next = oldResult.iterator().next();
+ assertEquals( 2, next.getNumberOfTests() );
+
+
+ }
+
+ public void noTestParserBadFile() // Determine problem with xml file.
+ throws IOException, SAXException, ParserConfigurationException
+ {
+ TestSuiteXmlParser parser = new TestSuiteXmlParser();
+
+ File file = new File( "../surefire-integration-tests/target/UmlautDirIT/junit-pathWith\u00DCmlaut/target/surefire-reports/TEST-umlautTest.BasicTest.xml" );
+ assertTrue(file.exists());
+ Collection<ReportTestSuite> oldResult = parser.parse(
+ "..\\surefire-integration-tests\\target\\UmlautDirIT\\junit-pathWith\u00DCmlaut\\target\\surefire-reports\\TEST-umlautTest.BasicTest.xml" );
+
+ assertNotNull( oldResult );
+
+ assertEquals( 1, oldResult.size() );
+ ReportTestSuite next = oldResult.iterator().next();
+ assertEquals( 2, next.getNumberOfTests() );
+
+
+ }
+
+ public void testParserHitsFailsafeSummary()
+ throws IOException, SAXException, ParserConfigurationException
+ {
+ TestSuiteXmlParser parser = new TestSuiteXmlParser();
+
+ parser.parse( "src/test/resources/fixture/testsuitexmlparser/failsafe-summary.xml" );
+
+ assertFalse( parser.isValid() );
+
+ parser.parse(
+ "src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml" );
+
+ assertTrue( parser.isValid() );
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml
new file mode 100644
index 0000000..09c9c6d
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/TEST-org.apache.maven.surefire.test.FailingTest.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite failures="2" time="0.014" errors="0" skipped="0" tests="2" name="org.apache.maven.surefire.test.FailingTest">
+ <properties>
+ <property name="surefire.version" value="2.13-SNAPSHOT"/>
+ <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+ <property name="sun.boot.library.path" value="c:\java\jdk1.7.0_09\jre\bin"/>
+ <property name="java.vm.version" value="23.5-b02"/>
+ <property name="user.country.format" value="NO"/>
+ <property name="java.vm.vendor" value="Oracle Corporation"/>
+ <property name="java.vendor.url" value="http://java.oracle.com/"/>
+ <property name="path.separator" value=";"/>
+ <property name="guice.disable.misplaced.annotation.check" value="true"/>
+ <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+ <property name="file.encoding.pkg" value="sun.io"/>
+ <property name="user.script" value=""/>
+ <property name="user.country" value="US"/>
+ <property name="sun.java.launcher" value="SUN_STANDARD"/>
+ <property name="sun.os.patch.level" value="Service Pack 1"/>
+ <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+ <property name="user.dir" value="c:\workspace\maven-surefire\surefire-integration-tests\src\test\resources\surefire-803-multiFailsafeExec-failureInFirst"/>
+ <property name="java.runtime.version" value="1.7.0_09-b05"/>
+ <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
+ <property name="java.endorsed.dirs" value="c:\java\jdk1.7.0_09\jre\lib\endorsed"/>
+ <property name="os.arch" value="amd64"/>
+ <property name="java.io.tmpdir" value="C:\Users\krose\AppData\Local\Temp\"/>
+ <property name="line.separator" value="
+"/>
+ <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+ <property name="user.variant" value=""/>
+ <property name="os.name" value="Windows 7"/>
+ <property name="classworlds.conf" value="c:/java/apache-maven-3.0.4/bin/m2.conf"/>
+ <property name="sun.jnu.encoding" value="Cp1252"/>
+ <property name="java.library.path" value="c:\java\jdk1.7.0_09\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;x:\bin;.;C:\java\Git\local\bin;C:\java\Git\mingw\bin;C:\java\Git\bin;c:\java\jdk1.7.0_09\bin;c:\java\Subversion;c:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;c:\Program Files (x86)\Common Files\Microsoft Shared\Microsoft Online Services;c:\Windows\system32;c:\Windows;c:\Windows\System32\Wbem;c:\Windows\System32\WindowsPowerShell\v1.0\;c:\java\jdk1.7.0_09\bin;c:\java\Subversion;c:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;c:\Program Files (x86)\Common Files\Microsoft Shared\Microsoft Online Services;c:\Windows\system32;c:\Windows;c:\Windows\System32\Wbem;c:\Windows\System32\WindowsPowerShell\v1.0\;c:\java\bin;."/>
+ <property name="java.specification.name" value="Java Platform API Specification"/>
+ <property name="java.class.version" value="51.0"/>
+ <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+ <property name="os.version" value="6.1"/>
+ <property name="user.home" value="C:\Users\krose"/>
+ <property name="user.timezone" value="Europe/Paris"/>
+ <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
+ <property name="java.specification.version" value="1.7"/>
+ <property name="file.encoding" value="Cp1252"/>
+ <property name="user.name" value="krose"/>
+ <property name="java.class.path" value="c:/java/apache-maven-3.0.4/boot/plexus-classworlds-2.4.jar"/>
+ <property name="java.vm.specification.version" value="1.7"/>
+ <property name="sun.arch.data.model" value="64"/>
+ <property name="java.home" value="c:\java\jdk1.7.0_09\jre"/>
+ <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -Dsurefire.version=2.13-SNAPSHOT clean verify"/>
+ <property name="java.specification.vendor" value="Oracle Corporation"/>
+ <property name="user.language" value="en"/>
+ <property name="user.language.format" value="no"/>
+ <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
+ <property name="java.vm.info" value="mixed mode"/>
+ <property name="java.version" value="1.7.0_09"/>
+ <property name="java.ext.dirs" value="c:\java\jdk1.7.0_09\jre\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
+ <property name="sun.boot.class.path" value="c:\java\jdk1.7.0_09\jre\lib\resources.jar;c:\java\jdk1.7.0_09\jre\lib\rt.jar;c:\java\jdk1.7.0_09\jre\lib\sunrsasign.jar;c:\java\jdk1.7.0_09\jre\lib\jsse.jar;c:\java\jdk1.7.0_09\jre\lib\jce.jar;c:\java\jdk1.7.0_09\jre\lib\charsets.jar;c:\java\jdk1.7.0_09\jre\lib\jfr.jar;c:\java\jdk1.7.0_09\jre\classes"/>
+ <property name="java.vendor" value="Oracle Corporation"/>
+ <property name="maven.home" value="c:\java\apache-maven-3.0.4"/>
+ <property name="file.separator" value="\"/>
+ <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+ <property name="sun.cpu.endian" value="little"/>
+ <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+ <property name="sun.desktop" value="windows"/>
+ <property name="sun.cpu.isalist" value="amd64"/>
+ </properties>
+ <testcase time="0.013" classname="org.apache.maven.surefire.test.FailingTest" name="defaultTestValueIs_Value">
+ <failure message="
+Expected: "wrong"
+ got: "value"
+" type="java.lang.AssertionError">java.lang.AssertionError:
+Expected: "wrong"
+ got: "value"
+
+ at org.junit.Assert.assertThat(Assert.java:778)
+ at org.junit.Assert.assertThat(Assert.java:736)
+ at org.apache.maven.surefire.test.FailingTest.defaultTestValueIs_Value(FailingTest.java:23)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:601)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
+ at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:48)
+ at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:262)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:151)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:122)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:601)
+ at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
+ at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
+ at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
+ at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:128)
+ at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:88)
+</failure>
+ </testcase>
+ <testcase time="0.001" classname="org.apache.maven.surefire.test.FailingTest" name="setTestAndRetrieveValue">
+ <failure message="
+Expected: "bar"
+ got: "foo"
+" type="java.lang.AssertionError">java.lang.AssertionError:
+Expected: "bar"
+ got: "foo"
+
+ at org.junit.Assert.assertThat(Assert.java:778)
+ at org.junit.Assert.assertThat(Assert.java:736)
+ at org.apache.maven.surefire.test.FailingTest.setTestAndRetrieveValue(FailingTest.java:34)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:601)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
+ at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:48)
+ at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:262)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:151)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:122)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:601)
+ at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
+ at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
+ at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
+ at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:128)
+ at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:88)
+</failure>
+ </testcase>
+</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary-old.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary-old.xml b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary-old.xml
new file mode 100644
index 0000000..6839aa9
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary-old.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<failsafe-summary timeout="false">
+ <completed>1</completed>
+ <errors>0</errors>
+ <failures>1</failures>
+ <skipped>0</skipped>
+ <failureMessage/>
+</failsafe-summary>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary.xml b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary.xml
new file mode 100644
index 0000000..1bc82d9
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/fixture/testsuitexmlparser/failsafe-summary.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<failsafe-summary timeout="false">
+ <completed>4</completed>
+ <errors>0</errors>
+ <failures>2</failures>
+ <skipped>0</skipped>
+ <failureMessage/>
+</failsafe-summary>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/test-reports/TEST-AntUnit.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/test-reports/TEST-AntUnit.xml b/surefire-report-parser/src/test/resources/test-reports/TEST-AntUnit.xml
new file mode 100644
index 0000000..71e5342
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/test-reports/TEST-AntUnit.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite buildFile="/home/pjanes/devel/maven/client/tools/tests/changebase.xml" hostname="merope"
+ name="tests.changebase_xml" timestamp="2008-04-23T13:25:46">
+ <testcase name="testNegativeValue">
+ <time>0.378</time>
+ </testcase>
+ <tests>1</tests>
+ <failures>0</failures>
+ <errors>0</errors>
+ <time>0.378</time>
+</testsuite>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/test-reports/TEST-NoPackageTest.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/test-reports/TEST-NoPackageTest.xml b/surefire-report-parser/src/test/resources/test-reports/TEST-NoPackageTest.xml
new file mode 100644
index 0000000..4c0f831
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/test-reports/TEST-NoPackageTest.xml
@@ -0,0 +1,256 @@
+<?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.
+ -->
+
+<testsuite errors="0" tests="3" time="0.047" failures="3" name="NoPackageTest">
+ <properties>
+ <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\bin" name="sun.boot.library.path"/>
+ <property value="1.5.0_06-b05" name="java.vm.version"/>
+ <property value="Sun Microsystems Inc." name="java.vm.vendor"/>
+ <property value="http://java.sun.com/" name="java.vendor.url"/>
+ <property value=";" name="path.separator"/>
+ <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/>
+ <property value="sun.io" name="file.encoding.pkg"/>
+ <property value="US" name="user.country"/>
+ <property value="Service Pack 2" name="sun.os.patch.level"/>
+ <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/>
+ <property value="C:\dev\maven\plugins\maven-surefire-plugin\src\it\test3" name="user.dir"/>
+ <property value="1.5.0_06-b05" name="java.runtime.version"/>
+ <property value="sun.awt.Win32GraphicsEnvironment" name="java.awt.graphicsenv"/>
+ <property value="C:\dev\maven\plugins\maven-surefire-plugin\src\it\test3" name="basedir"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\endorsed" name="java.endorsed.dirs"/>
+ <property value="x86" name="os.arch"/>
+ <property value="c:\DOCUME~1\csanchez\LOCALS~1\Temp\" name="java.io.tmpdir"/>
+ <property value="
+" name="line.separator"/>
+ <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/>
+ <property value="" name="user.variant"/>
+ <property value="Windows XP" name="os.name"/>
+ <property value="c:\apps\maven-2.1-SNAPSHOT/bin/m2.conf" name="classworlds.conf"/>
+ <property value="Cp1252" name="sun.jnu.encoding"/>
+ <property
+ value="c:\Program Files\Java\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\apps\cygwin\usr\local\bin;C:\apps\cygwin\bin;C:\apps\cygwin\bin;C:\apps\cygwin\usr\X11R6\bin;c:\Program Files\ThinkPad\Utilities;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\ATI Technologies\ATI Control Panel;c:\WINDOWS\Downloaded Program Files;c:\Program Files\PC-Doctor for Windows\services;c:\Program Files\Subversion\bin;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\IBM ThinkVantage\Client Security Solution;c:\apps\jwsdp-1.6\jwsdp-shared\bin;c:\apps\apache-ant-1.6.5\bin;c:\apps\maven-1.1-beta-2\bin;c:\apps\maven-2.1-SNAPSHOT\bin;c:\Program Files\Java\jdk1.5.0_06\bin;c:\Program Files\putty;c:\Program Files\ThinkPad\Utilities;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\ATI Technologies\ATI Control Panel;c:\WINDOWS\Download
ed Program Files;c:\Program Files\PC-Doctor for Windows\services;c:\Program Files\Subversion\bin;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\IBM ThinkVantage\Client Security Solution"
+ name="java.library.path"/>
+ <property value="Java Platform API Specification" name="java.specification.name"/>
+ <property value="49.0" name="java.class.version"/>
+ <property value="HotSpot Client Compiler" name="sun.management.compiler"/>
+ <property value="true" name="maven.test.failure.ignore"/>
+ <property value="5.1" name="os.version"/>
+ <property value="C:\Documents and Settings\csanchez" name="user.home"/>
+ <property value="America/Los_Angeles" name="user.timezone"/>
+ <property value="sun.awt.windows.WPrinterJob" name="java.awt.printerjob"/>
+ <property value="Cp1252" name="file.encoding"/>
+ <property value="1.5" name="java.specification.version"/>
+ <property value="csanchez" name="user.name"/>
+ <property value="c:\apps\maven-2.1-SNAPSHOT/core/boot/classworlds-1.1.jar" name="java.class.path"/>
+ <property value="1.0" name="java.vm.specification.version"/>
+ <property value="32" name="sun.arch.data.model"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre" name="java.home"/>
+ <property value="Sun Microsystems Inc." name="java.specification.vendor"/>
+ <property value="en" name="user.language"/>
+ <property value="sun.awt.windows.WToolkit" name="awt.toolkit"/>
+ <property value="mixed mode, sharing" name="java.vm.info"/>
+ <property value="1.5.0_06" name="java.version"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\ext" name="java.ext.dirs"/>
+ <property
+ value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\i18n.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\jce.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.5.0_06\jre\classes"
+ name="sun.boot.class.path"/>
+ <property value="Sun Microsystems Inc." name="java.vendor"/>
+ <property value="c:\apps\maven-2.1-SNAPSHOT" name="maven.home"/>
+ <property value="C:\Documents and Settings\csanchez\.m2\repository" name="localRepository"/>
+ <property value="\" name="file.separator"/>
+ <property value="http://java.sun.com/cgi-bin/bugreport.cgi" name="java.vendor.url.bug"/>
+ <property value="little" name="sun.cpu.endian"/>
+ <property value="UnicodeLittle" name="sun.io.unicode.encoding"/>
+ <property value="windows" name="sun.desktop"/>
+ <property value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86" name="sun.cpu.isalist"/>
+ </properties>
+ <testcase time="0" name="testQuote">
+ <failure type="junit.framework.AssertionFailedError" message=""">junit.framework.AssertionFailedError: "
+ at junit.framework.Assert.fail(Assert.java:47)
+ at NoPackageTest.testQuote(NoPackageTest.java:23)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at junit.framework.TestCase.runTest(TestCase.java:154)
+ at junit.framework.TestCase.runBare(TestCase.java:127)
+ at junit.framework.TestResult$1.protect(TestResult.java:106)
+ at junit.framework.TestResult.runProtected(TestResult.java:124)
+ at junit.framework.TestResult.run(TestResult.java:109)
+ at junit.framework.TestCase.run(TestCase.java:118)
+ at junit.framework.TestSuite.runTest(TestSuite.java:208)
+ at junit.framework.TestSuite.run(TestSuite.java:203)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:242)
+ at org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.java:216)
+ at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.SurefireBooter.runTestsInProcess(SurefireBooter.java:300)
+ at org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:216)
+ at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:369)
+ at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:867)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:739)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:510)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
+ at
+ org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:274)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
+ at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
+ at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
+ at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
+ at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
+ at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
+ at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
+ </failure>
+ </testcase>
+ <testcase time="0" name="testLower">
+ <failure type="junit.framework.AssertionFailedError" message="<">junit.framework.AssertionFailedError: <
+ at junit.framework.Assert.fail(Assert.java:47)
+ at NoPackageTest.testLower(NoPackageTest.java:28)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at junit.framework.TestCase.runTest(TestCase.java:154)
+ at junit.framework.TestCase.runBare(TestCase.java:127)
+ at junit.framework.TestResult$1.protect(TestResult.java:106)
+ at junit.framework.TestResult.runProtected(TestResult.java:124)
+ at junit.framework.TestResult.run(TestResult.java:109)
+ at junit.framework.TestCase.run(TestCase.java:118)
+ at junit.framework.TestSuite.runTest(TestSuite.java:208)
+ at junit.framework.TestSuite.run(TestSuite.java:203)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:242)
+ at org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.java:216)
+ at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.SurefireBooter.runTestsInProcess(SurefireBooter.java:300)
+ at org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:216)
+ at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:369)
+ at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:867)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:739)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:510)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
+ at
+ org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:274)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
+ at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
+ at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
+ at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
+ at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
+ at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
+ at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
+ </failure>
+ </testcase>
+ <testcase time="0" name="testGreater">
+ <failure type="junit.framework.AssertionFailedError" message=">">junit.framework.AssertionFailedError: >
+ at junit.framework.Assert.fail(Assert.java:47)
+ at NoPackageTest.testGreater(NoPackageTest.java:33)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at junit.framework.TestCase.runTest(TestCase.java:154)
+ at junit.framework.TestCase.runBare(TestCase.java:127)
+ at junit.framework.TestResult$1.protect(TestResult.java:106)
+ at junit.framework.TestResult.runProtected(TestResult.java:124)
+ at junit.framework.TestResult.run(TestResult.java:109)
+ at junit.framework.TestCase.run(TestCase.java:118)
+ at junit.framework.TestSuite.runTest(TestSuite.java:208)
+ at junit.framework.TestSuite.run(TestSuite.java:203)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:242)
+ at org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.java:216)
+ at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
+ at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.apache.maven.surefire.SurefireBooter.runTestsInProcess(SurefireBooter.java:300)
+ at org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:216)
+ at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:369)
+ at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:867)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:739)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:510)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
+ at
+ org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:274)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
+ at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
+ at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
+ at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
+ at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
+ at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
+ at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
+ </failure>
+ </testcase>
+</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/test-reports/TEST-NoTimeTestCaseTest.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/test-reports/TEST-NoTimeTestCaseTest.xml b/surefire-report-parser/src/test/resources/test-reports/TEST-NoTimeTestCaseTest.xml
new file mode 100644
index 0000000..a36a19a
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/test-reports/TEST-NoTimeTestCaseTest.xml
@@ -0,0 +1,92 @@
+<?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.
+ -->
+
+<testsuite errors="0" tests="8" time="0.563" failures="0" name="NoTimeTestCaseTest">
+ <properties>
+ <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\bin" name="sun.boot.library.path"/>
+ <property value="1.5.0_06-b05" name="java.vm.version"/>
+ <property value="Sun Microsystems Inc." name="java.vm.vendor"/>
+ <property value="http://java.sun.com/" name="java.vendor.url"/>
+ <property value=";" name="path.separator"/>
+ <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/>
+ <property value="sun.io" name="file.encoding.pkg"/>
+ <property value="US" name="user.country"/>
+ <property value="Service Pack 2" name="sun.os.patch.level"/>
+ <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/>
+ <property value="c:\dev\test" name="user.dir"/>
+ <property value="1.5.0_06-b05" name="java.runtime.version"/>
+ <property value="sun.awt.Win32GraphicsEnvironment" name="java.awt.graphicsenv"/>
+ <property value="c:\dev\test" name="basedir"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\endorsed" name="java.endorsed.dirs"/>
+ <property value="x86" name="os.arch"/>
+ <property value="c:\DOCUME~1\csanchez\LOCALS~1\Temp\" name="java.io.tmpdir"/>
+ <property value="
+" name="line.separator"/>
+ <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/>
+ <property value="" name="user.variant"/>
+ <property value="Windows XP" name="os.name"/>
+ <property value="c:\apps\maven-2.0.5-SNAPSHOT/bin/m2.conf" name="classworlds.conf"/>
+ <property value="Cp1252" name="sun.jnu.encoding"/>
+ <property
+ value="c:\Program Files\Java\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\apps\cygwin\usr\local\bin;C:\apps\cygwin\bin;C:\apps\cygwin\bin;C:\apps\cygwin\usr\X11R6\bin;c:\Program Files\ThinkPad\Utilities;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\ATI Technologies\ATI Control Panel;c:\WINDOWS\Downloaded Program Files;c:\Program Files\PC-Doctor for Windows\services;c:\Program Files\Subversion\bin;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\IBM ThinkVantage\Client Security Solution;c:\Program Files\ThinkPad\ConnectUtilities;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\TortoiseCVS;c:\apps\graphviz-2.8\bin;c:\apps\jwsdp-1.6\jwsdp-shared\bin;c:\apps\apache-ant-1.6.5\bin;c:\apps\maven-1.1-beta-2\bin;c:\apps\maven-2.0.5-SNAPSHOT\bin;c:\Program Files\Java\jdk1.5.0_06\bin;c:\Program Files\putty;c:\Program Files\ThinkPad\Utilities;c:\WINDOWS\system32;c:\WINDO
WS;c:\WINDOWS\System32\Wbem;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\ATI Technologies\ATI Control Panel;c:\WINDOWS\Downloaded Program Files;c:\Program Files\PC-Doctor for Windows\services;c:\Program Files\Subversion\bin;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\Intel\Wireless\Bin\;c:\Program Files\IBM ThinkVantage\Client Security Solution;c:\Program Files\ThinkPad\ConnectUtilities;c:\Program Files\Intel\Wireless\Bin\"
+ name="java.library.path"/>
+ <property value="Java Platform API Specification" name="java.specification.name"/>
+ <property value="49.0" name="java.class.version"/>
+ <property value="HotSpot Client Compiler" name="sun.management.compiler"/>
+ <property value="5.1" name="os.version"/>
+ <property value="C:\Documents and Settings\csanchez" name="user.home"/>
+ <property value="America/Los_Angeles" name="user.timezone"/>
+ <property value="sun.awt.windows.WPrinterJob" name="java.awt.printerjob"/>
+ <property value="Cp1252" name="file.encoding"/>
+ <property value="1.5" name="java.specification.version"/>
+ <property value="csanchez" name="user.name"/>
+ <property value="c:\apps\maven-2.0.5-SNAPSHOT/core/boot/classworlds-1.1.jar" name="java.class.path"/>
+ <property value="1.0" name="java.vm.specification.version"/>
+ <property value="32" name="sun.arch.data.model"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre" name="java.home"/>
+ <property value="Sun Microsystems Inc." name="java.specification.vendor"/>
+ <property value="en" name="user.language"/>
+ <property value="sun.awt.windows.WToolkit" name="awt.toolkit"/>
+ <property value="mixed mode" name="java.vm.info"/>
+ <property value="1.5.0_06" name="java.version"/>
+ <property value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\ext" name="java.ext.dirs"/>
+ <property
+ value="c:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\i18n.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\jce.jar;c:\Program Files\Java\jdk1.5.0_06\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.5.0_06\jre\classes"
+ name="sun.boot.class.path"/>
+ <property value="Sun Microsystems Inc." name="java.vendor"/>
+ <property value="c:\apps\maven-2.0.5-SNAPSHOT" name="maven.home"/>
+ <property value="C:\Documents and Settings\csanchez\.m2\repository" name="localRepository"/>
+ <property value="\" name="file.separator"/>
+ <property value="http://java.sun.com/cgi-bin/bugreport.cgi" name="java.vendor.url.bug"/>
+ <property value="little" name="sun.cpu.endian"/>
+ <property value="UnicodeLittle" name="sun.io.unicode.encoding"/>
+ <property value="windows" name="sun.desktop"/>
+ <property value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86" name="sun.cpu.isalist"/>
+ </properties>
+ <testcase time="0" name="test1"/>
+ <testcase time="0" name="test2"/>
+ <testcase time="0" name="test3"/>
+ <testcase time="0" name="test4"/>
+ <testcase time="0" name="test5"/>
+ <testcase name="test7"/>
+ <testcase name="testResults"/>
+ <testcase time="0.5" name="test6"/>
+</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml b/surefire-report-parser/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
new file mode 100644
index 0000000..31f7ea5
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="0" skipped="0" tests="0" time="0" failures="0" name="classWithNoTests.NoMethodsTestCase">
+ <properties>
+ <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/>
+ <property value="C:\devtools\jdk1.5.0_12\jre\bin" name="sun.boot.library.path"/>
+ <property value="1.5.0_12-b04" name="java.vm.version"/>
+ <property value="Sun Microsystems Inc." name="java.vm.vendor"/>
+ <property value="http://java.sun.com/" name="java.vendor.url"/>
+ <property value=";" name="path.separator"/>
+ <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/>
+ <property value="sun.io" name="file.encoding.pkg"/>
+ <property value="US" name="user.country"/>
+ <property value="SUN_STANDARD" name="sun.java.launcher"/>
+ <property value="Service Pack 2" name="sun.os.patch.level"/>
+ <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/>
+ <property
+ value="C:\svn\maven\trunks\surefire\surefire-integration-tests\src\test\resources\default-configuration-classWithNoTests"
+ name="user.dir"/>
+ <property value="1.5.0_12-b04" name="java.runtime.version"/>
+ <property value="sun.awt.Win32GraphicsEnvironment" name="java.awt.graphicsenv"/>
+ <property
+ value="C:\svn\maven\trunks\surefire\surefire-integration-tests\src\test\resources\default-configuration-classWithNoTests"
+ name="basedir"/>
+ <property value="C:\devtools\jdk1.5.0_12\jre\lib\endorsed" name="java.endorsed.dirs"/>
+ <property value="x86" name="os.arch"/>
+ <property value="C:\DOCUME~1\DAN~1.FAB\LOCALS~1\Temp\" name="java.io.tmpdir"/>
+ <property value="
+" name="line.separator"/>
+ <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/>
+ <property value="" name="user.variant"/>
+ <property value="Windows XP" name="os.name"/>
+ <property value="C:\devtools\maven-2.0.8\bin\m2.conf" name="classworlds.conf"/>
+ <property value="Cp1252" name="sun.jnu.encoding"/>
+ <property
+ value="C:\devtools\jdk1.5.0_12\bin;.;C:\WINDOWS\system32;C:\WINDOWS;c:\devtools\apache-ant-1.7.0\bin;C:\Python25;C:\Perl\bin;C:\devtools\php-5.2.3\;c:\devtools\ruby-1.8.6-25\bin;C:\devtools\jdk1.5.0_12\bin;C:\devtools\maven-2.0.8\bin;c:\dan\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IDM Computer Solutions\UltraEdit-32;C:\Program Files\Subversion\bin;C:\Program Files\cvsnt;C:\Program Files\GNU\GnuPG\pub;c:\cygwin\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\Program Files\PostgreSQL\8.2\bin;C:\Program Files\Perforce;"
+ name="java.library.path"/>
+ <property
+ value="C:\svn\maven\trunks\surefire\surefire-integration-tests\src\test\resources\default-configuration-classWithNoTests\target\test-classes;C:\svn\maven\trunks\surefire\surefire-integration-tests\src\test\resources\default-configuration-classWithNoTests\target\classes;c:\weirdlocalrepo\junit\junit\3.8.1\junit-3.8.1.jar;"
+ name="surefire.test.class.path"/>
+ <property value="Java Platform API Specification" name="java.specification.name"/>
+ <property value="49.0" name="java.class.version"/>
+ <property value="HotSpot Client Compiler" name="sun.management.compiler"/>
+ <property value="5.1" name="os.version"/>
+ <property value="C:\Documents and Settings\dan.fabulich" name="user.home"/>
+ <property value="America/Los_Angeles" name="user.timezone"/>
+ <property value="sun.awt.windows.WPrinterJob" name="java.awt.printerjob"/>
+ <property value="1.5" name="java.specification.version"/>
+ <property value="Cp1252" name="file.encoding"/>
+ <property value="dan.fabulich" name="user.name"/>
+ <property value="C:\devtools\maven-2.0.8\boot\classworlds-1.1.jar" name="java.class.path"/>
+ <property value="1.0" name="java.vm.specification.version"/>
+ <property value="32" name="sun.arch.data.model"/>
+ <property value="C:\devtools\jdk1.5.0_12\jre" name="java.home"/>
+ <property value="Sun Microsystems Inc." name="java.specification.vendor"/>
+ <property value="en" name="user.language"/>
+ <property value="sun.awt.windows.WToolkit" name="awt.toolkit"/>
+ <property value="mixed mode" name="java.vm.info"/>
+ <property value="1.5.0_12" name="java.version"/>
+ <property value="C:\devtools\jdk1.5.0_12\jre\lib\ext" name="java.ext.dirs"/>
+ <property
+ value="C:\devtools\jdk1.5.0_12\jre\lib\rt.jar;C:\devtools\jdk1.5.0_12\jre\lib\i18n.jar;C:\devtools\jdk1.5.0_12\jre\lib\sunrsasign.jar;C:\devtools\jdk1.5.0_12\jre\lib\jsse.jar;C:\devtools\jdk1.5.0_12\jre\lib\jce.jar;C:\devtools\jdk1.5.0_12\jre\lib\charsets.jar;C:\devtools\jdk1.5.0_12\jre\classes"
+ name="sun.boot.class.path"/>
+ <property value="Sun Microsystems Inc." name="java.vendor"/>
+ <property value="C:\devtools\maven-2.0.8" name="maven.home"/>
+ <property value="c:\weirdlocalrepo" name="localRepository"/>
+ <property value="\" name="file.separator"/>
+ <property value="http://java.sun.com/cgi-bin/bugreport.cgi" name="java.vendor.url.bug"/>
+ <property value="little" name="sun.cpu.endian"/>
+ <property value="UnicodeLittle" name="sun.io.unicode.encoding"/>
+ <property value="windows" name="sun.desktop"/>
+ <property value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86" name="sun.cpu.isalist"/>
+ </properties>
+</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml b/surefire-report-parser/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
new file mode 100644
index 0000000..1ce1d3d
--- /dev/null
+++ b/surefire-report-parser/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
@@ -0,0 +1,200 @@
+<?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.
+ -->
+
+<testsuite errors="1" tests="8" time="0.201" failures="1" name="com.shape.CircleTest">
+ <properties>
+ <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/>
+ <property value="c:\japps\jdk1.5.0_04\jre\bin" name="sun.boot.library.path"/>
+ <property value="1.5.0_04-b05" name="java.vm.version"/>
+ <property value="Sun Microsystems Inc." name="java.vm.vendor"/>
+ <property value="http://java.sun.com/" name="java.vendor.url"/>
+ <property value=";" name="path.separator"/>
+ <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/>
+ <property value="sun.io" name="file.encoding.pkg"/>
+ <property value="US" name="user.country"/>
+ <property value="Service Pack 2" name="sun.os.patch.level"/>
+ <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/>
+ <property value="C:\JAppsCode\mergere-maven\plugins\sample-projects\junit-report-tester" name="user.dir"/>
+ <property value="1.5.0_04-b05" name="java.runtime.version"/>
+ <property value="sun.awt.Win32GraphicsEnvironment" name="java.awt.graphicsenv"/>
+ <property value="C:\JAppsCode\mergere-maven\plugins\sample-projects\junit-report-tester" name="basedir"/>
+ <property value="c:\japps\jdk1.5.0_04\jre\lib\endorsed" name="java.endorsed.dirs"/>
+ <property value="x86" name="os.arch"/>
+ <property value="C:\DOCUME~1\Jontri\LOCALS~1\Temp\" name="java.io.tmpdir"/>
+ <property value="
+" name="line.separator"/>
+ <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/>
+ <property value="" name="user.variant"/>
+ <property value="Windows XP" name="os.name"/>
+ <property value="C:\JApps\maven-2.0-beta-1\bin\m2.conf" name="classworlds.conf"/>
+ <property value="Cp1252" name="sun.jnu.encoding"/>
+ <property
+ value="c:\japps\jdk1.5.0_04\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\JApps\maven-2.0-beta-1\bin;C:\JApps\maven-1.0.2\bin;c:\BatchFile;C:\Program Files\cvsnt;C:\JApps\svn-1.1.4\bin;C:\JApps\ant-1.6.2\bin;"
+ name="java.library.path"/>
+ <property value="Java Platform API Specification" name="java.specification.name"/>
+ <property value="49.0" name="java.class.version"/>
+ <property value="HotSpot Client Compiler" name="sun.management.compiler"/>
+ <property value="5.1" name="os.version"/>
+ <property value="C:\Documents and Settings\Jontri" name="user.home"/>
+ <property value="Asia/Shanghai" name="user.timezone"/>
+ <property value="sun.awt.windows.WPrinterJob" name="java.awt.printerjob"/>
+ <property value="Cp1252" name="file.encoding"/>
+ <property value="1.5" name="java.specification.version"/>
+ <property value="Jontri" name="user.name"/>
+ <property value="C:\JApps\maven-2.0-beta-1\core\boot\classworlds-1.1-alpha-2.jar" name="java.class.path"/>
+ <property value="1.0" name="java.vm.specification.version"/>
+ <property value="32" name="sun.arch.data.model"/>
+ <property value="c:\japps\jdk1.5.0_04\jre" name="java.home"/>
+ <property value="Sun Microsystems Inc." name="java.specification.vendor"/>
+ <property value="en" name="user.language"/>
+ <property value="sun.awt.windows.WToolkit" name="awt.toolkit"/>
+ <property value="mixed mode, sharing" name="java.vm.info"/>
+ <property value="1.5.0_04" name="java.version"/>
+ <property value="c:\japps\jdk1.5.0_04\jre\lib\ext" name="java.ext.dirs"/>
+ <property
+ value="c:\japps\jdk1.5.0_04\jre\lib\rt.jar;c:\japps\jdk1.5.0_04\jre\lib\i18n.jar;c:\japps\jdk1.5.0_04\jre\lib\sunrsasign.jar;c:\japps\jdk1.5.0_04\jre\lib\jsse.jar;c:\japps\jdk1.5.0_04\jre\lib\jce.jar;c:\japps\jdk1.5.0_04\jre\lib\charsets.jar;c:\japps\jdk1.5.0_04\jre\classes"
+ name="sun.boot.class.path"/>
+ <property value="Sun Microsystems Inc." name="java.vendor"/>
+ <property value="C:\JApps\maven-2.0-beta-1" name="maven.home"/>
+ <property value="C:\Documents and Settings\Jontri\.m2\repository" name="localRepository"/>
+ <property value="\" name="file.separator"/>
+ <property value="http://java.sun.com/cgi-bin/bugreport.cgi" name="java.vendor.url.bug"/>
+ <property value="little" name="sun.cpu.endian"/>
+ <property value="UnicodeLittle" name="sun.io.unicode.encoding"/>
+ <property value="windows" name="sun.desktop"/>
+ <property value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86" name="sun.cpu.isalist"/>
+ </properties>
+ <testcase time="0.01" name="testX"/>
+ <testcase time="0" name="testY"/>
+ <testcase time="0" name="testXY"/>
+ <testcase time="0.01" name="testRadius">
+ <failure type="junit.framework.AssertionFailedError" message="expected:<20> but was:<10>">
+ junit.framework.AssertionFailedError: expected:<20> but was:<10>
+ at junit.framework.Assert.fail(Assert.java:47)
+ at junit.framework.Assert.failNotEquals(Assert.java:282)
+ at junit.framework.Assert.assertEquals(Assert.java:64)
+ at junit.framework.Assert.assertEquals(Assert.java:201)
+ at junit.framework.Assert.assertEquals(Assert.java:207)
+ at com.shape.CircleTest.testRadius(CircleTest.java:34)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at junit.framework.TestCase.runTest(TestCase.java:154)
+ at junit.framework.TestCase.runBare(TestCase.java:127)
+ at junit.framework.TestResult$1.protect(TestResult.java:106)
+ at junit.framework.TestResult.runProtected(TestResult.java:124)
+ at junit.framework.TestResult.run(TestResult.java:109)
+ at junit.framework.TestCase.run(TestCase.java:118)
+ at junit.framework.TestSuite.runTest(TestSuite.java:208)
+ at junit.framework.TestSuite.run(TestSuite.java:203)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:246)
+ at org.codehaus.surefire.battery.JUnitBattery.execute(JUnitBattery.java:220)
+ at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:203)
+ at org.codehaus.surefire.Surefire.run(Surefire.java:152)
+ at org.codehaus.surefire.Surefire.run(Surefire.java:76)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.surefire.SurefireBooter.run(SurefireBooter.java:104)
+ at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:241)
+ at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:357)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:479)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:452)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:438)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:131)
+ at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
+ at org.apache.maven.cli.MavenCli.main(MavenCli.java:316)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
+ at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
+ at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
+ at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
+ </failure>
+ <system-out>[OUT] : Getting the diameter
+ </system-out>
+ <system-err>[ERR] : Getting the Circumference
+ </system-err>
+ </testcase>
+ <testcase time="0.02" name="testProperties">
+ <error type="java.lang.ArithmeticException" message="/ by zero">java.lang.ArithmeticException: / by zero
+ at com.shape.CircleTest.testProperties(CircleTest.java:44)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at junit.framework.TestCase.runTest(TestCase.java:154)
+ at junit.framework.TestCase.runBare(TestCase.java:127)
+ at junit.framework.TestResult$1.protect(TestResult.java:106)
+ at junit.framework.TestResult.runProtected(TestResult.java:124)
+ at junit.framework.TestResult.run(TestResult.java:109)
+ at junit.framework.TestCase.run(TestCase.java:118)
+ at junit.framework.TestSuite.runTest(TestSuite.java:208)
+ at junit.framework.TestSuite.run(TestSuite.java:203)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:246)
+ at org.codehaus.surefire.battery.JUnitBattery.execute(JUnitBattery.java:220)
+ at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:203)
+ at org.codehaus.surefire.Surefire.run(Surefire.java:152)
+ at org.codehaus.surefire.Surefire.run(Surefire.java:76)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.surefire.SurefireBooter.run(SurefireBooter.java:104)
+ at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:241)
+ at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:357)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:479)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:452)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:438)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
+ at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:131)
+ at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
+ at org.apache.maven.cli.MavenCli.main(MavenCli.java:316)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:585)
+ at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
+ at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
+ at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
+ at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
+ </error>
+ <system-out>[OUT] : Getting the diameter
+ </system-out>
+ <system-err>[ERR] : Getting the Circumference
+ </system-err>
+ </testcase>
+ <testcase time="0" name="testPI"/>
+ <testcase time="0.01" name="testCircumference"/>
+ <testcase time="0" name="testDiameter"/>
+</testsuite>
\ No newline at end of file