dart-sdk/tests/standalone_2/oom_error_stacktrace_test.dart
Siva Annamalai bd2a8e1d60 Reland migrate most of the tests in standalone to be strong mode clean and move them to standalone_2 directory.
Bug:
Change-Id: I4ca50f315361422db1d4356055862463bfe1d6f3
Reviewed-on: https://dart-review.googlesource.com/12240
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2017-10-07 01:29:36 +00:00

50 lines
1,011 B
Dart

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Dart test program for testing throw statement
// VMOptions=--old_gen_heap_size=512
import "package:expect/expect.dart";
class Helper1 {
static int func1() {
return func2();
}
static int func2() {
return func3();
}
static int func3() {
return func4();
}
static int func4() {
var i = 0;
try {
i = 10;
func5();
} on OutOfMemoryError catch (e) {
i = 100;
Expect.isNull(e.stackTrace, "OOM should not have a stackTrace on throw");
}
return i;
}
static List func5() {
// Cause an OOM(out of memory) exception.
var l1 = new List(268435455);
return l1;
}
}
class OOMErrorStackTraceTest {
static testMain() {
Expect.equals(100, Helper1.func1());
}
}
main() {
OOMErrorStackTraceTest.testMain();
}