aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2017-08-21 12:02:46 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-21 14:16:30 +0200
commite3684497a5a8c4bd42ff970b37c49dc70bcc3eae (patch)
treedbef351aeee01d181ff35c4fc51c96a4768aceea /src/test/java/com/google/devtools/build/lib
parent9d79c6013470315da86fdccc3854880806162528 (diff)
Throw a static error when lvalue of an augmented assignment is a list.
RELNOTES: When the lvalue of an augmented assignment is a list, we now throw an error before evaluating the code (e.g. `a, b += 2, 3`). PiperOrigin-RevId: 165906611
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 374ac78531..bd43adbf02 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -964,7 +964,8 @@ public class SkylarkEvaluationTest extends EvaluationTest {
@Test
public void testInvalidAugmentedAssignment_ListLiteral() throws Exception {
- new SkylarkTest().testIfErrorContains("cannot perform augmented assignment on a list literal",
+ new SkylarkTest().testIfErrorContains(
+ "cannot perform augmented assignment on a list or tuple expression",
"def f(a, b):",
" [a, b] += []",
"f(1, 2)");
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
index 014d3be53a..604c53fe4b 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
@@ -39,6 +39,11 @@ public class ValidationTest extends EvaluationTestCase {
}
@Test
+ public void testAugmentedAssignmentWithMultipleLValues() {
+ checkError("cannot perform augmented assignment on a list or tuple expression", "a, b += 2, 3");
+ }
+
+ @Test
public void testReturnOutsideFunction() throws Exception {
checkError("Return statements must be inside a function", "return 2\n");
}