Open akryvtsun opened 8 years ago
@stefanbirkner FYI: I've implemented needed functionality in my code using your ProvideSecurityManager
and my custom thread-friendly analog of your internal NoExitSecurityManager
class.
Could you provide a pull request that fixes the issue? That would be very helpful.
@stefanbirkner thank you for interest. I'll provide PR.
@stefanbirkner pls, review provided PR with the fix
https://github.com/stefanbirkner/system-rules/pull/46
All tests are green but some firebug
check was failed and I can't clearly understand what exactly.
Thanks for the pull request. I cannot review it the next two weeks, but I review it afterwards.
@stefanbirkner NP. let me know if you will have some notes, remarks etc.
In integration testing if a test is executed on the one thread but
System.exit(...)
is called on anotherExpectedSystemExit
work unstable. If the test is finished faster then another thread callsSystem.exit(...)
then currentExpectedSystemExit
implementation fails the test.The solution is to delay the test thread till
System.exit(...)
is called or time out time is finished. It's possible to usejava.util.concurrent.CountDownLatch
for this but I couldn't find ability to do the latch count down somewhere inNoExitSecurityManager
.P.S. if
ExpectedSystemExit
work as aRule
in multi-threading environment isn't break any JUnit conventions I can prepare pull request for the fix.