aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java40
1 files changed, 21 insertions, 19 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 01823ba1c9..71b1ca9c92 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
@@ -2178,24 +2178,26 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
@Test
public void testLazyArgsWithParamFile() throws Exception {
- SkylarkRuleContext ruleContext = createRuleContext("//foo:foo");
- evalRuleContextCode(
- ruleContext,
- "foo_args = ruleContext.actions.args()",
- "foo_args.add('--foo')",
- "foo_args.use_param_file('--file=%s', use_always=True)",
- "output=ruleContext.actions.declare_file('out')",
- "ruleContext.actions.run(",
- " inputs = depset(ruleContext.files.srcs),",
- " outputs = [output],",
- " arguments = [foo_args],",
- " executable = ruleContext.files.tools[0],",
- ")");
- List<ActionAnalysisMetadata> actions =
- ruleContext.getRuleContext().getAnalysisEnvironment().getRegisteredActions();
- assertThat(actions.stream().anyMatch(a -> a instanceof ParameterFileWriteAction)).isTrue();
- SpawnAction action =
- (SpawnAction) actions.stream().filter(a -> a instanceof SpawnAction).findAny().get();
+ scratch.file(
+ "test/main_rule.bzl",
+ "def _impl(ctx):",
+ " args = ctx.actions.args()",
+ " args.add('--foo')",
+ " args.use_param_file('--file=%s', use_always=True)",
+ " output=ctx.actions.declare_file('out')",
+ " ctx.actions.run_shell(",
+ " inputs = [output],",
+ " outputs = [output],",
+ " arguments = [args],",
+ " command = 'touch out',",
+ " )",
+ "main_rule = rule(implementation = _impl)");
+ scratch.file(
+ "test/BUILD", "load('//test:main_rule.bzl', 'main_rule')", "main_rule(name='main')");
+ ConfiguredTarget ct = getConfiguredTarget("//test:main");
+ Artifact output = getBinArtifact("out", ct);
+ SpawnAction action = (SpawnAction) getGeneratingAction(output);
+ assertThat(paramFileArgsForAction(action)).containsExactly("--foo");
// Assert that there is a file argument. Don't bother matching the exact string
assertThat(action.getArguments().stream().anyMatch(arg -> arg.matches("--file=.*"))).isTrue();
}
@@ -2218,7 +2220,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
actions.stream().filter(a -> a instanceof ParameterFileWriteAction).findFirst();
assertThat(action.isPresent()).isTrue();
ParameterFileWriteAction paramAction = (ParameterFileWriteAction) action.get();
- assertThat(paramAction.getContents()).containsExactly("--foo");
+ assertThat(paramAction.getArguments()).containsExactly("--foo");
}
@Test