diff options
author | 2016-02-10 21:15:11 +0000 | |
---|---|---|
committer | 2016-02-11 11:49:41 +0000 | |
commit | 9a9573b0f158be662691cb9c0de6359ffd13f125 (patch) | |
tree | 0bbe2f9a6bf02aec6bbe0a02baf90560247a9b4d /src/test | |
parent | 1acd4666ec48240e0044e692fadb0c3101b0d3ae (diff) |
Allow propagation of execution requirements to the ctx.resolve_command function. In the case of the requires-darwin tag, /bin/bash will be used instead
of an alternative, which matches the current genrule implementation.
--
MOS_MIGRATED_REVID=114360408
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java index 961a2cb5ae..15369f1430 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java @@ -545,6 +545,18 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { assertThat(argv.get(1)).isEqualTo("-c"); assertMatches("argv[2]", "A.*/mytool .*/mytool.sh B.*file3.dat", argv.get(2)); } + + @Test + public void testResolveCommandExecutionRequirements() throws Exception { + // Tests that requires-darwin execution requirements result in the usage of /bin/bash. + evalRuleContextCode( + createRuleContext("//foo:resolve_me"), + "inputs, argv, manifests = ruleContext.resolve_command(", + " execution_requirements={'requires-darwin': ''})"); + @SuppressWarnings("unchecked") + List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv"); + assertMatches("argv[0]", "^/bin/bash$", argv.get(0)); + } @Test public void testResolveCommandScript() throws Exception { |