aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-11-06 22:53:37 +0100
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-11-07 19:06:57 +0100
commit49212e985d41b03d5e8cd4417f773748596587fe (patch)
tree595ed4a3809289852991c64b340bf0dea7dba995 /src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java
parentd5f0ecb407f5708841e98e55d01d651a316ae7c2 (diff)
Add more assertions about test suite expansion behavior
Characterizing this correctly this time: Target patterns are evaluated with two different sets of semantics. For determining which targets to build, only test suites in exclusion target patterns are expanded. For determining which tests to run (or determining which targets to build if --build_tests_only is set), test suites in all target patterns are expanded. In each case, test suites are expanded for each target pattern individually, not for the whole set of targets after the list of target patterns is processed. Also update a related code comment. The newer implementation for this logic already has equivalent tests for this behavior, in particular testFilterNegativeTestFromTestSuite and testNegativeTestSuiteExpanded in LoadingPhaseRunnerTest. RELNOTES: None PiperOrigin-RevId: 174756583
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java
index 823d1071e1..0a53f75cd4 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestTargetPatternsResultBuilder.java
@@ -24,8 +24,12 @@ import com.google.devtools.build.lib.pkgcache.TargetProvider;
import java.util.ArrayList;
/**
- * Evaluates set of test targets based on list of target patterns. In contradistinction to
- * {@code BuildTargetPatternEvaluatorUtil} this class will expand all test suites.
+ * Evaluates the set of test targets based on list of target patterns. Test suite expansion is
+ * performed on inclusion and exclusion target patterns before adding or subtracting from the set.
+ * This differs from the behavior of {@code BuildTargetPatternsResultBuilder}, which only applies
+ * test suite expansion to inclusion target patterns. (The result of this is that excluding a test
+ * suite excludes all of the referenced tests from the set of tests to be run, but does not exclude
+ * those from the set of targets to be built unless --build_tests_only is set.)
*/
class TestTargetPatternsResultBuilder extends TargetPatternsResultBuilder {
private final ArrayList<ResolvedTargetsOfPattern> labelsOfPatterns = new ArrayList<>();