Guten Tag Thorsten Schöning,
am Donnerstag, 3. Oktober 2019 um 09:45 schrieben Sie:

> There seems to be some weird sideeffect somewhere making the test
> fail in the end.[...]

I hopefully found it, the runtime of the test itself. I'm always
invoking the same command:

> mvn test -pl :wicketstuff-jamon

That always fails with the default options of reusing forks:

> <reuseForks>true</reuseForks>

It at least mostly succeeds when that option is set to false. But
that's only an unreliable workaround for the real problem, I can
switch between failing/succeeding build of jamon by using the
following option only as well:

> <forkedProcessExitTimeoutInSeconds>2</forkedProcessExitTimeoutInSeconds>
vs.
> <forkedProcessExitTimeoutInSeconds>200</forkedProcessExitTimeoutInSeconds>

I've removed "reuseForks" and only used that option above with those
two different values and can reliably switch between a failing and
succeeding build. More important, the test really runs longer, I get
far more output on STDOUT and stuff.

The default value of that option is 30 and with default settings the
test always fails after ~35 to ~40 seconds. With "reuseForks" set to
false the tests succeed mostly, but their runtime is only about 50 -
60 seconds as well. With setting "forkedProcessExitTimeoutInSeconds"
much higher the tests run ~80 to ~90 seconds. Which is a lot longer
than 30, but far less than 200 and I don't have any additional waiting
time or else.

> [WARNING] Tests run: 7, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 
> 33.075 s - in 
> org.wicketstuff.jamon.request.cycle.JamonMonitoredRequestCycleTest
> [INFO]
> [INFO] Results:
> [INFO]
> [WARNING] Tests run: 24, Failures: 0, Errors: 0, Skipped: 2
> [INFO]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time:  01:24 min
> [INFO] Finished at: 2019-10-03T10:39:31+02:00
> [INFO] 
> ------------------------------------------------------------------------

How long does this test run for you?

The option I'm using is documented like the following:

> After the test-set has completed, the process executes
> java.lang.System.exit(0) which starts shutdown hooks. At this point
> the process may run next 30 seconds until all non daemon Threads
> die. After the period of time has elapsed, the process kills itself
> by java.lang.Runtime.halt(0). The timeout of 30 seconds can be
> customized by configuration parameter
> forkedProcessExitTimeoutInSeconds.

https://maven.apache.org/surefire/maven-surefire-plugin/examples/shutdown.html

That makes somewhat sense to what I see how the test behaves. But that
would mean that tests are still running AFTER Surefire has come to the
onclusion they have finished already?

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail: thorsten.schoen...@am-soft.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow

Reply via email to