aa684004d0
This introduces a barrier that ensures that `V8InspectorClient::runIfWaitingForDebugger()` is only invoked once all sessions that requested a paused have invoked runIfWaitingForDebugger. Downstream change: https://chromium-review.googlesource.com/c/chromium/src/+/3977348 Bug: chromium:1352175 Change-Id: I9049c2de6da8e690ad4312cd6cb799619125bb62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3976353 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Andrey Kosyakov <caseq@chromium.org> Cr-Commit-Position: refs/heads/main@{#84191}
36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
// Copyright 2022 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.runAsyncTestSuite([
|
|
async function testTwoSessions() {
|
|
InspectorTest.log('Tests Runtime.runIfWaitingForDebugger');
|
|
|
|
const contextGroup = new InspectorTest.ContextGroup();
|
|
const resumed = contextGroup.waitForDebugger().then(() => InspectorTest.log('execution resumed'));
|
|
|
|
const session1 = contextGroup.connect();
|
|
const session2 = contextGroup.connect();
|
|
await session1.Protocol.Runtime.runIfWaitingForDebugger();
|
|
InspectorTest.log('session 1 resumed');
|
|
await session2.Protocol.Runtime.runIfWaitingForDebugger();
|
|
InspectorTest.log('session 2 resumed');
|
|
await resumed;
|
|
},
|
|
|
|
async function testSessionDisconnect() {
|
|
InspectorTest.log('Tests Runtime.runIfWaitingForDebugger');
|
|
|
|
const contextGroup = new InspectorTest.ContextGroup();
|
|
const resumed = contextGroup.waitForDebugger().then(() => InspectorTest.log('execution resumed'));
|
|
|
|
const session1 = contextGroup.connect();
|
|
const session2 = contextGroup.connect();
|
|
await session1.Protocol.Runtime.runIfWaitingForDebugger();
|
|
InspectorTest.log('session 1 resumed');
|
|
session2.disconnect();
|
|
InspectorTest.log('session 2 disconnected');
|
|
await resumed;
|
|
}
|
|
]);
|