| Index: test/inspector/debugger/async-stacks-limit.js
|
| diff --git a/test/inspector/debugger/async-stacks-limit.js b/test/inspector/debugger/async-stacks-limit.js
|
| deleted file mode 100644
|
| index 62206750df58875112fc1c84587423002077f533..0000000000000000000000000000000000000000
|
| --- a/test/inspector/debugger/async-stacks-limit.js
|
| +++ /dev/null
|
| @@ -1,164 +0,0 @@
|
| -// Copyright 2016 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.
|
| -
|
| -InspectorTest.log('Checks that async stacks works good with different limits');
|
| -
|
| -InspectorTest.addScript(`
|
| -var resolveTest;
|
| -
|
| -function foo1() {
|
| - debugger;
|
| -}
|
| -
|
| -function foo2() {
|
| - debugger;
|
| - if (resolveTest) resolveTest();
|
| -}
|
| -
|
| -function promise() {
|
| - var resolve1;
|
| - var p1 = new Promise(resolve => resolve1 = resolve);
|
| - var p2 = p1.then(foo1);
|
| - resolve1();
|
| - return p2;
|
| -}
|
| -
|
| -function twoPromises() {
|
| - var resolve1;
|
| - var resolve2;
|
| - var p1 = new Promise(resolve => resolve1 = resolve);
|
| - var p2 = new Promise(resolve => resolve2 = resolve);
|
| - var p3 = p1.then(foo1);
|
| - var p4 = p2.then(foo2);
|
| - resolve1();
|
| - resolve2();
|
| - return Promise.all([p3, p4]);
|
| -}
|
| -
|
| -function twoSetTimeout() {
|
| - setTimeout(foo1, 0);
|
| - setTimeout(foo2, 0);
|
| - return new Promise(resolve => resolveTest = resolve);
|
| -}
|
| -
|
| -function twentySetTimeout() {
|
| - var resolve1;
|
| - var p1 = new Promise(resolve => resolve1 = resolve);
|
| - for (var i = 1; i <= 19; ++i)
|
| - setTimeout('(function foo' + i + '(){debugger;})()',0);
|
| - setTimeout(resolve1, 0);
|
| - return p1;
|
| -}
|
| -
|
| -//# sourceURL=test.js`, 7, 26);
|
| -
|
| -InspectorTest.setupScriptMap();
|
| -Protocol.Debugger.onPaused(message => {
|
| - InspectorTest.logCallFrames(message.params.callFrames);
|
| - var asyncStackTrace = message.params.asyncStackTrace;
|
| - while (asyncStackTrace) {
|
| - InspectorTest.log(`-- ${asyncStackTrace.description} --`);
|
| - InspectorTest.logCallFrames(asyncStackTrace.callFrames);
|
| - asyncStackTrace = asyncStackTrace.parent;
|
| - }
|
| - InspectorTest.log('');
|
| - Protocol.Debugger.resume();
|
| -});
|
| -
|
| -Protocol.Debugger.enable();
|
| -Protocol.Debugger.setAsyncCallStackDepth({ maxDepth: 128 });
|
| -InspectorTest.runTestSuite([
|
| - function testZeroLimit(next) {
|
| - Protocol.Runtime.evaluate({
|
| - expression: 'setMaxAsyncTaskStacks(0)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'promise()//# sourceURL=expr.js', awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testTwoLimit(next) {
|
| - // we need one stack for parent task and one for next task.
|
| - Protocol.Runtime
|
| - .evaluate({expression: 'setMaxAsyncTaskStacks(2)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'promise()//# sourceURL=expr.js',
|
| - awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testOneLimitTwoPromises(next) {
|
| - // Should be no async stacks because when first microtask is finished
|
| - // it will resolve and schedule p3 - will remove async stack for scheduled
|
| - // p2.
|
| - Protocol.Runtime.evaluate({
|
| - expression: 'setMaxAsyncTaskStacks(1)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twoPromises()//# sourceURL=expr.js', awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testFourLimitTwoPromises(next) {
|
| - Protocol.Runtime
|
| - .evaluate({expression: 'setMaxAsyncTaskStacks(4)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twoPromises()//# sourceURL=expr.js',
|
| - awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testSixLimitTwoPromises(next) {
|
| - Protocol.Runtime
|
| - .evaluate({expression: 'setMaxAsyncTaskStacks(6)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twoPromises()//# sourceURL=expr.js',
|
| - awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testTwoLimitTwoSetTimeouts(next) {
|
| - Protocol.Runtime.evaluate({
|
| - expression: 'setMaxAsyncTaskStacks(2)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twoSetTimeout()//# sourceURL=expr.js', awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testThreeLimitTwoSetTimeouts(next) {
|
| - Protocol.Runtime.evaluate({
|
| - expression: 'setMaxAsyncTaskStacks(3)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twoSetTimeout()//# sourceURL=expr.js', awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - },
|
| -
|
| - function testTenLimitTwentySetTimeouts(next) {
|
| - Protocol.Runtime.evaluate({
|
| - expression: 'setMaxAsyncTaskStacks(10)//# sourceURL=expr.js'})
|
| - .then(() => Protocol.Runtime.evaluate({
|
| - expression: 'twentySetTimeout()//# sourceURL=expr.js',
|
| - awaitPromise: true
|
| - }))
|
| - .then(() => cancelAllAsyncTasks())
|
| - .then(next);
|
| - }
|
| -]);
|
| -
|
| -function cancelAllAsyncTasks() {
|
| - return Protocol.Debugger.setAsyncCallStackDepth({ maxDepth: 0 })
|
| - .then(() => Protocol.Debugger.setAsyncCallStackDepth({ maxDepth: 128 }));
|
| -}
|
|
|