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 inSurefireReflectorusing specific ClassLoader.
-
-
Field Summary
Fields Modifier and Type Field Description private static TestListResolverEMPTYprivate java.util.Set<ResolvedTest>excludedPatternsprivate booleanhasExcludedMethodPatternsprivate booleanhasIncludedMethodPatternsprivate java.util.Set<ResolvedTest>includedPatternsprivate static java.lang.StringJAVA_CLASS_FILE_EXTENSIONprivate static TestListResolverWILDCARD
-
Constructor Summary
Constructors Modifier Constructor Description privateTestListResolver(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.StringaggregatedTest(java.lang.String testPrefix, java.util.Set<ResolvedTest> tests)TestFilter<java.lang.String,java.lang.String>and(TestListResolver another)booleanequals(java.lang.Object o)static TestListResolvergetEmptyTestListResolver()java.util.Set<ResolvedTest>getExcludedPatterns()java.util.Set<ResolvedTest>getIncludedPatterns()java.lang.StringgetPluginParameterTest()static TestListResolvergetWildcard()booleanhasExcludedMethodPatterns()inthashCode()booleanhasIncludedMethodPatterns()booleanhasMethodPatterns()private static booleanhaveMethodPatterns(java.util.Set<ResolvedTest> patterns)booleanisEmpty()(package private) static booleanisRegexMinLength(java.lang.String pattern)(package private) static booleanisRegexPrefixedPattern(java.lang.String pattern)booleanisWildcard()private static java.util.Collection<java.lang.String>mergeIncludedAndExcludedTests(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)static TestListResolvernewTestListResolver(java.util.Set<ResolvedTest> includedPatterns, java.util.Set<ResolvedTest> excludedPatterns)(package private) static voidnonRegexClassAndMethods(java.lang.String clazz, java.lang.String methods, boolean isExcluded, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)static TestListResolveroptionallyWildcardFilter(TestListResolver resolver)TestFilter<java.lang.String,java.lang.String>or(TestListResolver another)(package private) static java.lang.StringremoveExclamationMark(java.lang.String s)(package private) static voidresolveTestRequest(java.lang.String request, IncludedExcludedPatterns patterns, java.util.Collection<ResolvedTest> includedFilters, java.util.Collection<ResolvedTest> excludedFilters)Requires trimmedrequestbeen not equal to "!".booleanshouldRun(java.lang.Class<?> testClass, java.lang.String methodName)booleanshouldRun(java.lang.String testClassFile, java.lang.String methodName)Returnstrueif satisfiestestClassFileandmethodNamefilter.static java.lang.StringtoClassFileName(java.lang.Class<?> test)static java.lang.StringtoClassFileName(java.lang.String fullyQualifiedTestClass)java.lang.StringtoString()(package private) static java.lang.String[]unwrap(java.lang.String request)(package private) static java.lang.String[]unwrapRegex(java.lang.String regex)private static voidupdatedFilters(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:
hasIncludedMethodPatternsin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
hasExcludedMethodPatterns
public boolean hasExcludedMethodPatterns()
- Specified by:
hasExcludedMethodPatternsin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
hasMethodPatterns
public boolean hasMethodPatterns()
- Specified by:
hasMethodPatternsin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
optionallyWildcardFilter
public static TestListResolver optionallyWildcardFilter(TestListResolver resolver)
- Parameters:
resolver- filter possibly having method patterns- Returns:
resolverifresolver.hasMethodPatterns()returnstrue; Otherwise wildcard filter*.classis 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)Returnstrueif satisfiestestClassFileandmethodNamefilter.- Specified by:
shouldRunin 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:
isEmptyin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getPluginParameterTest
public java.lang.String getPluginParameterTest()
- Specified by:
getPluginParameterTestin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getIncludedPatterns
public java.util.Set<ResolvedTest> getIncludedPatterns()
- Specified by:
getIncludedPatternsin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
getExcludedPatterns
public java.util.Set<ResolvedTest> getExcludedPatterns()
- Specified by:
getExcludedPatternsin interfaceGenericTestPattern<ResolvedTest,java.lang.String,java.lang.String>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin 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 trimmedrequestbeen not equal to "!".
-
haveMethodPatterns
private static boolean haveMethodPatterns(java.util.Set<ResolvedTest> patterns)
-
-