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
[3/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/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml b/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
deleted file mode 100644
index 31f7ea5..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-classWithNoTests.NoMethodsTestCase.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?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/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml b/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
deleted file mode 100644
index 1ce1d3d..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.CircleTest.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<?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
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.PointTest.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.PointTest.xml b/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.PointTest.xml
deleted file mode 100644
index 7dda584..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-com.shape.PointTest.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?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.01" failures="1" name="com.shape.PointTest">
- <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" name="testX"/>
- <testcase time="0" name="testY"/>
- <testcase time="0" name="testXY">
- <failure type="junit.framework.AssertionFailedError" message="expected:<0> but was:<1>">
- junit.framework.AssertionFailedError: expected:<0> but was:<1>
- 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.PointTest.testXY(PointTest.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.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></system-out>
- <system-err></system-err>
- </testcase>
-</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-junit.twoTestCaseSuite.WrapperTestSuite.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-junit.twoTestCaseSuite.WrapperTestSuite.xml b/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-junit.twoTestCaseSuite.WrapperTestSuite.xml
deleted file mode 100644
index cd94387..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/TEST-junit.twoTestCaseSuite.WrapperTestSuite.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="0" skipped="0" tests="2" time="0.094" failures="0" name="junit.twoTestCaseSuite.WrapperTestSuite">
- <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\junit-twoTestCaseSuite"
- 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\junit-twoTestCaseSuite"
- 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\junit-twoTestCaseSuite\target\test-classes;C:\svn\maven\trunks\surefire\surefire-integration-tests\src\test\resources\junit-twoTestCaseSuite\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>
- <testcase classname="junit.twoTestCaseSuite.TestTwo" time="0" name="testTwo"/>
- <testcase classname="junit.twoTestCaseSuite.BasicTest" time="0" name="testSetUp"/>
-</testsuite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/maven-surefire-report-plugin/src/test/resources/test-reports/com.shape.CircleTest.txt
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/com.shape.CircleTest.txt b/maven-surefire-report-plugin/src/test/resources/test-reports/com.shape.CircleTest.txt
deleted file mode 100644
index 5030dee..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/com.shape.CircleTest.txt
+++ /dev/null
@@ -1,122 +0,0 @@
--------------------------------------------------------------------------------
-Battery: com.shape.CircleTest
--------------------------------------------------------------------------------
-testX(com.shape.CircleTest)
-testY(com.shape.CircleTest)
-testXY(com.shape.CircleTest)
-testRadius(com.shape.CircleTest)
-
-[ stdout ] ---------------------------------------------------------------
-
-
-[ stderr ] ---------------------------------------------------------------
-
-
-[ stacktrace ] -----------------------------------------------------------
-
-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.execute(JUnitBattery.java:190)
- at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:155)
- at org.codehaus.surefire.Surefire.run(Surefire.java:105)
- at org.codehaus.surefire.Surefire.run(Surefire.java:59)
- 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:83)
- at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:218)
- at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:361)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:472)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:445)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:431)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:127)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:292)
- 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)
-testProperties(com.shape.CircleTest)
-
-[ stdout ] ---------------------------------------------------------------
-
-
-[ stderr ] ---------------------------------------------------------------
-
-
-[ stacktrace ] -----------------------------------------------------------
-
-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.execute(JUnitBattery.java:190)
- at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:155)
- at org.codehaus.surefire.Surefire.run(Surefire.java:105)
- at org.codehaus.surefire.Surefire.run(Surefire.java:59)
- 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:83)
- at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:218)
- at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:361)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:472)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:445)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:431)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:127)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:292)
- 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)
-testPI(com.shape.CircleTest)
-testCircumference(com.shape.CircleTest)
-testDiameter(com.shape.CircleTest)
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/maven-surefire-report-plugin/src/test/resources/test-reports/com.shapeclone.CircleTest.txt
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/test/resources/test-reports/com.shapeclone.CircleTest.txt b/maven-surefire-report-plugin/src/test/resources/test-reports/com.shapeclone.CircleTest.txt
deleted file mode 100644
index 90e3239..0000000
--- a/maven-surefire-report-plugin/src/test/resources/test-reports/com.shapeclone.CircleTest.txt
+++ /dev/null
@@ -1,122 +0,0 @@
--------------------------------------------------------------------------------
-Battery: com.shapeclone.CircleTest
--------------------------------------------------------------------------------
-testX(com.shapeclone.CircleTest)
-testY(com.shapeclone.CircleTest)
-testXY(com.shapeclone.CircleTest)
-testRadius(com.shapeclone.CircleTest)
-
-[ stdout ] ---------------------------------------------------------------
-
-
-[ stderr ] ---------------------------------------------------------------
-
-
-[ stacktrace ] -----------------------------------------------------------
-
-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.shapeclone.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.execute(JUnitBattery.java:190)
- at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:155)
- at org.codehaus.surefire.Surefire.run(Surefire.java:105)
- at org.codehaus.surefire.Surefire.run(Surefire.java:59)
- 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:83)
- at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:218)
- at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:361)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:472)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:445)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:431)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:127)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:292)
- 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)
-testProperties(com.shapeclone.CircleTest)
-
-[ stdout ] ---------------------------------------------------------------
-
-
-[ stderr ] ---------------------------------------------------------------
-
-
-[ stacktrace ] -----------------------------------------------------------
-
-java.lang.ArithmeticException: / by zero
- at com.shapeclone.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.execute(JUnitBattery.java:190)
- at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:155)
- at org.codehaus.surefire.Surefire.run(Surefire.java:105)
- at org.codehaus.surefire.Surefire.run(Surefire.java:59)
- 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:83)
- at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:218)
- at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:361)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:472)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:445)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:431)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:127)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:186)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:292)
- 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)
-testPI(com.shapeclone.CircleTest)
-testCircumference(com.shapeclone.CircleTest)
-testDiameter(com.shapeclone.CircleTest)
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c29ada6..0fda14a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,6 +89,7 @@
<module>surefire-grouper</module>
<module>surefire-providers</module>
<module>maven-surefire-common</module>
+ <module>surefire-report-parser</module>
<module>maven-surefire-plugin</module>
<module>maven-failsafe-plugin</module>
<module>maven-surefire-report-plugin</module>
@@ -112,7 +113,7 @@
<properties>
<mavenVersion>2.0.9</mavenVersion>
- <shadedVersion>2.13</shadedVersion>
+ <shadedVersion>2.12.4</shadedVersion>
<mavenPluginPluginVersion>3.2</mavenPluginPluginVersion>
@@ -158,6 +159,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${mavenVersion}</version>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/pom.xml b/surefire-integration-tests/pom.xml
index 8df007e..1fb0fcc 100644
--- a/surefire-integration-tests/pom.xml
+++ b/surefire-integration-tests/pom.xml
@@ -43,8 +43,8 @@
<dependencies>
<dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-report-parser</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml b/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
index f42d505..1056c79 100644
--- a/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
+++ b/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
@@ -48,6 +48,11 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.5.1</version>
+ </plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-report-parser/pom.xml b/surefire-report-parser/pom.xml
new file mode 100644
index 0000000..5d1c8c7
--- /dev/null
+++ b/surefire-report-parser/pom.xml
@@ -0,0 +1,94 @@
+<?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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire</artifactId>
+ <version>2.14-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>surefire-report-parser</artifactId>
+
+ <name>Surefire Report Parser</name>
+ <description>Parses report output files from surefire</description>
+
+ <prerequisites>
+ <maven>2.0.9</maven>
+ </prerequisites>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-shadefire</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <!-- Do we need shading here ?? -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <minimizeJar>true</minimizeJar>
+ <artifactSet>
+ <includes>
+ <include>org.apache.maven.shared:maven-shared-utils</include>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>org.apache.maven.shared</pattern>
+ <shadedPattern>org.apache.maven.surefire.shade.org.apache.maven.shared</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestCase.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestCase.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestCase.java
new file mode 100644
index 0000000..3203f49
--- /dev/null
+++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestCase.java
@@ -0,0 +1,111 @@
+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.HashMap;
+import java.util.Map;
+
+/**
+ *
+ */
+public class ReportTestCase
+{
+ private String fullClassName;
+
+ private String className;
+
+ private String fullName;
+
+ private String name;
+
+ private float time;
+
+ private Map<String, Object> failure;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getFullClassName()
+ {
+ return fullClassName;
+ }
+
+ public void setFullClassName( String name )
+ {
+ this.fullClassName = name;
+ }
+
+ public String getClassName()
+ {
+ return className;
+ }
+
+ public void setClassName( String name )
+ {
+ this.className = name;
+ }
+
+ public float getTime()
+ {
+ return time;
+ }
+
+ public void setTime( float time )
+ {
+ this.time = time;
+ }
+
+ public Map<String, Object> getFailure()
+ {
+ return failure;
+ }
+
+ public String getFullName()
+ {
+ return fullName;
+ }
+
+ public void setFullName( String fullName )
+ {
+ this.fullName = fullName;
+ }
+
+ public void addFailure( String message, String type )
+ {
+ failure = new HashMap<String, Object>();
+ failure.put( "message", message );
+ failure.put( "type", type );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return fullName;
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestSuite.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestSuite.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestSuite.java
new file mode 100644
index 0000000..2bd6513
--- /dev/null
+++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/ReportTestSuite.java
@@ -0,0 +1,167 @@
+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;
+
+/**
+ *
+ */
+public class ReportTestSuite
+{
+ private List<ReportTestCase> testCases = new ArrayList<ReportTestCase>();
+
+ private int numberOfErrors;
+
+ private int numberOfFailures;
+
+ private int numberOfSkipped;
+
+ private Integer numberOfTests;
+
+ private String name;
+
+ private String fullClassName;
+
+ private String packageName;
+
+ private float timeElapsed;
+
+ public List<ReportTestCase> getTestCases()
+ {
+ return this.testCases;
+ }
+
+ public int getNumberOfErrors()
+ {
+ return numberOfErrors;
+ }
+
+ public void setNumberOfErrors( int numberOfErrors )
+ {
+ this.numberOfErrors = numberOfErrors;
+ }
+
+ public int getNumberOfFailures()
+ {
+ return numberOfFailures;
+ }
+
+ public void setNumberOfFailures( int numberOfFailures )
+ {
+ this.numberOfFailures = numberOfFailures;
+ }
+
+ public int getNumberOfSkipped()
+ {
+ return numberOfSkipped;
+ }
+
+ public void setNumberOfSkipped( int numberOfSkipped )
+ {
+ this.numberOfSkipped = numberOfSkipped;
+ }
+
+ public int getNumberOfTests()
+ {
+ if ( numberOfTests != null )
+ {
+ return numberOfTests;
+ }
+ if ( testCases != null )
+ {
+ return testCases.size();
+ }
+ return 0;
+ }
+
+ public void setNumberOfTests( int numberOfTests )
+ {
+ this.numberOfTests = numberOfTests;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getFullClassName()
+ {
+ return fullClassName;
+ }
+
+ public void setFullClassName( String fullClassName )
+ {
+ this.fullClassName = fullClassName;
+ int lastDotPosition = fullClassName.lastIndexOf( "." );
+
+ name = fullClassName.substring( lastDotPosition + 1, fullClassName.length() );
+
+ if ( lastDotPosition < 0 )
+ {
+ /* no package name */
+ packageName = "";
+ }
+ else
+ {
+ packageName = fullClassName.substring( 0, lastDotPosition );
+ }
+ }
+
+ public String getPackageName()
+ {
+ return packageName;
+ }
+
+ public void setPackageName( String packageName )
+ {
+ this.packageName = packageName;
+ }
+
+ public float getTimeElapsed()
+ {
+ return this.timeElapsed;
+ }
+
+ public void setTimeElapsed( float timeElapsed )
+ {
+ this.timeElapsed = timeElapsed;
+ }
+
+ public void setTestCases( List<ReportTestCase> testCases )
+ {
+ this.testCases = testCases;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return fullClassName + " [" + getNumberOfTests() + "/" + getNumberOfFailures() + "/" + getNumberOfErrors() + "/"
+ + getNumberOfSkipped() + "]";
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
new file mode 100644
index 0000000..feba245
--- /dev/null
+++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
@@ -0,0 +1,274 @@
+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.IOException;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import org.apache.maven.reporting.MavenReportException;
+import org.apache.maven.shared.utils.StringUtils;
+import org.apache.maven.shared.utils.io.DirectoryScanner;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.xml.sax.SAXException;
+
+/**
+ *
+ */
+public class SurefireReportParser
+{
+ private static final String INCLUDES = "*.xml";
+
+ private static final String EXCLUDES = "*.txt, testng-failed.xml, testng-failures.xml, testng-results.xml, failsafe-summary*.xml";
+
+ private NumberFormat numberFormat = NumberFormat.getInstance();
+
+ private List<File> reportsDirectories;
+
+ private final List<ReportTestSuite> testSuites = new ArrayList<ReportTestSuite>();
+
+ private static final int PCENT = 100;
+
+ public SurefireReportParser()
+ {
+ }
+
+ public SurefireReportParser( List<File> reportsDirectoriesFiles, Locale locale )
+ {
+ this.reportsDirectories = reportsDirectoriesFiles;
+
+ setLocale( locale );
+ }
+
+ public List<ReportTestSuite> parseXMLReportFiles()
+ throws MavenReportException
+ {
+ List<File> xmlReportFileList = new ArrayList<File>();
+ for ( File reportsDirectory : reportsDirectories )
+ {
+ if ( !reportsDirectory.exists() )
+ {
+ continue;
+ }
+ String[] xmlReportFiles = getIncludedFiles( reportsDirectory, INCLUDES, EXCLUDES );
+ for ( String xmlReportFile : xmlReportFiles )
+ {
+ File xmlReport = new File( reportsDirectory, xmlReportFile );
+ xmlReportFileList.add( xmlReport );
+ }
+ }
+ TestSuiteXmlParser parser = new TestSuiteXmlParser();
+ for ( File aXmlReportFileList : xmlReportFileList )
+ {
+ Collection<ReportTestSuite> suites;
+
+ try
+ {
+ suites = parser.parse( aXmlReportFileList.getAbsolutePath() );
+ }
+ catch ( ParserConfigurationException e )
+ {
+ throw new MavenReportException( "Error setting up parser for JUnit XML report", e );
+ }
+ catch ( SAXException e )
+ {
+ throw new MavenReportException( "Error parsing JUnit XML report " + aXmlReportFileList, e );
+ }
+ catch ( IOException e )
+ {
+ throw new MavenReportException( "Error reading JUnit XML report " + aXmlReportFileList, e );
+ }
+
+ testSuites.addAll( suites );
+ }
+
+ return testSuites;
+ }
+
+ protected String parseTestSuiteName( String lineString )
+ {
+ return lineString.substring( lineString.lastIndexOf( "." ) + 1, lineString.length() );
+ }
+
+ protected String parseTestSuitePackageName( String lineString )
+ {
+ return lineString.substring( lineString.indexOf( ":" ) + 2, lineString.lastIndexOf( "." ) );
+ }
+
+ protected String parseTestCaseName( String lineString )
+ {
+ return lineString.substring( 0, lineString.indexOf( "(" ) );
+ }
+
+ public Map<String, String> getSummary( List<ReportTestSuite> suites )
+ {
+ Map<String, String> totalSummary = new HashMap<String, String>();
+
+ int totalNumberOfTests = 0;
+
+ int totalNumberOfErrors = 0;
+
+ int totalNumberOfFailures = 0;
+
+ int totalNumberOfSkipped = 0;
+
+ float totalElapsedTime = 0.0f;
+
+ for ( ReportTestSuite suite : suites )
+ {
+ totalNumberOfTests += suite.getNumberOfTests();
+
+ totalNumberOfErrors += suite.getNumberOfErrors();
+
+ totalNumberOfFailures += suite.getNumberOfFailures();
+
+ totalNumberOfSkipped += suite.getNumberOfSkipped();
+
+ totalElapsedTime += suite.getTimeElapsed();
+ }
+
+ String totalPercentage =
+ computePercentage( totalNumberOfTests, totalNumberOfErrors, totalNumberOfFailures, totalNumberOfSkipped );
+
+ totalSummary.put( "totalTests", Integer.toString( totalNumberOfTests ) );
+
+ totalSummary.put( "totalErrors", Integer.toString( totalNumberOfErrors ) );
+
+ totalSummary.put( "totalFailures", Integer.toString( totalNumberOfFailures ) );
+
+ totalSummary.put( "totalSkipped", Integer.toString( totalNumberOfSkipped ) );
+
+ totalSummary.put( "totalElapsedTime", numberFormat.format( totalElapsedTime ) );
+
+ totalSummary.put( "totalPercentage", totalPercentage );
+
+ return totalSummary;
+ }
+
+ public void setReportsDirectory( File reportsDirectory )
+ {
+ this.reportsDirectories = Collections.singletonList( reportsDirectory );
+ }
+
+ public final void setLocale( Locale locale )
+ {
+ numberFormat = NumberFormat.getInstance( locale );
+ }
+
+ public NumberFormat getNumberFormat()
+ {
+ return this.numberFormat;
+ }
+
+ public Map<String, List<ReportTestSuite>> getSuitesGroupByPackage( List<ReportTestSuite> testSuitesList )
+ {
+ Map<String, List<ReportTestSuite>> suitePackage = new HashMap<String, List<ReportTestSuite>>();
+
+ for ( ReportTestSuite suite : testSuitesList )
+ {
+ List<ReportTestSuite> suiteList = new ArrayList<ReportTestSuite>();
+
+ if ( suitePackage.get( suite.getPackageName() ) != null )
+ {
+ suiteList = suitePackage.get( suite.getPackageName() );
+ }
+
+ suiteList.add( suite );
+
+ suitePackage.put( suite.getPackageName(), suiteList );
+ }
+
+ return suitePackage;
+ }
+
+ public String computePercentage( int tests, int errors, int failures, int skipped )
+ {
+ float percentage;
+ if ( tests == 0 )
+ {
+ percentage = 0;
+ }
+ else
+ {
+ percentage = ( (float) ( tests - errors - failures - skipped ) / (float) tests ) * PCENT;
+ }
+
+ return numberFormat.format( percentage );
+ }
+
+ public List<ReportTestCase> getFailureDetails( List<ReportTestSuite> testSuitesList )
+ {
+ List<ReportTestCase> failureDetailList = new ArrayList<ReportTestCase>();
+
+ for ( ReportTestSuite suite : testSuitesList )
+ {
+ List<ReportTestCase> testCaseList = suite.getTestCases();
+
+ if ( testCaseList != null )
+ {
+ for ( ReportTestCase tCase : testCaseList )
+ {
+
+ if ( tCase.getFailure() != null )
+ {
+ failureDetailList.add( tCase );
+ }
+ }
+ }
+ }
+
+ return failureDetailList;
+ }
+
+ /**
+ * Returns {@code true} if the specified directory contains at least one report file.
+ *
+ * @param directory the directory
+ * @return {@code true} if the specified directory contains at least one report file.
+ */
+ public static boolean hasReportFiles( File directory )
+ {
+ return directory != null && directory.isDirectory()
+ && getIncludedFiles( directory, INCLUDES, EXCLUDES ).length > 0;
+ }
+
+ private static String[] getIncludedFiles( File directory, String includes, String excludes )
+ {
+ DirectoryScanner scanner = new DirectoryScanner();
+
+ scanner.setBasedir( directory );
+
+ scanner.setIncludes( StringUtils.split( includes, "," ) );
+
+ scanner.setExcludes( StringUtils.split( excludes, "," ) );
+
+ scanner.scan();
+
+ return scanner.getIncludedFiles();
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4dfdb08c/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
----------------------------------------------------------------------
diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
new file mode 100644
index 0000000..3f600b2
--- /dev/null
+++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java
@@ -0,0 +1,310 @@
+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.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ *
+ */
+public class TestSuiteXmlParser
+ extends DefaultHandler
+{
+ private ReportTestSuite defaultSuite;
+
+ private ReportTestSuite currentSuite;
+
+ private Map<String, ReportTestSuite> classesToSuites;
+
+ private final NumberFormat numberFormat = NumberFormat.getInstance( Locale.ENGLISH );
+
+ /**
+ * @noinspection StringBufferField
+ */
+ private StringBuffer currentElement;
+
+ private ReportTestCase testCase;
+
+ private boolean valid;
+
+ public Collection<ReportTestSuite> parse( String xmlPath )
+ throws ParserConfigurationException, SAXException, IOException
+ {
+
+ File f = new File( xmlPath );
+
+ FileInputStream fileInputStream = new FileInputStream( f );
+
+ InputStreamReader inputStreamReader = new InputStreamReader( fileInputStream, "UTF-8" );
+
+ try
+ {
+ return parse( inputStreamReader );
+ }
+ finally
+ {
+ inputStreamReader.close();
+ fileInputStream.close();
+ }
+ }
+
+ public Collection<ReportTestSuite> parse( InputStreamReader stream )
+ throws ParserConfigurationException, SAXException, IOException
+ {
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+
+ SAXParser saxParser = factory.newSAXParser();
+
+ valid = true;
+
+ classesToSuites = new HashMap<String, ReportTestSuite>();
+
+ saxParser.parse( new InputSource( stream ), this );
+
+ if ( currentSuite != defaultSuite )
+ { // omit the defaultSuite if it's empty and there are alternatives
+ if ( defaultSuite.getNumberOfTests() == 0 )
+ {
+ classesToSuites.remove( defaultSuite.getFullClassName() );
+ }
+ }
+
+ return classesToSuites.values();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void startElement( String uri, String localName, String qName, Attributes attributes )
+ throws SAXException
+ {
+ if ( !valid )
+ {
+ return;
+ }
+ try
+ {
+ if ( "testsuite".equals( qName ) )
+ {
+ currentSuite = defaultSuite = new ReportTestSuite();
+
+ try
+ {
+ Number time = numberFormat.parse( attributes.getValue( "time" ) );
+
+ defaultSuite.setTimeElapsed( time.floatValue() );
+ }
+ catch ( NullPointerException npe )
+ {
+ System.err.println( "WARNING: no time attribute found on testsuite element" );
+ }
+
+ //check if group attribute is existing
+ if ( attributes.getValue( "group" ) != null && !"".equals( attributes.getValue( "group" ) ) )
+ {
+ String packageName = attributes.getValue( "group" );
+ String name = attributes.getValue( "name" );
+
+ defaultSuite.setFullClassName( packageName + "." + name );
+ }
+ else
+ {
+ String fullClassName = attributes.getValue( "name" );
+ defaultSuite.setFullClassName( fullClassName );
+ }
+
+ classesToSuites.put( defaultSuite.getFullClassName(), defaultSuite );
+ }
+ else if ( "testcase".equals( qName ) )
+ {
+ currentElement = new StringBuffer();
+
+ testCase = new ReportTestCase();
+
+ testCase.setName( attributes.getValue( "name" ) );
+
+ String fullClassName = attributes.getValue( "classname" );
+
+ // if the testcase declares its own classname, it may need to belong to its own suite
+ if ( fullClassName != null )
+ {
+ currentSuite = classesToSuites.get( fullClassName );
+ if ( currentSuite == null )
+ {
+ currentSuite = new ReportTestSuite();
+ currentSuite.setFullClassName( fullClassName );
+ classesToSuites.put( fullClassName, currentSuite );
+ }
+ }
+
+ testCase.setFullClassName( currentSuite.getFullClassName() );
+ testCase.setClassName( currentSuite.getName() );
+ testCase.setFullName( currentSuite.getFullClassName() + "." + testCase.getName() );
+
+ String timeAsString = attributes.getValue( "time" );
+
+ Number time = 0;
+
+ if ( timeAsString != null )
+ {
+ time = numberFormat.parse( timeAsString );
+ }
+
+ testCase.setTime( time.floatValue() );
+
+ if ( currentSuite != defaultSuite )
+ {
+ currentSuite.setTimeElapsed( time.floatValue() + currentSuite.getTimeElapsed() );
+ }
+ }
+ else if ( "failure".equals( qName ) )
+ {
+ testCase.addFailure( attributes.getValue( "message" ), attributes.getValue( "type" ) );
+ currentSuite.setNumberOfFailures( 1 + currentSuite.getNumberOfFailures() );
+ }
+ else if ( "error".equals( qName ) )
+ {
+ testCase.addFailure( attributes.getValue( "message" ), attributes.getValue( "type" ) );
+ currentSuite.setNumberOfErrors( 1 + currentSuite.getNumberOfErrors() );
+ }
+ else if ( "skipped".equals( qName ) )
+ {
+ final String message = attributes.getValue( "message" );
+ testCase.addFailure( message != null ? message : "skipped", "skipped" );
+ currentSuite.setNumberOfSkipped( 1 + currentSuite.getNumberOfSkipped() );
+ }
+ else if ( "failsafe-summary".equals( qName ) )
+ {
+ valid = false;
+ }
+ }
+ catch ( ParseException e )
+ {
+ throw new SAXException( e.getMessage(), e );
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void endElement( String uri, String localName, String qName )
+ throws SAXException
+ {
+ if ( "testcase".equals( qName ) )
+ {
+ currentSuite.getTestCases().add( testCase );
+ }
+ else if ( "failure".equals( qName ) )
+ {
+ Map<String, Object> failure = testCase.getFailure();
+
+ failure.put( "detail", parseCause( currentElement.toString() ) );
+ }
+ else if ( "error".equals( qName ) )
+ {
+ Map<String, Object> error = testCase.getFailure();
+
+ error.put( "detail", parseCause( currentElement.toString() ) );
+ }
+ else if ( "time".equals( qName ) )
+ {
+ try
+ {
+ Number time = numberFormat.parse( currentElement.toString() );
+ defaultSuite.setTimeElapsed( time.floatValue() );
+ }
+ catch ( ParseException e )
+ {
+ throw new SAXException( e.getMessage(), e );
+ }
+ }
+ // TODO extract real skipped reasons
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void characters( char[] ch, int start, int length )
+ throws SAXException
+ {
+ if ( !valid )
+ {
+ return;
+ }
+ String s = new String( ch, start, length );
+
+ if ( !"".equals( s.trim() ) )
+ {
+ currentElement.append( s );
+ }
+ }
+
+ private List<String> parseCause( String detail )
+ {
+ String fullName = testCase.getFullName();
+ String name = fullName.substring( fullName.lastIndexOf( "." ) + 1 );
+ return parseCause( detail, name );
+ }
+
+ private List<String> parseCause( String detail, String compareTo )
+ {
+ StringTokenizer stringTokenizer = new StringTokenizer( detail, "\n" );
+ List<String> parsedDetail = new ArrayList<String>( stringTokenizer.countTokens() );
+
+ while ( stringTokenizer.hasMoreTokens() )
+ {
+ String lineString = stringTokenizer.nextToken().trim();
+ parsedDetail.add( lineString );
+ if ( lineString.contains( compareTo ) )
+ {
+ break;
+ }
+ }
+
+ return parsedDetail;
+ }
+
+ public boolean isValid()
+ {
+ return valid;
+ }
+}