[ https://issues.apache.org/jira/browse/SUREFIRE-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tibor Digana reassigned SUREFIRE-1863: -------------------------------------- Assignee: Tibor Digana > Tests run in surefire can clear the thread interrupted flag silently when any > message is logged to the console. > --------------------------------------------------------------------------------------------------------------- > > Key: SUREFIRE-1863 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1863 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin > Affects Versions: 3.0.0-M5 > Reporter: Peter Lawrey > Assignee: Tibor Digana > Priority: Major > > Surefire-api clears the interrupted flag sometimes but not consistently in > any code which writes to the console. > It is not expected that writing to the console would result in clearing the > interrupted flag nor is it easy to trace this is the cause when it does. > The line of code causing this has a warning that it's result is ignored and > probably shouldn't be. > {{ > //noinspection ResultOfMethodCallIgnored > Thread.interrupted(); > }} > The stack trace > {{ > Thread.interrupted() called > at > org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelEncoder.encodeAndPrintEvent(LegacyMasterProcessChannelEncoder.java:310) > at > org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelEncoder.setOutErr(LegacyMasterProcessChannelEncoder.java:204) > at > org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelEncoder.stdOut(LegacyMasterProcessChannelEncoder.java:190) > at > org.apache.maven.surefire.api.booter.ForkingRunListener.writeTestOutput(ForkingRunListener.java:133) > at > org.apache.maven.surefire.api.report.ConsoleOutputCapture$ForwardingPrintStream.println(ConsoleOutputCapture.java:131) > at > net.openhft.chronicle.threads.DiskSpaceMonitor.pollDiskSpace(DiskSpaceMonitor.java:113) > }} > The last line of code calls System.out.println(abc); > > Instead of discarding the interrupted flag, I suggest setting it again in a > finally block when exiting the sensitive code or it's not cleared > unexpectedly. > If this is expected behaviour, I suggest producing a warning that it was > cleared so you work out why certain tests to detect the behaviour of an > interrupted thread, fail when run in surefire. > -- This message was sent by Atlassian Jira (v8.3.4#803005)