|
16 | 16 | import static org.junit.platform.engine.Filter.composeFilters;
|
17 | 17 | import static org.junit.platform.engine.support.filter.ClasspathScanningSupport.buildClassNamePredicate;
|
18 | 18 |
|
| 19 | +import java.util.ArrayList; |
19 | 20 | import java.util.List;
|
20 | 21 | import java.util.Objects;
|
21 | 22 | import java.util.function.Predicate;
|
22 | 23 |
|
23 | 24 | import org.apiguardian.api.API;
|
24 | 25 | import org.junit.platform.commons.logging.Logger;
|
| 26 | +import org.junit.platform.engine.DiscoveryFilter; |
25 | 27 | import org.junit.platform.engine.EngineDiscoveryRequest;
|
26 | 28 | import org.junit.platform.engine.Filter;
|
27 | 29 | import org.junit.platform.engine.TestDescriptor;
|
28 | 30 | import org.junit.platform.engine.UniqueId;
|
29 | 31 | import org.junit.platform.engine.discovery.ClassNameFilter;
|
| 32 | +import org.junit.platform.engine.discovery.PackageNameFilter; |
30 | 33 | import org.junit.platform.engine.support.descriptor.EngineDescriptor;
|
31 | 34 | import org.junit.platform.engine.support.filter.ExclusionReasonConsumingFilter;
|
32 | 35 |
|
@@ -78,8 +81,10 @@ private List<DiscoverySelectorResolver> getAllDiscoverySelectorResolvers(EngineD
|
78 | 81 | }
|
79 | 82 |
|
80 | 83 | private Predicate<Class<?>> createTestClassPredicate(EngineDiscoveryRequest discoveryRequest) {
|
81 |
| - List<ClassNameFilter> allClassNameFilters = discoveryRequest.getFiltersByType(ClassNameFilter.class); |
82 |
| - Filter<Class<?>> adaptedFilter = adaptFilter(composeFilters(allClassNameFilters), Class::getName); |
| 84 | + List<DiscoveryFilter<String>> filters = new ArrayList<>(); |
| 85 | + filters.addAll(discoveryRequest.getFiltersByType(ClassNameFilter.class)); |
| 86 | + filters.addAll(discoveryRequest.getFiltersByType(PackageNameFilter.class)); |
| 87 | + Filter<Class<?>> adaptedFilter = adaptFilter(composeFilters(filters), Class::getName); |
83 | 88 | Filter<Class<?>> classFilter = new ExclusionReasonConsumingFilter<>(adaptedFilter,
|
84 | 89 | (testClass, reason) -> logger.debug(() -> String.format("Class %s was excluded by a class filter: %s",
|
85 | 90 | testClass.getName(), reason.orElse("<unknown reason>"))));
|
|
0 commit comments