aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2018-02-15 15:30:07 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-15 15:32:07 -0800
commited1c6c21ef1d706e79252ce1e33d9c1283b889e1 (patch)
tree30d9a4f504271af4033a33e1a5913313dbab882a /src/test/java/com/google/devtools/build
parent340b90205078599973f6f65d01bbb632f026b1f8 (diff)
Properly error when environment_group references non-existent targets.
Fixes #3911 PiperOrigin-RevId: 185912197
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java
index ee090f9a4e..ee91d7a196 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java
@@ -162,6 +162,27 @@ public class ConstraintsTest extends AbstractConstraintsTest {
.setDefaults("c").make();
}
+ @Test
+ public void packageErrorOnEnvironmentGroupWithMissingEnvironments() throws Exception {
+ scratch.file("buildenv/envs/BUILD",
+ "environment(name = 'env1')",
+ "environment(name = 'env2')",
+ "environment_group(",
+ " name = 'envs',",
+ " environments = [':env1', ':en2'],",
+ " defaults = [':env1'])");
+ reporter.removeHandler(failFastHandler);
+ assertThat(scratchConfiguredTarget("foo", "g",
+ "genrule("
+ + " name = 'g',"
+ + " srcs = [],"
+ + " outs = ['g.out'],"
+ + " cmd = '',"
+ + " restricted_to = ['//buildenv/envs:env1'])"))
+ .isNull();
+ assertContainsEvent("environment //buildenv/envs:en2 does not exist");
+ }
+
/**
* By default, a rule *implicitly* supports all defaults, meaning the explicitly known
* environment set is empty.