Release 2.0.0 - New Java Agent-based Approach
Version 2.0.0 removes the terminally deprecated SecurityManager
approach and now uses a Java Agent to rewrite bytecode as the JVM loads classes. Whenever a call to System.exit()
is detected, the JUnit 5 System Exit Agent replaces that call with a function that records an attempt to exit, preventing the JVM from exiting. As a consequence of rewriting bytecode, this library now has one dependency - ASM.
Please see the Project README for comprehensive install instructions.
ChangeLog
- Remove terminally deprecated
SecurityManager
approach for preventingSystem.exit()
calls - Add Java Agent-based approach. Calls to
System.exit()
are rewritten as classes are loaded - Add AssertJ-style fluid assertions for cases when test authors do not want to use annotations, or want to write assertions after a
System.exit()
is detected - Upgrade Gradle to 8.10
- Upgrade JUnit to 5.11.0
- Switch to Kotlin DSL from Groovy DSL in Gradle build
- Switch to GitHub Actions for build runner