debug integration: make sure to clear out session on retry

This commit is contained in:
isidor 2020-03-10 10:11:48 +01:00
parent 0e10a3cbd1
commit c91e2b62d7

View file

@ -39,14 +39,23 @@ suite('Debug', function () {
this.retries(2);
test('start debugging', async function () {
assert.equal(debug.activeDebugSession, undefined);
let stoppedEvents = 0;
let variablesReceived: () => void;
let initializedReceived: () => void;
let configurationDoneReceived: () => void;
const toDispose: Disposable[] = [];
if (debug.activeDebugSession) {
// We are re-running due to flakyness, make sure to clear out state
let sessionTerminatedRetry: () => void;
toDispose.push(debug.onDidTerminateDebugSession(() => {
sessionTerminatedRetry();
}));
const sessionTerminatedPromise = new Promise<void>(resolve => sessionTerminatedRetry = resolve);
await commands.executeCommand('workbench.action.debug.stop');
await sessionTerminatedPromise;
}
const firstVariablesRetrieved = new Promise<void>(resolve => variablesReceived = resolve);
const toDispose: Disposable[] = [];
toDispose.push(debug.registerDebugAdapterTrackerFactory('*', {
createDebugAdapterTracker: () => ({
onDidSendMessage: m => {