diff options
author | janakr <janakr@google.com> | 2018-02-14 17:16:00 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-14 17:18:51 -0800 |
commit | bc09735be8868f345a25f9013e7c995d0871a8b4 (patch) | |
tree | 00b5aa781e5b8da2b5fc66392d4769db28a779f6 /src/test | |
parent | 9565666426a94dc81f4173e2a60375bde59ce253 (diff) |
Fix incorrect warning on negative test lang filter flags.
PiperOrigin-RevId: 185770217
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/BUILD | 1 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/packages/TestTargetUtilsTest.java | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index f1cc531c09..11111abaea 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -863,6 +863,7 @@ java_test( "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//src/main/protobuf:build_java_proto", "//third_party:jsr305", + "//third_party:mockito", "//third_party/protobuf:protobuf_java", ], ) diff --git a/src/test/java/com/google/devtools/build/lib/packages/TestTargetUtilsTest.java b/src/test/java/com/google/devtools/build/lib/packages/TestTargetUtilsTest.java index 556dc4bccb..285b01b931 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/TestTargetUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/TestTargetUtilsTest.java @@ -23,11 +23,16 @@ import com.google.common.collect.Sets; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.ResolvedTargets; import com.google.devtools.build.lib.cmdline.TargetParsingException; +import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.ExtendedEventHandler; +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.events.StoredEventHandler; import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase; +import com.google.devtools.build.lib.pkgcache.LoadingOptions; import com.google.devtools.build.lib.pkgcache.TargetProvider; import com.google.devtools.build.lib.pkgcache.TestFilter; import com.google.devtools.build.lib.skyframe.TestSuiteExpansionValue; +import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.EvaluationResult; import com.google.devtools.build.skyframe.SkyKey; import java.util.Collection; @@ -37,6 +42,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.mockito.Mockito; @RunWith(JUnit4.class) public class TestTargetUtilsTest extends PackageLoadingTestCase { @@ -93,6 +99,37 @@ public class TestTargetUtilsTest extends PackageLoadingTestCase { } @Test + public void testFilterByLang() throws Exception { + StoredEventHandler eventHandler = new StoredEventHandler(); + LoadingOptions options = new LoadingOptions(); + options.testLangFilterList = ImmutableList.of("nonexistent", "existent", "-noexist", "-exist"); + options.testSizeFilterSet = ImmutableSet.of(); + options.testTimeoutFilterSet = ImmutableSet.of(); + options.testTagFilterList = ImmutableList.of(); + TestFilter filter = + TestFilter.forOptions( + options, eventHandler, ImmutableSet.of("existent_test", "exist_test")); + assertThat(eventHandler.getEvents()).hasSize(2); + Package pkg = Mockito.mock(Package.class); + RuleClass ruleClass = Mockito.mock(RuleClass.class); + Rule mockRule = + new Rule( + pkg, + null, + ruleClass, + Location.fromPathFragment(PathFragment.EMPTY_FRAGMENT), + new AttributeContainer(ruleClass)); + Mockito.when(ruleClass.getName()).thenReturn("existent_library"); + assertThat(filter.apply(mockRule)).isTrue(); + Mockito.when(ruleClass.getName()).thenReturn("exist_library"); + assertThat(filter.apply(mockRule)).isFalse(); + assertThat(eventHandler.getEvents()) + .contains(Event.warn("Unknown language 'nonexistent' in --test_lang_filters option")); + assertThat(eventHandler.getEvents()) + .contains(Event.warn("Unknown language 'noexist' in --test_lang_filters option")); + } + + @Test public void testFilterByTimeout() throws Exception { scratch.file( "timeouts/BUILD", |