From 3f00727b700e5591218934d7a8df164cd572be65 Mon Sep 17 00:00:00 2001 From: dslomov Date: Mon, 3 Apr 2017 18:54:48 +0000 Subject: Add "--build_manual_tests" options that forces manual tests to be built. This is useful for IDEs and other tools utilizing command-line aspects for reflection over build graph. RELNOTES: None. PiperOrigin-RevId: 152038248 --- .../build/lib/pkgcache/LoadingPhaseRunnerTest.java | 13 +++++++++ .../lib/skyframe/TargetPatternPhaseKeyTest.java | 31 ++++++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) (limited to 'src/test/java/com/google/devtools/build/lib') diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java index 9b1b4dc214..9cf3254d92 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java @@ -230,6 +230,19 @@ public class LoadingPhaseRunnerTest { assertThat(tester.getTestFilteredTargets()).containsExactlyElementsIn(getTargets()); } + @Test + public void testTestFilteringIncludingManual() throws Exception { + writeBuildFilesForTestFiltering(); + tester.useLoadingOptions("--build_manual_tests"); + LoadingResult loadingResult = assertNoErrors(tester.loadTests("//tests:all")); + assertThat(loadingResult.getTargets()) + .containsExactlyElementsIn(getTargets("//tests:t1", "//tests:t2", "//tests:t3")); + assertThat(loadingResult.getTestsToRun()) + .containsExactlyElementsIn(getTargets("//tests:t1", "//tests:t2")); + assertThat(tester.getFilteredTargets()).containsExactlyElementsIn(getTargets()); + assertThat(tester.getTestFilteredTargets()).containsExactlyElementsIn(getTargets()); + } + @Test public void testTestFilteringBuildTestsOnly() throws Exception { writeBuildFilesForTestFiltering(); diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseKeyTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseKeyTest.java index 3ac4ac9f31..a56466c01d 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseKeyTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseKeyTest.java @@ -51,32 +51,47 @@ public class TargetPatternPhaseKeyTest { .addEqualityGroup(of(ImmutableList.of("c"), "")) .addEqualityGroup(of(ImmutableList.of(), "")) .addEqualityGroup(of( - ImmutableList.of(), "", ImmutableList.of(), null, + ImmutableList.of(), "", ImmutableList.of(), false, null, COMPILE_ONE_DEPENDENCY)) .addEqualityGroup(of( - ImmutableList.of(), "", ImmutableList.of(), emptyTestFilter(), + ImmutableList.of(), "", ImmutableList.of(), true, null, + COMPILE_ONE_DEPENDENCY)) + .addEqualityGroup(of( + ImmutableList.of(), "", ImmutableList.of(), false, + emptyTestFilter(), + BUILD_TESTS_ONLY)) + .addEqualityGroup(of( + ImmutableList.of(), "", ImmutableList.of(), true, + emptyTestFilter(), BUILD_TESTS_ONLY)) .addEqualityGroup(of( - ImmutableList.of(), "", ImmutableList.of(), emptyTestFilter(), + ImmutableList.of(), "", ImmutableList.of(), false, + emptyTestFilter(), DETERMINE_TESTS)) - .addEqualityGroup(of( - ImmutableList.of(), "", ImmutableList.of("a"), null)) + .addEqualityGroup(of( + ImmutableList.of(), "", ImmutableList.of(), true, + emptyTestFilter(), + DETERMINE_TESTS)) + .addEqualityGroup(of( + ImmutableList.of(), "", ImmutableList.of("a"), false, null)) + .addEqualityGroup(of( + ImmutableList.of(), "", ImmutableList.of("a"), true, null)) .testEquals(); } private TargetPatternList of(ImmutableList targetPatterns, String offset, ImmutableList buildTagFilter, - @Nullable TestFilter testFilter, Flag... flags) { + boolean includeManualTests, @Nullable TestFilter testFilter, Flag... flags) { ImmutableSet set = ImmutableSet.copyOf(flags); boolean compileOneDependency = set.contains(Flag.COMPILE_ONE_DEPENDENCY); boolean buildTestsOnly = set.contains(Flag.BUILD_TESTS_ONLY); boolean determineTests = set.contains(Flag.DETERMINE_TESTS); return new TargetPatternList(targetPatterns, offset, compileOneDependency, buildTestsOnly, - determineTests, buildTagFilter, testFilter); + determineTests, buildTagFilter, includeManualTests, testFilter); } private TargetPatternList of(ImmutableList targetPatterns, String offset) { - return of(targetPatterns, offset, ImmutableList.of(), null); + return of(targetPatterns, offset, ImmutableList.of(), false, null); } private TestFilter emptyTestFilter() { -- cgit v1.2.3