diff options
author | 2017-07-13 17:23:09 +0200 | |
---|---|---|
committer | 2017-07-14 10:51:40 +0200 | |
commit | e5d95fb510ae056c8650b5bb450ec5dc7c7eeb3b (patch) | |
tree | ed7e8978345c4172738a383ad614d7ad3bbb44b6 /src/test/java/com/google/devtools/build/lib | |
parent | 528a1eac7d2638a492655cda8e18e80c4510583c (diff) |
Fix crash when unioning depsets with different orders
Also refactor FAIL_FAST_HANDLER to throw something more specific than IllegalArgumentException. This bug was masked because the test assertion that would've caught it considered IllegalArgumentException to be an expected error, the same as EvalException.
RELNOTES: None
PiperOrigin-RevId: 161809957
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java | 4 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java | 8 |
2 files changed, 6 insertions, 6 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 1cd8a98c62..c9b8d1c4e0 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 @@ -635,7 +635,7 @@ public class SkylarkEvaluationTest extends EvaluationTest { private void flowStatementInsideFunction(String statement) throws Exception { checkEvalErrorContains(statement + " statement must be inside a for loop", "def foo():", - " " + statement + "", + " " + statement, "x = foo()"); } @@ -644,7 +644,7 @@ public class SkylarkEvaluationTest extends EvaluationTest { "def foo2():", " for i in range(0, 3):", " pass", - " " + statement + "", + " " + statement, "y = foo2()"); } diff --git a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java index 70604c6349..0fa14bcec0 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java @@ -26,6 +26,7 @@ import com.google.devtools.build.lib.events.util.EventCollectionApparatus; import com.google.devtools.build.lib.syntax.BazelLibrary; import com.google.devtools.build.lib.syntax.BuildFileAST; import com.google.devtools.build.lib.syntax.Environment; +import com.google.devtools.build.lib.syntax.Environment.FailFastException; import com.google.devtools.build.lib.syntax.Environment.Phase; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Expression; @@ -201,12 +202,11 @@ public class EvaluationTestCase { } public void checkEvalError(String msg, String... input) throws Exception { - setFailFast(true); try { eval(input); fail("Expected error '" + msg + "' but got no error"); - } catch (IllegalArgumentException | EvalException e) { - assertThat(e).hasMessage(msg); + } catch (EvalException | FailFastException e) { + assertThat(e).hasMessageThat().isEqualTo(msg); } } @@ -214,7 +214,7 @@ public class EvaluationTestCase { try { eval(input); fail("Expected error containing '" + msg + "' but got no error"); - } catch (IllegalArgumentException | EvalException e) { + } catch (EvalException | FailFastException e) { assertThat(e).hasMessageThat().contains(msg); } } |