Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Unified Diff: runtime/observatory/tests/service/graph_test.dart

Issue 2502283003: Add a version of heap snapshots that use only fields and stack frames as roots and only include ins… (Closed)
Patch Set: . Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/tests/service/graph_test.dart
diff --git a/runtime/observatory/tests/service/graph_test.dart b/runtime/observatory/tests/service/graph_test.dart
deleted file mode 100644
index 85556baf97f4ea6e2dd2c3ad5464248cf49d66fc..0000000000000000000000000000000000000000
--- a/runtime/observatory/tests/service/graph_test.dart
+++ /dev/null
@@ -1,101 +0,0 @@
-// 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.
-// VMOptions=--error_on_bad_type --error_on_bad_override
-
-import 'package:observatory/heap_snapshot.dart';
-import 'package:observatory/object_graph.dart';
-import 'package:observatory/service_io.dart';
-import 'package:unittest/unittest.dart';
-import 'test_helper.dart';
-
-class Foo {
- Object left;
- Object right;
-}
-Foo r;
-
-List lst;
-
-void script() {
- // Create 3 instances of Foo, with out-degrees
- // 0 (for b), 1 (for a), and 2 (for staticFoo).
- r = new Foo();
- var a = new Foo();
- var b = new Foo();
- r.left = a;
- r.right = b;
- a.left = b;
-
- lst = new List(2);
- lst[0] = lst; // Self-loop.
- // Larger than any other fixed-size list in a fresh heap.
- lst[1] = new List(123456);
-}
-
-int fooId;
-
-var tests = [
-
-(Isolate isolate) async {
- Library lib = await isolate.rootLibrary.load();
- expect(lib.classes.length, equals(1));
- Class fooClass = lib.classes.first;
- fooId = fooClass.vmCid;
-
- RawHeapSnapshot raw = await isolate.fetchHeapSnapshot(false).last;
- HeapSnapshot snapshot = new HeapSnapshot();
- await snapshot.loadProgress(isolate, raw).last;
- ObjectGraph graph = snapshot.graph;
-
- expect(fooId, isNotNull);
- Iterable<ObjectVertex> foos = graph.vertices.where(
- (ObjectVertex obj) => obj.vmCid == fooId);
- expect(foos.length, equals(3));
- expect(foos.where((obj) => obj.successors.length == 0).length,
- equals(1));
- expect(foos.where((obj) => obj.successors.length == 1).length,
- equals(1));
- expect(foos.where((obj) => obj.successors.length == 2).length,
- equals(1));
-
- ObjectVertex bVertex = foos.where(
- (ObjectVertex obj) => obj.successors.length == 0).first;
- ObjectVertex aVertex = foos.where(
- (ObjectVertex obj) => obj.successors.length == 1).first;
- ObjectVertex rVertex = foos.where(
- (ObjectVertex obj) => obj.successors.length == 2).first;
-
- // TODO(koda): Check actual byte sizes.
-
- expect(aVertex.retainedSize, equals(aVertex.shallowSize));
- expect(bVertex.retainedSize, equals(bVertex.shallowSize));
- expect(rVertex.retainedSize, equals(aVertex.shallowSize +
- bVertex.shallowSize +
- rVertex.shallowSize));
-
- Library corelib =
- isolate.libraries.singleWhere((lib) => lib.uri == 'dart:core');
- await corelib.load();
- Class _List =
- corelib.classes.singleWhere((cls) => cls.vmName.startsWith('_List'));
- int kArrayCid = _List.vmCid;
- // startsWith to ignore the private mangling
- List<ObjectVertex> lists = new List.from(graph.vertices.where(
- (ObjectVertex obj) => obj.vmCid == kArrayCid));
- expect(lists.length >= 2, isTrue);
- // Order by decreasing retained size.
- lists.sort((u, v) => v.retainedSize - u.retainedSize);
- ObjectVertex first = lists[0];
- ObjectVertex second = lists[1];
- // Check that the short list retains more than the long list inside.
- expect(first.successors.length,
- equals(2 + second.successors.length));
- // ... and specifically, that it retains exactly itself + the long one.
- expect(first.retainedSize,
- equals(first.shallowSize + second.shallowSize));
-},
-
-];
-
-main(args) => runIsolateTests(args, tests, testeeBefore: script);

Powered by Google App Engine
This is Rietveld 408576698