Skip to content

Releases: sbabcoc/JUnit-Foundation

Migrate Params class out to Java-Utils; update documentation

15 Jan 23:34

Choose a tag to compare

  • Given its wider usefulness, the Params class has been migrated out to the Java-Utils library.
  • README - Maven and Gradle integration examples have been updated to the latest versions and techniques.

More thread-related fixes

17 Dec 23:50

Choose a tag to compare

  • DepthGauge: Replace thread-local counter with simple int (client will handle threading).
  • CreateTest: Revise based on changes to DepthGauge, storing instances as thread-local.
  • RunReflectiveCall:
    • methodHash: Incorporate thread hash code as the most significant factor.
    • fireBeforeInvocation: Replace flat has-notified tracking with call depth counting.
    • fireAfterInvocation: Replace flat has-notified tracking with call depth counting.

Refine Byte Buddy transform to eliminate muddled matching

15 Dec 04:12

Choose a tag to compare

junit-foundation-9.0.2

[maven-release-plugin] copy for tag junit-foundation-9.0.2

CORRECTION: Implement support for parallel execution

13 Dec 20:12

Choose a tag to compare

Re-publish... the last release didn't have the new code in it.

Implement support for parallel execution

13 Dec 20:10

Choose a tag to compare

  • LifecycleHooks: Move CreateTest and Run classes to their own files; Complete overhaul of instrumentation code based on feedback from Rafael Winterhalter (creator of Byte Buddy).
  • Run: Add explicit tracking of start/finish notifications; migrate attachment of registered RunListener service providers from RunChild; refactor to facilitate parallel execution.
  • RunChild: Use factored methods of the Run class to attach run listeners, save thread runners and publish start/finish notifications; remove call depth tracking; revise to support interception for children of all types.
  • RunReflectiveCall: Add explicit tracking of start/finish notifications; remove call depth tracking;
  • Finished: New interceptor class to handle the finished method of RunnerScheduler objects.
  • Move CreateTest and Run classes to their own files.
  • Delete CreateTestClass and TestClassWatcher, which couldn't be universally supported and were of no discernible value.

Add interception of createTestClass() and run() methods for subtypes of the Suite class

09 Dec 06:34

Choose a tag to compare

  • Add interception of createTestClass() and run() methods for subtypes of the Suite class

Prevent duplicate notifications; switch from scheduler wrapper to standard RunListener

09 Dec 06:30

Choose a tag to compare

  • TestClassWatcher: Remove start/finish methods, which are essentially useless in parallel execution.
  • Replace wrapper for runner scheduler (which isn't used by parallel runs) with standard RunListener.
  • DepthGauge: New class to provide call depth counting for intercept methods.
  • RunAnnouncer: New standard RunListener that produces enhanced RunWatcher notifications.
  • Revise intercept methods, adding call depth counting and only sending notifications from top level.
  • LifecycleHooks: For BlockJUnit4ClassRunner subtypes, add interception of createTestClass() and run() methods.
  • Run: Switch runner stack from Stack to ArrayDeque; only notify about runner start/finish if current runner isn't top of stack; remove attachment of RunListener service providers.
  • RunChild: Add attachment of RunListener service providers.
  • AtomicTest: Switch constructor argument from FrameworkMethod to Description.
  • Update README to document the current API.

Major revisions to replace TestClass context with test runner context

09 Dec 05:24

Choose a tag to compare

  • MethodWatcher: Add runner argument to methods to provide context.
  • RunWatcher: Revise methods to replace TestClass/method context with AtomicTest.
  • Replace deprecated TestClassWatcher interface with TestClassWatcher2.
  • UnitTestWatcher: Update bases on MethodWatcher revisions.
  • Replace remaining uses of TestClass as context with runner object.
  • Add code to track the active test runner of each thread.
  • RunReflectiveCall: Only try to retrieve runner for "particle" methods.
  • Configure unit tests to run in parallel.
  • Update README to document current API.

Publish parameters as Optional Map instead of Object array

09 Dec 04:41

Choose a tag to compare

  • Publish parameters as Optional Map instead of Object array.
  • Revise artifact capture classes and unit tests to work with new parameter format.
  • Add Param class to encapsulate key/value pairs
  • Add static method to create Param object
  • Add static method to create parameter map from a set of Param objects

Disambiguate target mapping methods

09 Dec 03:14

Choose a tag to compare

  • Revise names of mapping methods that take a test class instance (a.k.a. - target) as their argument.