Tuesday, January 22, 2013

Significant Surefire release


This has a lot of long-awaited fixes in it.

copy/pasted from the email announcement:



The Maven team is pleased to announce the release of the Maven
Surefire Plugin, version 2.13

This release includes the maven-surefire-plugin, which executes the
unit tests of an application, the maven-surefire-report-plugin, which
parses surefire/failsafe test results and renders them to DOXIA
creating the web interface version of the test results, as well as the
maven-failsafe-plugin, which executes the integration tests of an
application.

Notable changes are;
A) Much improved summary of what went wrong when tests failed
B) Reusable forks supported for parallel builds; reuserForks="true"
gives forkMode="always" on stereoids
C) Stack trace trimming now works for JUnit4.x. The itch you didn't
know you had until it was scratched.
D) Includes and excludes can be read form file.
E) Nasty thread safey issue in parallel junit 4.x when class was
annotated with @Ignore.

You should specify the version in your project's plugin configuration:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.13</version>
</plugin>


Release Notes - Maven Surefire - Version 2.13



** Bug
    * [SUREFIRE-800] - redirectTestOutputToFile is not taken into
account in all cases with JUnit47 provider
    * [SUREFIRE-842] - maven-failsafe-plugin V 2.12 conceils issue #TRUEZIP-227
    * [SUREFIRE-892] - Surefire Report Plugin crashes on failsafe-summary.xml
    * [SUREFIRE-910] - Surefire 2.12.1 fails with "The forked VM
terminated without saying properly goodbye"
    * [SUREFIRE-913] - forkMode always - RejectedExecutionException
when > 500 tests
    * [SUREFIRE-915] - runOrder=failedfirst runs new tests last
    * [SUREFIRE-916] - surefire.junit4.upgradecheck fails with
ClassCastException: java.lang.Class cannot be cast to java.lang.String
    * [SUREFIRE-918] - Phase post-integration-test not executed when
tests are timed out with option 'forkedProcessTimeoutInSeconds'
    * [SUREFIRE-920] - -Dmaven.test.failure.ignore=true isn't honored
    * [SUREFIRE-926] - Multiple Providers, last one overwrites status
of first...
    * [SUREFIRE-930] - Regression - Failsafe does not execute TestCases
    * [SUREFIRE-931] - Surefire crashes if test depends on unknown group
    * [SUREFIRE-933] - forkMode onceperthread broken after fix for
JUnit category filter with empty result
    * [SUREFIRE-937] - Test count intermittently incorrect with
parallel junit provider
    * [SUREFIRE-939] - Class level @Ignore would create incorrect
shared state for parallel junit tests
    * [SUREFIRE-940] - Maven-failsafe-plugin do not run the TestNG.xml specified
    * [SUREFIRE-942] - surefire + testng suite doesn't do anything


** Improvement
    * [SUREFIRE-561] - after running test, when tests fail, it's hard
to the find the failure reason
    * [SUREFIRE-839] - If no tests are found that would match a given
JUnit category, mvn test should not fail in multi-module project
    * [SUREFIRE-925] - All includes and excludes to be read from files
    * [SUREFIRE-927] - configFailurePolicy is not supported on
Surefire plugin though it is supported on TestNG ant task
    * [SUREFIRE-932] - Improve or remove logging of TestNG configurator
    * [SUREFIRE-935] - Implement trimStackTrace  for JUnit 4.x
    * [SUREFIRE-936] - Make it easier to see which tests fail

** New Feature
    * [SUREFIRE-751] - Support parallel/fork mode similar to
http://maven-junit-plugin.kenai.com/
    * [SUREFIRE-882] - Fork x parallel JVMs once


** Task
    * [SUREFIRE-924] - generate every Surefire artifact site in
/surefire and redirect previous
/plugins/maven-(surefire|failsafe|surefire-report)-plugin
    * [SUREFIRE-934] - Remove getLocatedClasses() and size() from TestsToRun



Enjoy,

-The Apache Maven team

No comments: