diff options
author | 2017-08-21 12:02:46 +0200 | |
---|---|---|
committer | 2017-08-21 14:16:30 +0200 | |
commit | e3684497a5a8c4bd42ff970b37c49dc70bcc3eae (patch) | |
tree | dbef351aeee01d181ff35c4fc51c96a4768aceea /src/test/java/com/google/devtools/build | |
parent | 9d79c6013470315da86fdccc3854880806162528 (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')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java | 3 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java | 5 |
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"); } |