blob: 36876becc0ca0bf55d535d54be9ab852f22d2a39 [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';
var tests = [
(VM vm) async {
isInstanceOf<int> isInt = new isInstanceOf<int>();
// Just iterate over all the isolates to confirm they have
// the correct fields needed to examine zone memory usage.
for (Isolate isolate in vm.isolates) {
await isolate.reload();
expect(isolate.memoryHighWatermark, isInt);
expect(isolate.threads, isNotNull);
List<Thread> threads = isolate.threads;
for (Thread thread in threads) {
expect(thread.type, equals('_Thread'));
expect(thread.id, isNotNull);
expect(thread.kind, isNotNull);
expect(thread.memoryHighWatermark, isInt);
expect(thread.zones, isNotNull);
List<Zone> zones = thread.zones;
for (Zone zone in zones) {
expect(zone.capacity, isInt);
expect(zone.used, isInt);
}
}
}
},
];
main(args) async => runVMTests(args, tests);