[tests] adjust error_stack_trace2_test to work also for DDC.

Change-Id: I6d1b18e7025ecd307a3456e695a718fd6f5db2fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142200
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
This commit is contained in:
Sigmund Cherem 2020-04-02 18:25:29 +00:00 committed by commit-bot@chromium.org
parent f64f22f668
commit 42ce378e3e

View file

@ -15,6 +15,20 @@ cyclicInitialization() {
return cyclicStatic;
}
// Helper method to detect whether [errorType] is an overflow error.
//
// TODO(41308): Use `is StackOverflowError` once DDC converts overflow errors
// from JavaSript.
bool isOverflowError(Type errorType) {
void detectOverflowError() => detectOverflowError();
try {
detectOverflowError();
} catch (e) {
return errorType == e.runtimeType;
}
return false;
}
main() {
bool hasThrown = false;
try {
@ -22,7 +36,8 @@ main() {
} catch (e2) {
var e = e2;
hasThrown = true;
Expect.isTrue(e is StackOverflowError);
Expect.isTrue(isOverflowError(e.runtimeType),
"Got '$e' instead of StackOverflowError");
}
Expect.isTrue(hasThrown);
}