Skip to content

Commit 67c5773

Browse files
committed
Apply PackageNameFilters to all TestDescriptors in Vintage engine
Issue: #1084
1 parent 287896f commit 67c5773

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

junit-vintage-engine/src/main/java/org/junit/vintage/engine/discovery/VintageDiscoverer.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,20 @@
1616
import static org.junit.platform.engine.Filter.composeFilters;
1717
import static org.junit.platform.engine.support.filter.ClasspathScanningSupport.buildClassNamePredicate;
1818

19+
import java.util.ArrayList;
1920
import java.util.List;
2021
import java.util.Objects;
2122
import java.util.function.Predicate;
2223

2324
import org.apiguardian.api.API;
2425
import org.junit.platform.commons.logging.Logger;
26+
import org.junit.platform.engine.DiscoveryFilter;
2527
import org.junit.platform.engine.EngineDiscoveryRequest;
2628
import org.junit.platform.engine.Filter;
2729
import org.junit.platform.engine.TestDescriptor;
2830
import org.junit.platform.engine.UniqueId;
2931
import org.junit.platform.engine.discovery.ClassNameFilter;
32+
import org.junit.platform.engine.discovery.PackageNameFilter;
3033
import org.junit.platform.engine.support.descriptor.EngineDescriptor;
3134
import org.junit.platform.engine.support.filter.ExclusionReasonConsumingFilter;
3235

@@ -78,8 +81,10 @@ private List<DiscoverySelectorResolver> getAllDiscoverySelectorResolvers(EngineD
7881
}
7982

8083
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);
8388
Filter<Class<?>> classFilter = new ExclusionReasonConsumingFilter<>(adaptedFilter,
8489
(testClass, reason) -> logger.debug(() -> String.format("Class %s was excluded by a class filter: %s",
8590
testClass.getName(), reason.orElse("<unknown reason>"))));

0 commit comments

Comments
 (0)