aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2016-02-10 09:50:01 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-02-10 10:26:33 +0000
commitcaf1477087748b636b7be2bb112ea35f6f2140f4 (patch)
tree5aaaff9c43230b0caa31347ecff906ad32224af5 /src
parent87935bb3abd7ca181c87fdc3fce83a4b02f4b394 (diff)
Move two visibility-related loading tests to BuildViewTest.
-- MOS_MIGRATED_REVID=114304151
Diffstat (limited to 'src')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 2713244930..a740a1f8a3 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -39,7 +39,6 @@ import com.google.devtools.build.lib.actions.FailAction;
import com.google.devtools.build.lib.analysis.BuildView.AnalysisResult;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
import com.google.devtools.build.lib.analysis.util.AnalysisMock;
-import com.google.devtools.build.lib.analysis.util.AnalysisTestCase.Flag;
import com.google.devtools.build.lib.analysis.util.BuildViewTestBase;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Aspect;
@@ -1106,6 +1105,39 @@ public class BuildViewTest extends BuildViewTestBase {
}
}
+
+ @Test
+ public void testVisibilityReferencesNonexistentPackage() throws Exception {
+ scratch.file("z/a/BUILD",
+ "py_library(name='a', visibility=['//nonexistent:nothing'])");
+ scratch.file("z/b/BUILD",
+ "py_library(name='b', deps=['//z/a:a'])");
+ reporter.removeHandler(failFastHandler);
+ try {
+ update("//z/b:b");
+ fail();
+ } catch (LoadingFailedException | ViewCreationFailedException expected) {
+ assertContainsEvent("no such package 'nonexistent'");
+ }
+ }
+
+ // regression test ("java.lang.IllegalStateException: cannot happen")
+ @Test
+ public void testDefaultVisibilityInNonexistentPackage() throws Exception {
+ scratch.file("z/a/BUILD",
+ "package(default_visibility=['//b'])",
+ "py_library(name='alib')");
+ scratch.file("z/b/BUILD",
+ "py_library(name='b', deps=['//z/a:alib'])");
+ reporter.removeHandler(failFastHandler);
+ try {
+ update("//z/b:b");
+ fail();
+ } catch (LoadingFailedException | ViewCreationFailedException expected) {
+ assertContainsEvent("no such package 'b'");
+ }
+ }
+
/** Runs the same test with the reduced loading phase. */
@TestSpec(size = Suite.SMALL_TESTS)
@RunWith(JUnit4.class)