blob: 0223218d210765602f7245cef3f60584ca5a2694 [file] [log] [blame]
// Copyright (c) 2016, 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.
// VMOptions=--error_on_bad_type --error_on_bad_override
import 'package:observatory/service_io.dart';
import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'service_test_common.dart';
// Non tailable recursive function that should trigger a Stack Overflow.
num factorialGrowth([num n = 1]) {
return factorialGrowth(n + 1) * n;
}
void nonTailableRecursion() {
factorialGrowth();
}
var tests = [
hasStoppedAtExit,
(Isolate isolate) async {
await isolate.reload();
expect(isolate.error, isNotNull);
expect(isolate.error.message.contains('Stack Overflow'), isTrue);
}
];
main(args) async => runIsolateTests(args,
tests,
pause_on_exit: true,
testeeConcurrent: nonTailableRecursion);