Re: Maven Surefire and JUnit 5

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Maven Surefire and JUnit 5

Benedikt Ritter
Hello Tibor,

Sorry for the daily I somehow missed this mail.

> Am 15.10.2017 um 13:07 schrieb Tibor Digana <[hidden email]>:
>
> Hi Benedikt,
>
> I am fine now after my illness, thx.
> I am finishing branch SUREFIRE-1262_2. Just to add few more tests and then
> I will cut a release. I want to add a fix for SUREFIRE-1374 which would be
> fast to do.
> Then I am ready for you and JUnit5.
>
> I have questions regarding our JUnit 5 Surefire Provider implemented in
> Surefire.
>
> Is it implemented exactly in the same like the origin by junit5 team?
> I am asking because I saw the implementation made by junit5 team and it is
> not like our *JUnitCoreProvider*. This means that they do not map method
> <-> Thread in *RunListener *and thus the provider would not associate test
> report logs and Thread properly and logs will be mixed.

We imported the code from the JUnit project some while ago. They have in the mean time updated their provider code. They are planning to bring those changes back to surefire, once we get of the ground with the implementation in surefire. So if you’re seeing difference in the implementation in surefire and in the implementation in JUnit, that must have been introduced after we imported the code.

>
> Next question is regarding the feature re-run. It also exists in
> *JUnitCoreProvider
> *and *JUnit4Provider*. Does it exist in our provider too.

I don’t know, need to check the code.

> Also we need to have a feature where JUnit execution is stopped which can
> be configured by *skipAfterFailureCount *in POM. We have implementation in
> Surefire provider:
>
> notifier.asFailFast( isFailFast() );

We have to figure out, how this is supported by JUnit 5.

>
> Regarding logger in forked provider, which has to do with parallel exec, I
> think the logs go to the dump file instead of reports file, because STDOUT
> is not wrapped in JUnit5's implementation and this should be called:
>
> startCapture( listener )
>
>
> See my questions in https://github.com/xwiki/xwiki-platform/commit/
> 5258a22301977a7d1ee7276cdd81af7641f4f5ac
>
> Do we have integration tests for these features?

We only have very limited integration tests yet. I’m planning to write more integration tests and work on the structure of the integration test project, once the build does work again. Currently I’m unable to exec an integration test on the junit5 branch. Once this is possible again, we can write the missing tests.

Thank you!
Benedikt

>
>
> Cheers
> Tibor
>
>
>
> On Sat, Sep 30, 2017 at 10:34 AM, Benedikt Ritter <[hidden email]>
> wrote:
>
>> Hello,
>>
>> for over a year now I’m trying to help getting JUnit 5 support into Maven
>> Surefire. This has been hard since Tibor seems to be the only one
>> maintaining Maven Surefire and he had to come with other things.
>>
>> For this reason I’d like to ask other Maven maintainers to help with the
>> JUnit 5 support. I’m happy to do the work, but I’m constantly blocked by
>> obscure build failures which I’m unable to resolve myself or by lack of
>> code review und merge of changes.
>>
>> - Work on JUnit5 support is currently done in the junit5 branch.
>> - I have drafted a Provider Lookup implementation in the junit5 branch,
>> but I don’t know whether it works because I can’t get the integration tests
>> running
>> - There is an open PR to merge the master branch back into junit5 branch,
>> but it has build failures I don’t understand [1]
>>
>> Please help!
>> Cheers,
>> Benedikt
>>
>> [1] https://github.com/apache/maven-surefire/pull/165
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Maven Surefire and JUnit 5

Benedikt Ritter
Hello Tibor,

did you have some time to do the rebase and help me get the build to work in the junit5 branch?

Regards,
Benedikt

> Am 18.10.2017 um 09:13 schrieb Benedikt Ritter <[hidden email]>:
>
> Hello Tibor,
>
> Sorry for the daily I somehow missed this mail.
>
>> Am 15.10.2017 um 13:07 schrieb Tibor Digana <[hidden email]>:
>>
>> Hi Benedikt,
>>
>> I am fine now after my illness, thx.
>> I am finishing branch SUREFIRE-1262_2. Just to add few more tests and then
>> I will cut a release. I want to add a fix for SUREFIRE-1374 which would be
>> fast to do.
>> Then I am ready for you and JUnit5.
>>
>> I have questions regarding our JUnit 5 Surefire Provider implemented in
>> Surefire.
>>
>> Is it implemented exactly in the same like the origin by junit5 team?
>> I am asking because I saw the implementation made by junit5 team and it is
>> not like our *JUnitCoreProvider*. This means that they do not map method
>> <-> Thread in *RunListener *and thus the provider would not associate test
>> report logs and Thread properly and logs will be mixed.
>
> We imported the code from the JUnit project some while ago. They have in the mean time updated their provider code. They are planning to bring those changes back to surefire, once we get of the ground with the implementation in surefire. So if you’re seeing difference in the implementation in surefire and in the implementation in JUnit, that must have been introduced after we imported the code.
>
>>
>> Next question is regarding the feature re-run. It also exists in
>> *JUnitCoreProvider
>> *and *JUnit4Provider*. Does it exist in our provider too.
>
> I don’t know, need to check the code.
>
>> Also we need to have a feature where JUnit execution is stopped which can
>> be configured by *skipAfterFailureCount *in POM. We have implementation in
>> Surefire provider:
>>
>> notifier.asFailFast( isFailFast() );
>
> We have to figure out, how this is supported by JUnit 5.
>
>>
>> Regarding logger in forked provider, which has to do with parallel exec, I
>> think the logs go to the dump file instead of reports file, because STDOUT
>> is not wrapped in JUnit5's implementation and this should be called:
>>
>> startCapture( listener )
>>
>>
>> See my questions in https://github.com/xwiki/xwiki-platform/commit/
>> 5258a22301977a7d1ee7276cdd81af7641f4f5ac
>>
>> Do we have integration tests for these features?
>
> We only have very limited integration tests yet. I’m planning to write more integration tests and work on the structure of the integration test project, once the build does work again. Currently I’m unable to exec an integration test on the junit5 branch. Once this is possible again, we can write the missing tests.
>
> Thank you!
> Benedikt
>
>>
>>
>> Cheers
>> Tibor
>>
>>
>>
>> On Sat, Sep 30, 2017 at 10:34 AM, Benedikt Ritter <[hidden email]>
>> wrote:
>>
>>> Hello,
>>>
>>> for over a year now I’m trying to help getting JUnit 5 support into Maven
>>> Surefire. This has been hard since Tibor seems to be the only one
>>> maintaining Maven Surefire and he had to come with other things.
>>>
>>> For this reason I’d like to ask other Maven maintainers to help with the
>>> JUnit 5 support. I’m happy to do the work, but I’m constantly blocked by
>>> obscure build failures which I’m unable to resolve myself or by lack of
>>> code review und merge of changes.
>>>
>>> - Work on JUnit5 support is currently done in the junit5 branch.
>>> - I have drafted a Provider Lookup implementation in the junit5 branch,
>>> but I don’t know whether it works because I can’t get the integration tests
>>> running
>>> - There is an open PR to merge the master branch back into junit5 branch,
>>> but it has build failures I don’t understand [1]
>>>
>>> Please help!
>>> Cheers,
>>> Benedikt
>>>
>>> [1] https://github.com/apache/maven-surefire/pull/165
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]