summaryrefslogtreecommitdiff
path: root/deps/v8/test/inspector/debugger/collect-obsolete-async-tasks.js
blob: cfef345d1975ce0a9029737f003074913bc5d469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

let {session, contextGroup, Protocol} = InspectorTest.start('Checks that we collect obsolete async tasks with async stacks.');

contextGroup.addScript(`
function test() {
  inspector.setMaxAsyncTaskStacks(128);
  var p = Promise.resolve();

  inspector.dumpAsyncTaskStacksStateForTest();
  inspector.setMaxAsyncTaskStacks(128);
  inspector.dumpAsyncTaskStacksStateForTest();

  p.then(() => 42).then(() => 239);

  inspector.dumpAsyncTaskStacksStateForTest();
  inspector.setMaxAsyncTaskStacks(128);
  inspector.dumpAsyncTaskStacksStateForTest();

  setTimeout(() => 42, 0);

  inspector.dumpAsyncTaskStacksStateForTest();
  inspector.setMaxAsyncTaskStacks(128);
  inspector.dumpAsyncTaskStacksStateForTest();
}
`);

(async function test() {
  Protocol.Debugger.enable();
  Protocol.Debugger.setAsyncCallStackDepth({maxDepth: 128});
  await Protocol.Runtime.evaluate({expression: 'test()'});
  InspectorTest.completeTest();
})()