aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/skylark
diff options
context:
space:
mode:
authorGravatar Francois-Rene Rideau <tunes@google.com>2016-01-22 10:54:38 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-22 15:55:49 +0000
commita2c9ac6a6989019fd7ccb4bee2149dd600ef4476 (patch)
tree894332f61b2df6f1df2026010d53a657a74e7358 /src/test/java/com/google/devtools/build/lib/skylark
parenteb01c21f94fbd6119c2f73796f63f789fd765910 (diff)
Make SkylarkList a List.
SkylarkList now implements the List interfaces, except that its mutating methods throw an UnsupportedOperationException, just like ImmutableList does. To actually mutate a SkylarkList, you need to pass a Location and a suitable Environment object with a matching Mutability while it is still active. Introduce SkylarkMutable and SkylarkMutable.MutableCollection to better handle mutable data structures. Remove some functions in EvalUtils made obsolete by this and previous changes regarding Skylark lists. -- MOS_MIGRATED_REVID=112768457
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java11
1 files changed, 6 insertions, 5 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 553fc5eb2e..709557ab8f 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
@@ -235,7 +235,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
ruleContext.getRuleContext().getAnalysisEnvironment().getRegisteredActions());
assertArtifactFilenames(action.getInputs(), "a.txt", "b.img");
assertArtifactFilenames(action.getOutputs(), "a.txt", "b.img");
- MoreAsserts.assertContainsSublist(action.getArguments(), "-c", "dummy_command", "", "--a", "--b");
+ MoreAsserts.assertContainsSublist(action.getArguments(),
+ "-c", "dummy_command", "", "--a", "--b");
assertEquals("DummyMnemonic", action.getMnemonic());
assertEquals("dummy_message", action.getProgressMessage());
assertEquals(targetConfig.getLocalShellEnvironment(), action.getEnvironment());
@@ -502,7 +503,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
" command='I got the $(HELLO) on a $(DAVE)', ",
" make_variables={'HELLO': 'World', 'DAVE': type('')})");
@SuppressWarnings("unchecked")
- List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList();
+ List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
assertThat(argv).hasSize(3);
assertMatches("argv[0]", "^.*/bash$", argv.get(0));
assertThat(argv.get(1)).isEqualTo("-c");
@@ -516,7 +517,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
"inputs, argv, manifests = ruleContext.resolve_command(",
" tools=ruleContext.attr.tools)");
@SuppressWarnings("unchecked")
- List<Artifact> inputs = (List<Artifact>) (List<?>) ((MutableList) lookup("inputs")).getList();
+ List<Artifact> inputs = (List<Artifact>) (List<?>) (MutableList) lookup("inputs");
assertArtifactFilenames(inputs, "mytool.sh", "mytool", "foo_Smytool-runfiles", "t.exe");
Map<?, ?> manifests = (Map<?, ?>) lookup("manifests");
assertThat(manifests).hasSize(1);
@@ -537,7 +538,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
" attribute='cmd', expand_locations=True, label_dict=label_dict)",
"inputs, argv, manifests = foo()");
@SuppressWarnings("unchecked")
- List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList();
+ List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
assertThat(argv).hasSize(3);
assertMatches("argv[0]", "^.*/bash$", argv.get(0));
assertThat(argv.get(1)).isEqualTo("-c");
@@ -555,7 +556,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
" command=s)",
"argv = foo()[1]");
@SuppressWarnings("unchecked")
- List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList();
+ List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
assertThat(argv).hasSize(2);
assertMatches("argv[0]", "^.*/bash$", argv.get(0));
assertMatches("argv[1]", "^.*/resolve_me[.]script[.]sh$", argv.get(1));