// 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().then(() => 42); 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(); })()