@alwaysmeticulous/cli 2.325.0 → 2.326.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/agent/index.js +4 -4
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/js-coverage.command.d.ts +11 -2
- package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
- package/dist/commands/agent/js-coverage.command.handler.spec.js +59 -3
- package/dist/commands/agent/js-coverage.command.handler.spec.js.map +1 -1
- package/dist/commands/agent/js-coverage.command.js +34 -14
- package/dist/commands/agent/js-coverage.command.js.map +1 -1
- package/dist/commands/agent/js-coverage.command.spec.js +12 -6
- package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
- package/dist/commands/agent/{test-run-checks.command.d.ts → test-run-check.command.d.ts} +5 -4
- package/dist/commands/agent/test-run-check.command.d.ts.map +1 -0
- package/dist/commands/agent/{test-run-checks.command.js → test-run-check.command.js} +97 -13
- package/dist/commands/agent/test-run-check.command.js.map +1 -0
- package/dist/commands/agent/test-run-check.command.spec.d.ts +2 -0
- package/dist/commands/agent/test-run-check.command.spec.d.ts.map +1 -0
- package/dist/commands/agent/test-run-check.command.spec.js +301 -0
- package/dist/commands/agent/test-run-check.command.spec.js.map +1 -0
- package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
- package/dist/commands/agent/test-run-diffs.command.js +26 -7
- package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
- package/dist/commands/agent/test-run-diffs.command.spec.js +22 -2
- package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
- package/dist/commands/ci/agent-test.command.d.ts.map +1 -1
- package/dist/commands/ci/agent-test.command.js +4 -3
- package/dist/commands/ci/agent-test.command.js.map +1 -1
- package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +24 -2
- package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
- package/dist/utils/resolve-test-run-from-commit.d.ts +11 -0
- package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
- package/dist/utils/resolve-test-run-from-commit.js +19 -11
- package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
- package/package.json +14 -14
- package/dist/commands/agent/test-run-checks.command.d.ts.map +0 -1
- package/dist/commands/agent/test-run-checks.command.js.map +0 -1
- package/dist/commands/agent/test-run-checks.command.spec.d.ts +0 -2
- package/dist/commands/agent/test-run-checks.command.spec.d.ts.map +0 -1
- package/dist/commands/agent/test-run-checks.command.spec.js +0 -132
- package/dist/commands/agent/test-run-checks.command.spec.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c2f56584-a7b3-52c0-82c1-ea7b35a56d9c")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.testRunCheckCommand = void 0;
|
|
6
6
|
const client_1 = require("@alwaysmeticulous/client");
|
|
7
7
|
const common_1 = require("@alwaysmeticulous/common");
|
|
8
8
|
const print_json_1 = require("../../command-utils/print-json");
|
|
@@ -18,24 +18,100 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
18
18
|
* for a long time on something that may never arrive.
|
|
19
19
|
*/
|
|
20
20
|
const REPORT_POLL_TIMEOUT_MS = 3 * 60_000;
|
|
21
|
-
const
|
|
21
|
+
const printAvailableIds = (checks) => {
|
|
22
|
+
const columns = [
|
|
23
|
+
{ header: "checkType", value: (check) => check.checkType },
|
|
24
|
+
{ header: "checkId", value: (check) => check.checkId },
|
|
25
|
+
];
|
|
26
|
+
console.log(columns.map((column) => column.header).join("\t"));
|
|
27
|
+
for (const check of checks) {
|
|
28
|
+
console.log(columns.map((column) => column.value(check)).join("\t"));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const handler = async ({ apiToken, testRunId, commitSha, checkType: checkTypeOption, checkId, availableIds, dontWaitForTestRunToComplete, json, project, }) => {
|
|
22
32
|
if (testRunId != null && commitSha != null) {
|
|
23
33
|
throw new cli_user_error_1.CliUserError("Pass either --testRunId or --commitSha, not both.");
|
|
24
34
|
}
|
|
35
|
+
if (availableIds) {
|
|
36
|
+
const incompatible = [
|
|
37
|
+
[checkId != null, "--checkId"],
|
|
38
|
+
[checkTypeOption != null, "--checkType"],
|
|
39
|
+
[dontWaitForTestRunToComplete, "--dontWaitForTestRunToComplete"],
|
|
40
|
+
]
|
|
41
|
+
.filter(([enabled]) => enabled)
|
|
42
|
+
.map(([, name]) => name);
|
|
43
|
+
if (incompatible.length > 0) {
|
|
44
|
+
throw new cli_user_error_1.CliUserError(`--availableIds cannot be combined with: ${incompatible.join(", ")}. ` +
|
|
45
|
+
"It lists check IDs instead of fetching a report; use it on its own " +
|
|
46
|
+
"(optionally with --testRunId/--commitSha/--project/--json).");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (checkId == null) {
|
|
50
|
+
throw new cli_user_error_1.CliUserError("--checkId is required unless --availableIds is set.");
|
|
51
|
+
}
|
|
52
|
+
const checkType = checkTypeOption ?? "builtin";
|
|
25
53
|
const client = await (0, client_1.createClientWithOAuth)({
|
|
26
54
|
apiToken,
|
|
27
55
|
enableOAuthLogin: true,
|
|
28
56
|
});
|
|
29
57
|
let resolvedTestRunId;
|
|
30
58
|
let status;
|
|
59
|
+
let isSessionPoolRun;
|
|
31
60
|
if (testRunId != null) {
|
|
32
61
|
resolvedTestRunId = testRunId;
|
|
33
|
-
|
|
62
|
+
const run = await (0, client_1.getTestRun)({ client, testRunId });
|
|
63
|
+
status = run.status;
|
|
64
|
+
// No eager/non-eager distinction here: a session-pool run has no check
|
|
65
|
+
// reports of its own to serve regardless of eagerness (see
|
|
66
|
+
// isBaseOrAnySessionPoolRun on the backend).
|
|
67
|
+
isSessionPoolRun = (0, resolve_test_run_from_commit_1.isSessionPool)(run.configData);
|
|
34
68
|
}
|
|
35
69
|
else {
|
|
36
70
|
const run = await (0, resolve_test_run_from_commit_1.resolveTestRunForCommitOrThrow)(client, commitSha, project);
|
|
37
71
|
resolvedTestRunId = run.testRunId;
|
|
38
72
|
status = run.status;
|
|
73
|
+
isSessionPoolRun = run.isSessionPoolRun;
|
|
74
|
+
}
|
|
75
|
+
// A base run exists to be compared against, not to be a change of its own,
|
|
76
|
+
// so it has no check reports of its own. A session-pool base can settle
|
|
77
|
+
// into Success/Failure without ever becoming Partial, so isSessionPoolRun
|
|
78
|
+
// is checked independently of status — and, for the --checkId path below,
|
|
79
|
+
// before waiting for the run to finish, since it's already known here and
|
|
80
|
+
// there's no reason to block on (or silently skip past, with
|
|
81
|
+
// --dontWaitForTestRunToComplete) a run that will never have check reports
|
|
82
|
+
// (mirrors the backend's getTestRunCheckReport/getTestRunCheckAvailableIds).
|
|
83
|
+
const assertNotBaseRun = () => {
|
|
84
|
+
throw new cli_user_error_1.CliUserError(`Test run ${resolvedTestRunId} is a base run other test runs compare against and consequently has no check reports.`);
|
|
85
|
+
};
|
|
86
|
+
if (isSessionPoolRun) {
|
|
87
|
+
assertNotBaseRun();
|
|
88
|
+
}
|
|
89
|
+
if (availableIds) {
|
|
90
|
+
// --availableIds never waits for the run to finish (see the empty-list
|
|
91
|
+
// notice below), so Partial — unlike an in-progress status — is already
|
|
92
|
+
// knowable synchronously here, without polling.
|
|
93
|
+
if ((0, resolve_test_run_from_commit_1.isTestRunPartial)(status)) {
|
|
94
|
+
assertNotBaseRun();
|
|
95
|
+
}
|
|
96
|
+
const checks = await (0, client_1.getTestRunCheckAvailableIds)(client, resolvedTestRunId);
|
|
97
|
+
if (json) {
|
|
98
|
+
(0, print_json_1.printJson)(checks);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
printAvailableIds(checks);
|
|
102
|
+
}
|
|
103
|
+
if (checks.length === 0) {
|
|
104
|
+
(0, common_1.logNotice)(`No check results have been reported for test run ${resolvedTestRunId} yet. ` +
|
|
105
|
+
"This never waits for the run or its checks to finish, so an empty " +
|
|
106
|
+
"list can also mean they simply haven't reported yet — re-run this " +
|
|
107
|
+
"command in a minute or so before concluding the run has no checks.");
|
|
108
|
+
}
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (checkId == null) {
|
|
112
|
+
// Unreachable: already validated above, before the OAuth login — this
|
|
113
|
+
// narrows the type for everything below rather than guarding anything.
|
|
114
|
+
throw new cli_user_error_1.CliUserError("--checkId is required unless --availableIds is set.");
|
|
39
115
|
}
|
|
40
116
|
const finishedStatus = await (0, resolve_test_run_from_commit_1.ensureTestRunFinished)(client, resolvedTestRunId, status, { dontWait: dontWaitForTestRunToComplete });
|
|
41
117
|
if (finishedStatus == null) {
|
|
@@ -44,8 +120,10 @@ const handler = async ({ apiToken, testRunId, commitSha, checkType, checkId, don
|
|
|
44
120
|
}
|
|
45
121
|
return;
|
|
46
122
|
}
|
|
123
|
+
// isSessionPoolRun was already checked above, before waiting; Partial only
|
|
124
|
+
// becomes known once the run has finished.
|
|
47
125
|
if ((0, resolve_test_run_from_commit_1.isTestRunPartial)(finishedStatus)) {
|
|
48
|
-
|
|
126
|
+
assertNotBaseRun();
|
|
49
127
|
}
|
|
50
128
|
(0, resolve_test_run_from_commit_1.assertTestRunComplete)(resolvedTestRunId, finishedStatus, {
|
|
51
129
|
resultName: "check reports",
|
|
@@ -79,11 +157,14 @@ const handler = async ({ apiToken, testRunId, commitSha, checkType, checkId, don
|
|
|
79
157
|
}
|
|
80
158
|
else {
|
|
81
159
|
console.log(response.text);
|
|
160
|
+
if (response.url != null) {
|
|
161
|
+
console.log(response.url);
|
|
162
|
+
}
|
|
82
163
|
}
|
|
83
164
|
};
|
|
84
|
-
exports.
|
|
85
|
-
command: "test-run-
|
|
86
|
-
describe: "Get the Markdown report for a given non-visual check. Outputs the report text, blocking until the test run and check results are ready by default, for at most 3 minutes. For --checkType custom, an error saying the run is not expecting custom check results can be transient shortly after the run completes, since the customer's CI registers its checks separately: retry for a minute or so before concluding the run has no custom checks.",
|
|
165
|
+
exports.testRunCheckCommand = {
|
|
166
|
+
command: "test-run-check",
|
|
167
|
+
describe: "Get the Markdown report for a given non-visual check. Outputs the report text, blocking until the test run and check results are ready by default, for at most 3 minutes. A report too large to return inline instead prints a short notice plus a download URL. For --checkType custom, an error saying the run is not expecting custom check results can be transient shortly after the run completes, since the customer's CI registers its checks separately: retry for a minute or so before concluding the run has no custom checks. Pass --availableIds to list the check IDs available for the run instead of fetching a report.",
|
|
87
168
|
builder: {
|
|
88
169
|
apiToken: { string: true, description: "Meticulous API token." },
|
|
89
170
|
testRunId: {
|
|
@@ -101,13 +182,16 @@ exports.testRunChecksCommand = {
|
|
|
101
182
|
},
|
|
102
183
|
checkType: {
|
|
103
184
|
choices: ["builtin", "custom"],
|
|
104
|
-
default: "builtin",
|
|
105
185
|
description: "Who computed the check: builtin for a Meticulous-provided check, or custom for a customer-reported check. Defaults to builtin.",
|
|
106
186
|
},
|
|
107
187
|
checkId: {
|
|
108
188
|
string: true,
|
|
109
|
-
|
|
110
|
-
|
|
189
|
+
description: "The check ID. Use --availableIds to list the check IDs available for a test run.",
|
|
190
|
+
},
|
|
191
|
+
availableIds: {
|
|
192
|
+
boolean: true,
|
|
193
|
+
default: false,
|
|
194
|
+
description: "List the check IDs that have reported results for the test run, instead of fetching a report. Outputs a TSV table with columns checkType, checkId. Unlike fetching a report, this never waits for the test run or its checks to finish: an empty list shortly after triggering a run can mean the checks simply haven't reported yet rather than that none exist, so retry for a minute or so (the same budget a report fetch gives itself) before concluding the run has no checks.",
|
|
111
195
|
},
|
|
112
196
|
dontWaitForTestRunToComplete: {
|
|
113
197
|
boolean: true,
|
|
@@ -117,5 +201,5 @@ exports.testRunChecksCommand = {
|
|
|
117
201
|
},
|
|
118
202
|
handler: (0, sentry_utils_1.wrapHandler)(handler),
|
|
119
203
|
};
|
|
120
|
-
//# sourceMappingURL=test-run-
|
|
121
|
-
//# debugId=
|
|
204
|
+
//# sourceMappingURL=test-run-check.command.js.map
|
|
205
|
+
//# debugId=c2f56584-a7b3-52c0-82c1-ea7b35a56d9c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run-check.command.js","sources":["../../../src/commands/agent/test-run-check.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"c2f56584-a7b3-52c0-82c1-ea7b35a56d9c"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run-check.command.spec.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/test-run-check.command.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="985dd92d-7fdf-5d4b-a315-64754b694ba6")}catch(e){}}();
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const vitest_1 = require("vitest");
|
|
6
|
+
const test_run_check_command_1 = require("./test-run-check.command");
|
|
7
|
+
vitest_1.vi.mock("../../command-utils/sentry.utils", () => ({
|
|
8
|
+
wrapHandler: (fn) => fn,
|
|
9
|
+
}));
|
|
10
|
+
const mocks = vitest_1.vi.hoisted(() => ({
|
|
11
|
+
createClientWithOAuth: vitest_1.vi.fn(),
|
|
12
|
+
getTestRun: vitest_1.vi.fn(),
|
|
13
|
+
getTestRunCheckReport: vitest_1.vi.fn(),
|
|
14
|
+
getTestRunCheckAvailableIds: vitest_1.vi.fn(),
|
|
15
|
+
ensureTestRunFinished: vitest_1.vi.fn(),
|
|
16
|
+
assertTestRunComplete: vitest_1.vi.fn(),
|
|
17
|
+
isSessionPool: vitest_1.vi.fn(),
|
|
18
|
+
isTestRunPartial: vitest_1.vi.fn(),
|
|
19
|
+
resolveTestRunForCommitOrThrow: vitest_1.vi.fn(),
|
|
20
|
+
logNotice: vitest_1.vi.fn(),
|
|
21
|
+
logProgress: vitest_1.vi.fn(),
|
|
22
|
+
printJson: vitest_1.vi.fn(),
|
|
23
|
+
}));
|
|
24
|
+
vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
|
|
25
|
+
createClientWithOAuth: mocks.createClientWithOAuth,
|
|
26
|
+
getTestRun: mocks.getTestRun,
|
|
27
|
+
getTestRunCheckReport: mocks.getTestRunCheckReport,
|
|
28
|
+
getTestRunCheckAvailableIds: mocks.getTestRunCheckAvailableIds,
|
|
29
|
+
}));
|
|
30
|
+
vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
|
|
31
|
+
logNotice: mocks.logNotice,
|
|
32
|
+
logProgress: mocks.logProgress,
|
|
33
|
+
}));
|
|
34
|
+
vitest_1.vi.mock("../../command-utils/print-json", () => ({
|
|
35
|
+
printJson: mocks.printJson,
|
|
36
|
+
}));
|
|
37
|
+
vitest_1.vi.mock("../../utils/resolve-test-run-from-commit", () => ({
|
|
38
|
+
ensureTestRunFinished: mocks.ensureTestRunFinished,
|
|
39
|
+
assertTestRunComplete: mocks.assertTestRunComplete,
|
|
40
|
+
isSessionPool: mocks.isSessionPool,
|
|
41
|
+
isTestRunPartial: mocks.isTestRunPartial,
|
|
42
|
+
resolveTestRunForCommitOrThrow: mocks.resolveTestRunForCommitOrThrow,
|
|
43
|
+
}));
|
|
44
|
+
class ProcessExitError extends Error {
|
|
45
|
+
}
|
|
46
|
+
const runHandler = (overrides = {}) => test_run_check_command_1.testRunCheckCommand.handler({
|
|
47
|
+
apiToken: undefined,
|
|
48
|
+
testRunId: "tr-1",
|
|
49
|
+
commitSha: undefined,
|
|
50
|
+
checkType: undefined,
|
|
51
|
+
checkId: "accessibility",
|
|
52
|
+
availableIds: false,
|
|
53
|
+
dontWaitForTestRunToComplete: false,
|
|
54
|
+
json: false,
|
|
55
|
+
project: undefined,
|
|
56
|
+
...overrides,
|
|
57
|
+
});
|
|
58
|
+
let logSpy;
|
|
59
|
+
let exitSpy;
|
|
60
|
+
(0, vitest_1.describe)("test-run-check command", () => {
|
|
61
|
+
(0, vitest_1.beforeEach)(() => {
|
|
62
|
+
vitest_1.vi.clearAllMocks();
|
|
63
|
+
mocks.createClientWithOAuth.mockResolvedValue({});
|
|
64
|
+
mocks.getTestRun.mockResolvedValue({ status: "Success" });
|
|
65
|
+
mocks.ensureTestRunFinished.mockResolvedValue("Success");
|
|
66
|
+
mocks.isTestRunPartial.mockReturnValue(false);
|
|
67
|
+
mocks.isSessionPool.mockReturnValue(false);
|
|
68
|
+
logSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
69
|
+
exitSpy = vitest_1.vi.spyOn(process, "exit").mockImplementation(() => {
|
|
70
|
+
throw new ProcessExitError();
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
(0, vitest_1.afterEach)(() => {
|
|
74
|
+
logSpy.mockRestore();
|
|
75
|
+
exitSpy.mockRestore();
|
|
76
|
+
vitest_1.vi.useRealTimers();
|
|
77
|
+
});
|
|
78
|
+
(0, vitest_1.it)("prints the completed report text", async () => {
|
|
79
|
+
mocks.getTestRunCheckReport.mockResolvedValue({
|
|
80
|
+
status: "complete",
|
|
81
|
+
text: "# Accessibility",
|
|
82
|
+
});
|
|
83
|
+
await runHandler();
|
|
84
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledWith("# Accessibility");
|
|
85
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).toHaveBeenCalledWith(vitest_1.expect.anything(), "tr-1", "accessibility", { checkType: "builtin" });
|
|
86
|
+
});
|
|
87
|
+
(0, vitest_1.it)("prints the download url on its own line for a report too large to inline", async () => {
|
|
88
|
+
mocks.getTestRunCheckReport.mockResolvedValue({
|
|
89
|
+
status: "complete",
|
|
90
|
+
text: "Report is 512KB — too large to return inline. Download the full report from the accompanying url.",
|
|
91
|
+
url: "https://example.com/signed-url",
|
|
92
|
+
});
|
|
93
|
+
await runHandler();
|
|
94
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenNthCalledWith(1, "Report is 512KB — too large to return inline. Download the full report from the accompanying url.");
|
|
95
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenNthCalledWith(2, "https://example.com/signed-url");
|
|
96
|
+
});
|
|
97
|
+
(0, vitest_1.it)("does not print a second line when the report has no url", async () => {
|
|
98
|
+
mocks.getTestRunCheckReport.mockResolvedValue({
|
|
99
|
+
status: "complete",
|
|
100
|
+
text: "# Accessibility",
|
|
101
|
+
});
|
|
102
|
+
await runHandler();
|
|
103
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledTimes(1);
|
|
104
|
+
});
|
|
105
|
+
(0, vitest_1.it)("polls processing results and prints the completed report as JSON", async () => {
|
|
106
|
+
mocks.getTestRunCheckReport
|
|
107
|
+
.mockResolvedValueOnce({ status: "processing" })
|
|
108
|
+
.mockResolvedValueOnce({ status: "complete", text: "# Report" });
|
|
109
|
+
vitest_1.vi.useFakeTimers();
|
|
110
|
+
const result = runHandler({ json: true });
|
|
111
|
+
await vitest_1.vi.advanceTimersByTimeAsync(2000);
|
|
112
|
+
await result;
|
|
113
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).toHaveBeenCalledTimes(2);
|
|
114
|
+
(0, vitest_1.expect)(mocks.printJson).toHaveBeenCalledWith({
|
|
115
|
+
status: "complete",
|
|
116
|
+
text: "# Report",
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
(0, vitest_1.it)("emits processing JSON and returns immediately when the run is unfinished and waiting is disabled", async () => {
|
|
120
|
+
mocks.ensureTestRunFinished.mockResolvedValue(null);
|
|
121
|
+
await runHandler({ json: true, dontWaitForTestRunToComplete: true });
|
|
122
|
+
(0, vitest_1.expect)(mocks.printJson).toHaveBeenCalledWith({ status: "processing" });
|
|
123
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).not.toHaveBeenCalled();
|
|
124
|
+
});
|
|
125
|
+
(0, vitest_1.it)("prints nothing when the run is unfinished, waiting is disabled, and --json is not set", async () => {
|
|
126
|
+
mocks.ensureTestRunFinished.mockResolvedValue(null);
|
|
127
|
+
await runHandler({ json: false, dontWaitForTestRunToComplete: true });
|
|
128
|
+
(0, vitest_1.expect)(mocks.printJson).not.toHaveBeenCalled();
|
|
129
|
+
(0, vitest_1.expect)(logSpy).not.toHaveBeenCalled();
|
|
130
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).not.toHaveBeenCalled();
|
|
131
|
+
});
|
|
132
|
+
(0, vitest_1.it)("reports an execution failure instead of continuing to poll", async () => {
|
|
133
|
+
mocks.getTestRunCheckReport.mockResolvedValue({
|
|
134
|
+
status: "failed",
|
|
135
|
+
reason: "execution-error",
|
|
136
|
+
});
|
|
137
|
+
await (0, vitest_1.expect)(runHandler()).rejects.toThrow(ProcessExitError);
|
|
138
|
+
(0, vitest_1.expect)(exitSpy).toHaveBeenCalledWith(1);
|
|
139
|
+
(0, vitest_1.expect)(mocks.logNotice).toHaveBeenCalledWith(vitest_1.expect.stringContaining("execution-error"));
|
|
140
|
+
});
|
|
141
|
+
// A session-pool base can settle into Success/Failure without ever
|
|
142
|
+
// becoming Partial, so isSessionPool is checked independently of
|
|
143
|
+
// status (mirrors the backend's isBaseOrSessionPoolRun).
|
|
144
|
+
(0, vitest_1.it)("rejects a settled session-pool run resolved via --testRunId", async () => {
|
|
145
|
+
mocks.isSessionPool.mockReturnValue(true);
|
|
146
|
+
await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/is a base run other test runs compare against and consequently has no check reports/);
|
|
147
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).not.toHaveBeenCalled();
|
|
148
|
+
});
|
|
149
|
+
// isSessionPoolRun is already known before the run needs to finish, so a
|
|
150
|
+
// still-running session pool must be rejected immediately rather than
|
|
151
|
+
// waiting on (or, with --dontWaitForTestRunToComplete, silently returning
|
|
152
|
+
// processing JSON past) a run that will never have check reports.
|
|
153
|
+
(0, vitest_1.it)("rejects a settled session-pool run without waiting for it to finish", async () => {
|
|
154
|
+
mocks.isSessionPool.mockReturnValue(true);
|
|
155
|
+
await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/is a base run other test runs compare against and consequently has no check reports/);
|
|
156
|
+
(0, vitest_1.expect)(mocks.ensureTestRunFinished).not.toHaveBeenCalled();
|
|
157
|
+
});
|
|
158
|
+
(0, vitest_1.it)("resolves a test run from a commit when no testRunId is passed", async () => {
|
|
159
|
+
mocks.resolveTestRunForCommitOrThrow.mockResolvedValue({
|
|
160
|
+
testRunId: "tr-from-commit",
|
|
161
|
+
status: "Success",
|
|
162
|
+
});
|
|
163
|
+
mocks.getTestRunCheckReport.mockResolvedValue({
|
|
164
|
+
status: "complete",
|
|
165
|
+
text: "report",
|
|
166
|
+
});
|
|
167
|
+
await runHandler({ testRunId: undefined, commitSha: "abc123" });
|
|
168
|
+
(0, vitest_1.expect)(mocks.resolveTestRunForCommitOrThrow).toHaveBeenCalledWith(vitest_1.expect.anything(), "abc123", undefined);
|
|
169
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).toHaveBeenCalledWith(vitest_1.expect.anything(), "tr-from-commit", "accessibility", { checkType: "builtin" });
|
|
170
|
+
});
|
|
171
|
+
(0, vitest_1.it)("rejects a missing --checkId when --availableIds is not set, without logging in first", async () => {
|
|
172
|
+
await (0, vitest_1.expect)(runHandler({ checkId: undefined })).rejects.toThrow(/--checkId is required unless --availableIds is set/);
|
|
173
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckReport).not.toHaveBeenCalled();
|
|
174
|
+
(0, vitest_1.expect)(mocks.createClientWithOAuth).not.toHaveBeenCalled();
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
(0, vitest_1.describe)("test-run-check --availableIds", () => {
|
|
178
|
+
(0, vitest_1.beforeEach)(() => {
|
|
179
|
+
vitest_1.vi.clearAllMocks();
|
|
180
|
+
mocks.createClientWithOAuth.mockResolvedValue({});
|
|
181
|
+
mocks.getTestRun.mockResolvedValue({ status: "Success" });
|
|
182
|
+
mocks.isTestRunPartial.mockReturnValue(false);
|
|
183
|
+
mocks.isSessionPool.mockReturnValue(false);
|
|
184
|
+
logSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
185
|
+
});
|
|
186
|
+
(0, vitest_1.afterEach)(() => {
|
|
187
|
+
logSpy.mockRestore();
|
|
188
|
+
});
|
|
189
|
+
(0, vitest_1.it)("prints a TSV table of the available check IDs", async () => {
|
|
190
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([
|
|
191
|
+
{ checkType: "builtin", checkId: "accessibility" },
|
|
192
|
+
{ checkType: "custom", checkId: "my-check" },
|
|
193
|
+
]);
|
|
194
|
+
await runHandler({ availableIds: true, checkId: undefined });
|
|
195
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledWith("checkType\tcheckId");
|
|
196
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledWith("builtin\taccessibility");
|
|
197
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledWith("custom\tmy-check");
|
|
198
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).toHaveBeenCalledWith(vitest_1.expect.anything(), "tr-1");
|
|
199
|
+
// Resolving isSessionPoolRun for an explicit --testRunId needs its
|
|
200
|
+
// configData, but --availableIds still never waits for the run to finish.
|
|
201
|
+
(0, vitest_1.expect)(mocks.getTestRun).toHaveBeenCalledWith({
|
|
202
|
+
client: vitest_1.expect.anything(),
|
|
203
|
+
testRunId: "tr-1",
|
|
204
|
+
});
|
|
205
|
+
(0, vitest_1.expect)(mocks.ensureTestRunFinished).not.toHaveBeenCalled();
|
|
206
|
+
});
|
|
207
|
+
(0, vitest_1.it)("prints the result as JSON when --json is set", async () => {
|
|
208
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([
|
|
209
|
+
{ checkType: "builtin", checkId: "accessibility" },
|
|
210
|
+
]);
|
|
211
|
+
await runHandler({ availableIds: true, checkId: undefined, json: true });
|
|
212
|
+
(0, vitest_1.expect)(mocks.printJson).toHaveBeenCalledWith([
|
|
213
|
+
{ checkType: "builtin", checkId: "accessibility" },
|
|
214
|
+
]);
|
|
215
|
+
(0, vitest_1.expect)(logSpy).not.toHaveBeenCalled();
|
|
216
|
+
});
|
|
217
|
+
(0, vitest_1.it)("still prints the TSV header when no checks have reported results yet", async () => {
|
|
218
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([]);
|
|
219
|
+
await runHandler({ availableIds: true, checkId: undefined });
|
|
220
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledWith("checkType\tcheckId");
|
|
221
|
+
(0, vitest_1.expect)(logSpy).toHaveBeenCalledTimes(1);
|
|
222
|
+
(0, vitest_1.expect)(mocks.logNotice).toHaveBeenCalledWith(vitest_1.expect.stringContaining("tr-1"));
|
|
223
|
+
});
|
|
224
|
+
(0, vitest_1.it)("omits the TSV header when no checks have reported results yet and --json is set", async () => {
|
|
225
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([]);
|
|
226
|
+
await runHandler({ availableIds: true, checkId: undefined, json: true });
|
|
227
|
+
(0, vitest_1.expect)(logSpy).not.toHaveBeenCalled();
|
|
228
|
+
(0, vitest_1.expect)(mocks.printJson).toHaveBeenCalledWith([]);
|
|
229
|
+
});
|
|
230
|
+
(0, vitest_1.it)("resolves a test run from a commit when no testRunId is passed", async () => {
|
|
231
|
+
mocks.resolveTestRunForCommitOrThrow.mockResolvedValue({
|
|
232
|
+
testRunId: "tr-from-commit",
|
|
233
|
+
status: "Success",
|
|
234
|
+
});
|
|
235
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([]);
|
|
236
|
+
await runHandler({
|
|
237
|
+
availableIds: true,
|
|
238
|
+
checkId: undefined,
|
|
239
|
+
testRunId: undefined,
|
|
240
|
+
commitSha: "abc123",
|
|
241
|
+
});
|
|
242
|
+
(0, vitest_1.expect)(mocks.resolveTestRunForCommitOrThrow).toHaveBeenCalledWith(vitest_1.expect.anything(), "abc123", undefined);
|
|
243
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).toHaveBeenCalledWith(vitest_1.expect.anything(), "tr-from-commit");
|
|
244
|
+
});
|
|
245
|
+
// The backend already rejects a base run via assertNotBaseRun in
|
|
246
|
+
// getTestRunCheckAvailableIds, but checking client-side first saves that
|
|
247
|
+
// round trip and keeps --availableIds consistent with --checkId.
|
|
248
|
+
(0, vitest_1.it)("rejects a settled session-pool run without calling getTestRunCheckAvailableIds", async () => {
|
|
249
|
+
mocks.isSessionPool.mockReturnValue(true);
|
|
250
|
+
await (0, vitest_1.expect)(runHandler({ availableIds: true, checkId: undefined })).rejects.toThrow(/is a base run other test runs compare against and consequently has no check reports/);
|
|
251
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
252
|
+
});
|
|
253
|
+
(0, vitest_1.it)("rejects a Partial base run without calling getTestRunCheckAvailableIds", async () => {
|
|
254
|
+
mocks.getTestRun.mockResolvedValue({ status: "Partial" });
|
|
255
|
+
mocks.isTestRunPartial.mockReturnValue(true);
|
|
256
|
+
await (0, vitest_1.expect)(runHandler({ availableIds: true, checkId: undefined })).rejects.toThrow(/is a base run other test runs compare against and consequently has no check reports/);
|
|
257
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
258
|
+
});
|
|
259
|
+
(0, vitest_1.it)("rejects combining --availableIds with --checkId", async () => {
|
|
260
|
+
await (0, vitest_1.expect)(runHandler({ availableIds: true, checkId: "accessibility" })).rejects.toThrow(/--availableIds cannot be combined with: --checkId/);
|
|
261
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
262
|
+
});
|
|
263
|
+
(0, vitest_1.it)("rejects combining --availableIds with an explicit non-default --checkType", async () => {
|
|
264
|
+
await (0, vitest_1.expect)(runHandler({
|
|
265
|
+
availableIds: true,
|
|
266
|
+
checkId: undefined,
|
|
267
|
+
checkType: "custom",
|
|
268
|
+
})).rejects.toThrow(/--availableIds cannot be combined with: --checkType/);
|
|
269
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
270
|
+
});
|
|
271
|
+
(0, vitest_1.it)("rejects combining --availableIds with an explicit --checkType matching the default", async () => {
|
|
272
|
+
// --checkType=builtin is redundant with the default, but still an
|
|
273
|
+
// explicit selector the user typed — the incompatibility is about the
|
|
274
|
+
// flag being passed at all, not about its resolved value.
|
|
275
|
+
await (0, vitest_1.expect)(runHandler({
|
|
276
|
+
availableIds: true,
|
|
277
|
+
checkId: undefined,
|
|
278
|
+
checkType: "builtin",
|
|
279
|
+
})).rejects.toThrow(/--availableIds cannot be combined with: --checkType/);
|
|
280
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
281
|
+
});
|
|
282
|
+
(0, vitest_1.it)("allows --availableIds when --checkType is left at its implicit default", async () => {
|
|
283
|
+
mocks.getTestRunCheckAvailableIds.mockResolvedValue([]);
|
|
284
|
+
await runHandler({
|
|
285
|
+
availableIds: true,
|
|
286
|
+
checkId: undefined,
|
|
287
|
+
checkType: undefined,
|
|
288
|
+
});
|
|
289
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).toHaveBeenCalled();
|
|
290
|
+
});
|
|
291
|
+
(0, vitest_1.it)("rejects combining --availableIds with --dontWaitForTestRunToComplete", async () => {
|
|
292
|
+
await (0, vitest_1.expect)(runHandler({
|
|
293
|
+
availableIds: true,
|
|
294
|
+
checkId: undefined,
|
|
295
|
+
dontWaitForTestRunToComplete: true,
|
|
296
|
+
})).rejects.toThrow(/--availableIds cannot be combined with: --dontWaitForTestRunToComplete/);
|
|
297
|
+
(0, vitest_1.expect)(mocks.getTestRunCheckAvailableIds).not.toHaveBeenCalled();
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
//# sourceMappingURL=test-run-check.command.spec.js.map
|
|
301
|
+
//# debugId=985dd92d-7fdf-5d4b-a315-64754b694ba6
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run-check.command.spec.js","sources":["../../../src/commands/agent/test-run-check.command.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,mCAAyE;AACzE,qEAA+D;AAE/D,WAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,WAAW,EAAE,CAAC,EAAyC,EAAE,EAAE,CAAC,EAAE;CAC/D,CAAC,CAAC,CAAC;AAEJ,MAAM,KAAK,GAAG,WAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,qBAAqB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC9B,UAAU,EAAE,WAAE,CAAC,EAAE,EAAE;IACnB,qBAAqB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC9B,2BAA2B,EAAE,WAAE,CAAC,EAAE,EAAE;IACpC,qBAAqB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC9B,qBAAqB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC9B,aAAa,EAAE,WAAE,CAAC,EAAE,EAAE;IACtB,gBAAgB,EAAE,WAAE,CAAC,EAAE,EAAE;IACzB,8BAA8B,EAAE,WAAE,CAAC,EAAE,EAAE;IACvC,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;IAClB,WAAW,EAAE,WAAE,CAAC,EAAE,EAAE;IACpB,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;CACnB,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;IAClD,UAAU,EAAE,KAAK,CAAC,UAAU;IAC5B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;IAClD,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;CAC/D,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;CAC/B,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;CAC3B,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;IAClD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;IAClD,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;IACxC,8BAA8B,EAAE,KAAK,CAAC,8BAA8B;CACrE,CAAC,CAAC,CAAC;AAEJ,MAAM,gBAAiB,SAAQ,KAAK;CAAG;AAEvC,MAAM,UAAU,GAAG,CAAC,YAAqC,EAAE,EAAE,EAAE,CAE3D,4CAGD,CAAC,OAAO,CAAC;IACR,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,eAAe;IACxB,YAAY,EAAE,KAAK;IACnB,4BAA4B,EAAE,KAAK;IACnC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,SAAS;IAClB,GAAG,SAAS;CACb,CAAC,CAAC;AAEL,IAAI,MAAmC,CAAC;AACxC,IAAI,OAAoC,CAAC;AAEzC,IAAA,iBAAQ,EAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC1D,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,WAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC5C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CACtD,eAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,EACN,eAAe,EACf,EAAE,SAAS,EAAE,SAAS,EAAE,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC5C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,mGAAmG;YACzG,GAAG,EAAE,gCAAgC;SACtC,CAAC,CAAC;QAEH,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,uBAAuB,CACpC,CAAC,EACD,mGAAmG,CACpG,CAAC;QACF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC5C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,KAAK,CAAC,qBAAqB;aACxB,qBAAqB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;aAC/C,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,WAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,WAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC;QAEb,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YAC3C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC5C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAA,eAAM,EAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE7D,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAC1C,eAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,iEAAiE;IACjE,yDAAyD;IACzD,IAAA,WAAE,EAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,IAAA,eAAM,EAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CACxC,qFAAqF,CACtF,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,sEAAsE;IACtE,0EAA0E;IAC1E,kEAAkE;IAClE,IAAA,WAAE,EAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,IAAA,eAAM,EAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CACxC,qFAAqF,CACtF,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,KAAK,CAAC,8BAA8B,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC5C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEhE,IAAA,eAAM,EAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAC/D,eAAM,CAAC,QAAQ,EAAE,EACjB,QAAQ,EACR,SAAS,CACV,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CACtD,eAAM,CAAC,QAAQ,EAAE,EACjB,gBAAgB,EAChB,eAAe,EACf,EAAE,SAAS,EAAE,SAAS,EAAE,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,IAAA,eAAM,EAAC,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9D,oDAAoD,CACrD,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC;YAClD,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE;YAClD,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;SAC7C,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,oBAAoB,CAC5D,eAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CACP,CAAC;QACF,mEAAmE;QACnE,0EAA0E;QAC1E,IAAA,eAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YAC5C,MAAM,EAAE,eAAM,CAAC,QAAQ,EAAE;YACzB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC;YAClD,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE;SACnD,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YAC3C,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE;SACnD,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAC1C,eAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAA,eAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,KAAK,CAAC,8BAA8B,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAC/D,eAAM,CAAC,QAAQ,EAAE,EACjB,QAAQ,EACR,SAAS,CACV,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,oBAAoB,CAC5D,eAAM,CAAC,QAAQ,EAAE,EACjB,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,yEAAyE;IACzE,iEAAiE;IACjE,IAAA,WAAE,EAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,IAAA,eAAM,EACV,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACvD,CAAC,OAAO,CAAC,OAAO,CACf,qFAAqF,CACtF,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAA,eAAM,EACV,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACvD,CAAC,OAAO,CAAC,OAAO,CACf,qFAAqF,CACtF,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,eAAM,EACV,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAC7D,CAAC,OAAO,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;QACvE,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,IAAA,eAAM,EACV,UAAU,CAAC;YACT,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,QAAQ;SACpB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;QACzE,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAClG,kEAAkE;QAClE,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,IAAA,eAAM,EACV,UAAU,CAAC;YACT,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;SACrB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;QACzE,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAA,eAAM,EACV,UAAU,CAAC;YACT,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,4BAA4B,EAAE,IAAI;SACnC,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,wEAAwE,CACzE,CAAC;QACF,IAAA,eAAM,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"985dd92d-7fdf-5d4b-a315-64754b694ba6"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-run-diffs.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"test-run-diffs.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkB3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AA2QD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAgG/D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="98f7387c-b187-5434-a49c-53867dde2aaf")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.testRunDiffsCommand = void 0;
|
|
@@ -61,14 +61,34 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
|
|
|
61
61
|
// given, from the local checkout's HEAD.
|
|
62
62
|
let resolvedTestRunId;
|
|
63
63
|
let status;
|
|
64
|
+
let isSessionPoolRun;
|
|
64
65
|
if (testRunId != null) {
|
|
65
66
|
resolvedTestRunId = testRunId;
|
|
66
|
-
|
|
67
|
+
const run = await (0, client_1.getTestRun)({ client, testRunId });
|
|
68
|
+
status = run.status;
|
|
69
|
+
// No eager/non-eager distinction here: a session-pool run has no diffs of
|
|
70
|
+
// its own to list regardless of eagerness (see isBaseOrAnySessionPoolRun
|
|
71
|
+
// on the backend).
|
|
72
|
+
isSessionPoolRun = (0, resolve_test_run_from_commit_1.isSessionPool)(run.configData);
|
|
67
73
|
}
|
|
68
74
|
else {
|
|
69
75
|
const run = await (0, resolve_test_run_from_commit_1.resolveTestRunForCommitOrThrow)(client, commitSha, project);
|
|
70
76
|
resolvedTestRunId = run.testRunId;
|
|
71
77
|
status = run.status;
|
|
78
|
+
isSessionPoolRun = run.isSessionPoolRun;
|
|
79
|
+
}
|
|
80
|
+
// A base run exists to be compared against, not to be a change of its own,
|
|
81
|
+
// so it has no diffs to list. A session-pool base can settle into
|
|
82
|
+
// Success/Failure without ever becoming Partial, so this is checked
|
|
83
|
+
// independently of status — and before waiting below, since it's already
|
|
84
|
+
// known at this point and there's no reason to block on (or silently skip
|
|
85
|
+
// past, with --dontWaitForTestRunToComplete) a run that will never have
|
|
86
|
+
// diffs (mirrors the backend's assertDiffsSummaryApplicable/assertNotBaseRun).
|
|
87
|
+
const assertNotBaseRun = () => {
|
|
88
|
+
throw new cli_user_error_1.CliUserError(`Test run ${resolvedTestRunId} is a base run other test runs compare against and consequently has no changes/diffs.`);
|
|
89
|
+
};
|
|
90
|
+
if (isSessionPoolRun) {
|
|
91
|
+
assertNotBaseRun();
|
|
72
92
|
}
|
|
73
93
|
const includeReviewsResolved = includeReviews || includeReviewDecisions;
|
|
74
94
|
const columns = {
|
|
@@ -98,11 +118,10 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
|
|
|
98
118
|
}
|
|
99
119
|
return;
|
|
100
120
|
}
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
// waiting for it wouldn't help either.
|
|
121
|
+
// isSessionPoolRun was already checked above, before waiting; Partial only
|
|
122
|
+
// becomes known once the run has finished.
|
|
104
123
|
if ((0, resolve_test_run_from_commit_1.isTestRunPartial)(finishedStatus)) {
|
|
105
|
-
|
|
124
|
+
assertNotBaseRun();
|
|
106
125
|
}
|
|
107
126
|
// Fatal failures already threw while waiting.
|
|
108
127
|
(0, resolve_test_run_from_commit_1.assertTestRunComplete)(resolvedTestRunId, finishedStatus, {
|
|
@@ -267,4 +286,4 @@ exports.testRunDiffsCommand = {
|
|
|
267
286
|
handler: (0, sentry_utils_1.wrapHandler)(handler),
|
|
268
287
|
};
|
|
269
288
|
//# sourceMappingURL=test-run-diffs.command.js.map
|
|
270
|
-
//# debugId=
|
|
289
|
+
//# debugId=98f7387c-b187-5434-a49c-53867dde2aaf
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-run-diffs.command.js","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,qDAMkC;AAClC,qDAAkE;AAElE,+DAA2D;AAC3D,mEAA+D;AAC/D,+DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"test-run-diffs.command.js","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"98f7387c-b187-5434-a49c-53867dde2aaf"}
|