|
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