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

Unified Diff: test/inspector/debugger/async-stacks-limit.js

Issue 2816043006: [inspector] avoid cloning of async call chains (Closed)
Patch Set: rebased Created 3 years, 8 months 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: 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 }));
-}

Powered by Google App Engine
This is Rietveld 408576698