[SUREFIRE-1658] TCP/IP Channel for forked Surefire JVM. Extensions API and SPI. Polymorphism for remote and local process communication.

added TCP alternative in ConsoleOutputIT

extended few tests with a new alternative of forkNode: TCP

documentation and Javadoc

fix after Enrico's findings in external project

fixed the IT 735

fixed the IT 735

improved performance from 320s to 54s.

investigated tests

E2E test for TCP

fixed performance problem in TCP/Pipes communication (we do NOT flush every time, used buffered channels, used Async Sockets instead of blocking NIO Sockets)

sendExitError

fixed Surefire817SystemExitIT

E2ETest performance test

improved coverage in new code

removed unused methods in CommandReader.java

name of the thread ends with dash "-"

don't print ClosedChannelException in dump file on exit

keeping backwards compatibility - printing corrupted stream
196 files changed
tree: 08324d9b244ede7a33806f2d1ff0289832bef951
  1. .github/
  2. maven-failsafe-plugin/
  3. maven-surefire-common/
  4. maven-surefire-plugin/
  5. maven-surefire-report-plugin/
  6. src/
  7. surefire-api/
  8. surefire-booter/
  9. surefire-extensions-api/
  10. surefire-extensions-spi/
  11. surefire-grouper/
  12. surefire-its/
  13. surefire-logger-api/
  14. surefire-providers/
  15. surefire-report-parser/
  16. surefire-shadefire/
  17. surefire-shared-utils/
  18. .asf.yaml
  19. .editorconfig
  20. .gitattributes
  21. .gitignore
  22. .travis.yml
  23. CONTRIBUTING.md
  24. deploySite.sh
  25. Jenkinsfile
  26. pom.xml
  27. README.md
README.md

Contributing to Apache Maven Surefire

ASF Jira Maven Central Apache License, Version 2.0, January 2004

CI Jenkins Status Jenkins tests Jenkins JaCoCo

Actions Status

The Maven Community

slack forks

Project Documentation

Maven 3.0 Plugin API

Usage of maven-surefire-plugin, maven-failsafe-plugin, maven-surefire-report-plugin

Development Information

Build the Surefire project using Maven 3.1.0+ and JDK 1.8.

  • In order to run tests for a release check during the Vote, the following memory requirements are needed:
    (on Linux/Unix) export MAVEN_OPTS=“-server -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1”
    (on Windows) set MAVEN_OPTS=“-server -Xmx256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1”
  • In order to run the build with JDK 9 on Windows (on Linux/Unix modify system property jdk.home):
    mvn install site site:stage -P reporting,run-its "-Djdk.home=e:\Program Files\Java\jdk9"
  • In order to run the build with JDK 11:
    mvn install site site:stage -P reporting,run-its "-Djdk.home=e:\Program Files\Java\jdk11"

Deploying web site

See http://maven.apache.org/developers/website/deploy-component-reference-documentation.html

Built with Maven