On Fri, Sep 10, 2021 at 9:15 PM Emond Papegaaij <emond.papega...@gmail.com>
wrote:

> On Fri, Sep 10, 2021 at 8:41 PM Christian Stein <sormu...@gmail.com>
> wrote:
>
>> On Fri, Sep 10, 2021 at 8:27 PM Emond Papegaaij <
>> emond.papega...@gmail.com>
>> wrote:
>>
>> For now, I think the LauncherSession is the best way to at least provide
>> > some hooks for pre and post fixtures. It shouldn't be too hard to get
>> this
>> > in the current code base with backwards compatibility for JUnit Platform
>> > 1.7 and older. I'll see if I can create a pull request for this
>> somewhere
>> > next week.
>> >
>>
>> Before investing too much energy into a PR, please start a discussion or
>> open a feature request first - chances are that what you seek to achieve
>> is already possible, or somebody else has filed a similar request.
>
>
> You mean at JUnit? I'm pretty sure that it's currently not possible. I've
> been stepping through that code for quite some time now, and the whole
> TestPlan construction is very static. There doesn't seem to be an open
> request for this at the moment.
>
> The API for a LauncherSession is very simple and I think it's a good idea
> to use it anyway. The hardest part will be to only start the session when
> using 1.8 or higher.
>

That was easier than I thought. I've already got a working POC at
https://github.com/topicusonderwijs/maven-surefire/commit/b112130170c244846d5e35353a4c90afaf42aff1
. The only problems at the moment are that some tests fail because a
TestPlan is immutable in 1.8, the main process creates a LauncherSession
that is never closed and I screwed up the formatting in some places. With
this change, a LauncherSession is created when JUnit Platform 1.8 is used.
This session is closed when all tests have been executed. When running on
1.7 or lower, it falls back to the old behavior. I've verified that only
one LauncherSession is created per fork when running with forkCount > 1.

Best regards,
Emond

Reply via email to