| Index: runtime/bin/vmservice/observatory/test/gc_test.dart
|
| ===================================================================
|
| --- runtime/bin/vmservice/observatory/test/gc_test.dart (revision 39035)
|
| +++ runtime/bin/vmservice/observatory/test/gc_test.dart (working copy)
|
| @@ -1,35 +1,35 @@
|
| -// Copyright (c) 2014, 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.
|
| +import 'package:observatory/service_io.dart';
|
| +import 'test_helper.dart';
|
|
|
| -library gc_test;
|
| +import 'dart:async';
|
|
|
| -import 'test_helper.dart';
|
| -import 'package:observatory/service_io.dart';
|
| -import 'package:unittest/unittest.dart';
|
| +void script() {
|
| + List<int> data;
|
| + var grow;
|
| + grow = (int iterations, int size, Duration duration) {
|
| + if (iterations <= 0) {
|
| + return;
|
| + }
|
| + data = new List<int>(size);
|
| + new Timer(duration, () => grow(iterations - 1, size, duration));
|
| + };
|
| + grow(100, 1 << 24, new Duration(seconds: 1));
|
| +}
|
|
|
| -import 'dart:io';
|
| +var tests = [
|
|
|
| -// Expect at least this many GC events.
|
| -int gcCountdown = 3;
|
| +(Isolate isolate) {
|
| + Completer completer = new Completer();
|
| + // Expect at least this many GC events.
|
| + int gcCountdown = 3;
|
| + isolate.vm.events.stream.listen((ServiceEvent event) {
|
| + if (event.eventType == 'GC' && --gcCountdown == 0) {
|
| + completer.complete();
|
| + }
|
| + });
|
| + return completer.future;
|
| +},
|
|
|
| -void onEvent(ServiceEvent event) {
|
| - if (event.eventType != 'GC') {
|
| - return;
|
| - }
|
| - if (--gcCountdown == 0) {
|
| - exit(0);
|
| - }
|
| -}
|
| +];
|
|
|
| -main() {
|
| - String script = 'gc_script.dart';
|
| - var process = new TestLauncher(script);
|
| - process.launch().then((port) {
|
| - String addr = 'ws://localhost:$port/ws';
|
| - new WebSocketVM(new WebSocketVMTarget(addr)).get('vm')
|
| - .then((VM vm) {
|
| - vm.events.stream.listen(onEvent);
|
| - });
|
| - });
|
| -}
|
| +main(args) => runIsolateTests(args, tests, testeeConcurrent: script);
|
|
|