diff options
author | 2018-02-15 15:30:07 -0800 | |
---|---|---|
committer | 2018-02-15 15:32:07 -0800 | |
commit | ed1c6c21ef1d706e79252ce1e33d9c1283b889e1 (patch) | |
tree | 30d9a4f504271af4033a33e1a5913313dbab882a /src/test/java/com/google/devtools/build | |
parent | 340b90205078599973f6f65d01bbb632f026b1f8 (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.java | 21 |
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. |