Package org.apache.maven.surefire.booter
Class LazyTestsToRun
- java.lang.Object
-
- org.apache.maven.surefire.util.TestsToRun
-
- org.apache.maven.surefire.booter.LazyTestsToRun
-
- All Implemented Interfaces:
java.lang.Iterable<java.lang.Class<?>>
final class LazyTestsToRun extends TestsToRun
A variant of TestsToRun that is provided with test class names from anSystem.in
. The methoditerator()
returns an Iterator that blocks on calls toIterator.hasNext()
orIterator.next()
until new classes are available, or no more classes will be available or the internal stream is closed. The iterator can be used only in one Thread and it is the thread which executesprovider implementation
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
LazyTestsToRun.BlockingIterator
-
Field Summary
Fields Modifier and Type Field Description private ForkedChannelEncoder
eventChannel
-
Constructor Summary
Constructors Constructor Description LazyTestsToRun(ForkedChannelEncoder eventChannel)
C'tor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowEagerReading()
private static java.lang.Class<?>
findClass(java.lang.String clazz)
java.util.Iterator<java.lang.Class<?>>
iterated()
java.util.Iterator<java.lang.Class<?>>
iterator()
The iterator can be used only in one Thread.private java.util.Iterator<java.lang.Class<?>>
newWeakIterator()
java.lang.String
toString()
-
Methods inherited from class org.apache.maven.surefire.util.TestsToRun
containsAtLeast, containsExactly, fromClass, getClassByName, getLocatedClasses, isFinished, markTestSetFinished
-
-
-
-
Field Detail
-
eventChannel
private final ForkedChannelEncoder eventChannel
-
-
Constructor Detail
-
LazyTestsToRun
LazyTestsToRun(ForkedChannelEncoder eventChannel)
C'tor- Parameters:
eventChannel
- the output stream to use when requesting new new tests
-
-
Method Detail
-
iterated
public java.util.Iterator<java.lang.Class<?>> iterated()
- Overrides:
iterated
in classTestsToRun
- Returns:
- test classes which have been retrieved by
iterator()
.
-
iterator
public java.util.Iterator<java.lang.Class<?>> iterator()
The iterator can be used only in one Thread. Returns an iterator over the located java.lang.Class objects- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Class<?>>
- Overrides:
iterator
in classTestsToRun
- Returns:
- an unmodifiable iterator
- See Also:
TestsToRun.iterator()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classTestsToRun
-
allowEagerReading
public boolean allowEagerReading()
- Overrides:
allowEagerReading
in classTestsToRun
- Returns:
true
, if the classes may be read eagerly.false
, if the classes must only be read lazy.
-
findClass
private static java.lang.Class<?> findClass(java.lang.String clazz)
-
newWeakIterator
private java.util.Iterator<java.lang.Class<?>> newWeakIterator()
- Returns:
- snapshot of tests upon constructs of
iterator
. Therefore weakly consistent whileiterator()
is being iterated.
-
-