Class TestListResolver
- java.lang.Object
-
- org.apache.maven.surefire.testset.TestListResolver
-
- All Implemented Interfaces:
GenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
,TestFilter<java.lang.String,java.lang.String>
public class TestListResolver extends java.lang.Object implements GenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
Resolved multi pattern filter e.g. -Dtest=MyTest#test,!AnotherTest#otherTest into an object model composed of included and excluded tests.
The methodsshouldRun(String, String)
are filters easily used in JUnit filter or TestNG. This class is independent of JUnit and TestNG API.
It is accessed by Java Reflection API inSurefireReflector
using specific ClassLoader.
-
-
Field Summary
Fields Modifier and Type Field Description private static TestListResolver
EMPTY
private java.util.Set<ResolvedTest>
excludedPatterns
private boolean
hasExcludedMethodPatterns
private boolean
hasIncludedMethodPatterns
private java.util.Set<ResolvedTest>
includedPatterns
private static java.lang.String
JAVA_CLASS_FILE_EXTENSION
private static TestListResolver
WILDCARD
-
Constructor Summary
Constructors Modifier Constructor Description private
TestListResolver(boolean hasIncludedMethodPatterns, boolean hasExcludedMethodPatterns, java.util.Set<ResolvedTest> includedPatterns, java.util.Set<ResolvedTest> excludedPatterns)
Used only in method filter.TestListResolver(java.lang.String csvTests)
TestListResolver(java.util.Collection<java.lang.String> tests)
TestListResolver(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
aggregatedTest(java.lang.String testPrefix, java.util.Set<ResolvedTest> tests)
TestFilter<java.lang.String,java.lang.String>
and(TestListResolver another)
boolean
equals(java.lang.Object o)
static TestListResolver
getEmptyTestListResolver()
java.util.Set<ResolvedTest>
getExcludedPatterns()
java.util.Set<ResolvedTest>
getIncludedPatterns()
java.lang.String
getPluginParameterTest()
static TestListResolver
getWildcard()
boolean
hasExcludedMethodPatterns()
int
hashCode()
boolean
hasIncludedMethodPatterns()
boolean
hasMethodPatterns()
private static boolean
haveMethodPatterns(java.util.Set<ResolvedTest> patterns)
boolean
isEmpty()
(package private) static boolean
isRegexMinLength(java.lang.String pattern)
(package private) static boolean
isRegexPrefixedPattern(java.lang.String pattern)
boolean
isWildcard()
private static java.util.Collection<java.lang.String>
mergeIncludedAndExcludedTests(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)
static TestListResolver
newTestListResolver(java.util.Set<ResolvedTest> includedPatterns, java.util.Set<ResolvedTest> excludedPatterns)
(package private) static void
nonRegexClassAndMethods(java.lang.String clazz, java.lang.String methods, boolean isExcluded, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
static TestListResolver
optionallyWildcardFilter(TestListResolver resolver)
TestFilter<java.lang.String,java.lang.String>
or(TestListResolver another)
(package private) static java.lang.String
removeExclamationMark(java.lang.String s)
(package private) static void
resolveTestRequest(java.lang.String request, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
Requires trimmedrequest
been not equal to "!".boolean
shouldRun(java.lang.Class<?> testClass, java.lang.String methodName)
boolean
shouldRun(java.lang.String testClassFile, java.lang.String methodName)
Returnstrue
if satisfiestestClassFile
andmethodName
filter.static java.lang.String
toClassFileName(java.lang.Class<?> test)
static java.lang.String
toClassFileName(java.lang.String fullyQualifiedTestClass)
java.lang.String
toString()
(package private) static java.lang.String[]
unwrap(java.lang.String request)
(package private) static java.lang.String[]
unwrapRegex(java.lang.String regex)
private static void
updatedFilters(boolean isExcluded, ResolvedTest test, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
-
-
-
Field Detail
-
JAVA_CLASS_FILE_EXTENSION
private static final java.lang.String JAVA_CLASS_FILE_EXTENSION
- See Also:
- Constant Field Values
-
WILDCARD
private static final TestListResolver WILDCARD
-
EMPTY
private static final TestListResolver EMPTY
-
includedPatterns
private final java.util.Set<ResolvedTest> includedPatterns
-
excludedPatterns
private final java.util.Set<ResolvedTest> excludedPatterns
-
hasIncludedMethodPatterns
private final boolean hasIncludedMethodPatterns
-
hasExcludedMethodPatterns
private final boolean hasExcludedMethodPatterns
-
-
Constructor Detail
-
TestListResolver
public TestListResolver(java.util.Collection<java.lang.String> tests)
-
TestListResolver
public TestListResolver(java.lang.String csvTests)
-
TestListResolver
public TestListResolver(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)
-
TestListResolver
private TestListResolver(boolean hasIncludedMethodPatterns, boolean hasExcludedMethodPatterns, java.util.Set<ResolvedTest> includedPatterns, java.util.Set<ResolvedTest> excludedPatterns)
Used only in method filter.
-
-
Method Detail
-
newTestListResolver
public static TestListResolver newTestListResolver(java.util.Set<ResolvedTest> includedPatterns, java.util.Set<ResolvedTest> excludedPatterns)
-
hasIncludedMethodPatterns
public boolean hasIncludedMethodPatterns()
- Specified by:
hasIncludedMethodPatterns
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
hasExcludedMethodPatterns
public boolean hasExcludedMethodPatterns()
- Specified by:
hasExcludedMethodPatterns
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
hasMethodPatterns
public boolean hasMethodPatterns()
- Specified by:
hasMethodPatterns
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
optionallyWildcardFilter
public static TestListResolver optionallyWildcardFilter(TestListResolver resolver)
- Parameters:
resolver
- filter possibly having method patterns- Returns:
resolver
ifresolver.hasMethodPatterns()
returnstrue
; Otherwise wildcard filter*.class
is returned.
-
getWildcard
public static TestListResolver getWildcard()
-
getEmptyTestListResolver
public static TestListResolver getEmptyTestListResolver()
-
isWildcard
public final boolean isWildcard()
-
and
public TestFilter<java.lang.String,java.lang.String> and(TestListResolver another)
-
or
public TestFilter<java.lang.String,java.lang.String> or(TestListResolver another)
-
shouldRun
public boolean shouldRun(java.lang.Class<?> testClass, java.lang.String methodName)
-
shouldRun
public boolean shouldRun(java.lang.String testClassFile, java.lang.String methodName)
Returnstrue
if satisfiestestClassFile
andmethodName
filter.- Specified by:
shouldRun
in interfaceTestFilter<java.lang.String,java.lang.String>
- Parameters:
testClassFile
- format must be e.g. "my/package/MyTest.class" including class extension; or nullmethodName
- real test-method name; or null
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getPluginParameterTest
public java.lang.String getPluginParameterTest()
- Specified by:
getPluginParameterTest
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getIncludedPatterns
public java.util.Set<ResolvedTest> getIncludedPatterns()
- Specified by:
getIncludedPatterns
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getExcludedPatterns
public java.util.Set<ResolvedTest> getExcludedPatterns()
- Specified by:
getExcludedPatterns
in interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toClassFileName
public static java.lang.String toClassFileName(java.lang.Class<?> test)
-
toClassFileName
public static java.lang.String toClassFileName(java.lang.String fullyQualifiedTestClass)
-
removeExclamationMark
static java.lang.String removeExclamationMark(java.lang.String s)
-
updatedFilters
private static void updatedFilters(boolean isExcluded, ResolvedTest test, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
-
aggregatedTest
private static java.lang.String aggregatedTest(java.lang.String testPrefix, java.util.Set<ResolvedTest> tests)
-
mergeIncludedAndExcludedTests
private static java.util.Collection<java.lang.String> mergeIncludedAndExcludedTests(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)
-
isRegexPrefixedPattern
static boolean isRegexPrefixedPattern(java.lang.String pattern)
-
isRegexMinLength
static boolean isRegexMinLength(java.lang.String pattern)
-
unwrapRegex
static java.lang.String[] unwrapRegex(java.lang.String regex)
-
unwrap
static java.lang.String[] unwrap(java.lang.String request)
-
nonRegexClassAndMethods
static void nonRegexClassAndMethods(java.lang.String clazz, java.lang.String methods, boolean isExcluded, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
-
resolveTestRequest
static void resolveTestRequest(java.lang.String request, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)
Requires trimmedrequest
been not equal to "!".
-
haveMethodPatterns
private static boolean haveMethodPatterns(java.util.Set<ResolvedTest> patterns)
-
-