testing: fix run incorrectly ending if executed on multiple controllers

Fixes (#131827)
This commit is contained in:
Connor Peet 2021-08-30 15:19:10 -07:00
parent f3fbecd1cc
commit 604dd1418f
No known key found for this signature in database
GPG key ID: CF8FD2EA0DBC61BD
2 changed files with 8 additions and 6 deletions

View file

@ -3,12 +3,12 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { mapFind } from 'vs/base/common/arrays';
import { VSBuffer } from 'vs/base/common/buffer';
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import { Emitter, Event } from 'vs/base/common/event';
import { once } from 'vs/base/common/functional';
import { hash } from 'vs/base/common/hash';
import { Iterable } from 'vs/base/common/iterator';
import { Disposable, DisposableStore, toDisposable } from 'vs/base/common/lifecycle';
import { MarshalledId } from 'vs/base/common/marshalling';
import { deepFreeze } from 'vs/base/common/objects';
@ -161,14 +161,16 @@ export class ExtHostTesting implements ExtHostTestingShape {
* @inheritdoc
*/
$provideFileCoverage(runId: string, taskId: string, token: CancellationToken): Promise<IFileCoverage[]> {
return Iterable.find(this.runTracker.trackers, t => t.id === runId)?.getCoverage(taskId)?.provideFileCoverage(token) ?? Promise.resolve([]);
const coverage = mapFind(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
return coverage?.provideFileCoverage(token) ?? Promise.resolve([]);
}
/**
* @inheritdoc
*/
$resolveFileCoverage(runId: string, taskId: string, fileIndex: number, token: CancellationToken): Promise<CoverageDetails[]> {
return Iterable.find(this.runTracker.trackers, t => t.id === runId)?.getCoverage(taskId)?.resolveFileCoverage(fileIndex, token) ?? Promise.resolve([]);
const coverage = mapFind(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
return coverage?.resolveFileCoverage(fileIndex, token) ?? Promise.resolve([]);
}
/** @inheritdoc */
@ -263,7 +265,7 @@ export class ExtHostTesting implements ExtHostTestingShape {
await Event.toPromise(tracker.onEnd);
}
this.runTracker.cancelRunById(req.runId);
tracker.dispose();
}
}

View file

@ -16,8 +16,8 @@ export const statePriority: { [K in TestResultState]: number } = {
[TestResultState.Running]: 6,
[TestResultState.Errored]: 5,
[TestResultState.Failed]: 4,
[TestResultState.Queued]: 3,
[TestResultState.Passed]: 2,
[TestResultState.Passed]: 3,
[TestResultState.Queued]: 2,
[TestResultState.Unset]: 1,
[TestResultState.Skipped]: 0,
};