public final class TestProvidingInputStream extends AbstractCommandStream
InputStream that, when read, provides test class names out of a queue.
provideNewTest() has been invoked.
FlushReceiver provided by the FlushReceiverProvider that can be set using
AbstractForkInputStream.setFlushReceiverProvider(FlushReceiverProvider).
ForkStarter
by one Thread.| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.Semaphore |
barrier |
private java.util.concurrent.atomic.AtomicBoolean |
closed |
private java.util.Queue<Command> |
commands |
private java.util.Queue<java.lang.String> |
testClassNames |
| Constructor and Description |
|---|
TestProvidingInputStream(java.util.Queue<java.lang.String> testClassNames)
C'tor
|
| Modifier and Type | Method and Description |
|---|---|
void |
acknowledgeByeEventReceived() |
private void |
awaitNextTest() |
protected void |
beforeNextCommand()
Possibly waiting for next command (see
AbstractCommandStream.nextCommand()) unless the stream is atomically
closed (see AbstractCommandStream.isClosed() returns true) before this method has returned. |
void |
close() |
protected boolean |
isClosed() |
protected Command |
nextCommand() |
void |
noop() |
void |
provideNewTest()
Signal that a new test is to be provided.
|
void |
shutdown(Shutdown shutdownType) |
void |
skipSinceNextTest()
Sends an event to a fork jvm in order to skip tests.
|
(package private) void |
testSetFinished()
For testing purposes.
|
canContinue, invalidateInternalBuffer, readsetFlushReceiverProvider, tryFlushprivate final java.util.concurrent.Semaphore barrier
private final java.util.Queue<Command> commands
private final java.util.concurrent.atomic.AtomicBoolean closed
private final java.util.Queue<java.lang.String> testClassNames
public TestProvidingInputStream(java.util.Queue<java.lang.String> testClassNames)
testClassNames - source of the tests to be read from this streamvoid testSetFinished()
public void skipSinceNextTest()
NotifiableTestStreampublic void shutdown(Shutdown shutdownType)
public void noop()
public void acknowledgeByeEventReceived()
protected Command nextCommand()
nextCommand in class AbstractCommandStreamprotected void beforeNextCommand()
throws java.io.IOException
AbstractCommandStreamAbstractCommandStream.nextCommand()) unless the stream is atomically
closed (see AbstractCommandStream.isClosed() returns true) before this method has returned.beforeNextCommand in class AbstractCommandStreamjava.io.IOException - stream error while waiting for notification regarding next test required by forked jvmprotected boolean isClosed()
isClosed in class AbstractCommandStreampublic void provideNewTest()
public void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.InputStreamprivate void awaitNextTest()
throws java.io.IOException
java.io.IOException