xcodebuild-axi 0.1.10 → 0.1.12
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/CHANGELOG.md +158 -1
- package/README.md +4 -35
- package/dist/src/commands/coverage.d.ts +13 -2
- package/dist/src/commands/coverage.js +314 -7
- package/dist/src/commands/coverage.js.map +1 -1
- package/dist/src/commands/result.d.ts +11 -3
- package/dist/src/commands/result.js +367 -6
- package/dist/src/commands/result.js.map +1 -1
- package/dist/src/commands/settings.d.ts +6 -0
- package/dist/src/commands/settings.js +1 -1
- package/dist/src/commands/settings.js.map +1 -1
- package/dist/src/commands/sim.d.ts +20 -2
- package/dist/src/commands/sim.js +886 -11
- package/dist/src/commands/sim.js.map +1 -1
- package/dist/src/simctl.d.ts +29 -0
- package/dist/src/simctl.js +76 -0
- package/dist/src/simctl.js.map +1 -1
- package/dist/src/surface.js +24 -108
- package/dist/src/surface.js.map +1 -1
- package/dist/src/toon.d.ts +2 -0
- package/dist/src/toon.js +15 -0
- package/dist/src/toon.js.map +1 -1
- package/dist/src/xccov.d.ts +94 -0
- package/dist/src/xccov.js +178 -2
- package/dist/src/xccov.js.map +1 -1
- package/dist/src/xcodebuild.d.ts +26 -0
- package/dist/src/xcodebuild.js +50 -1
- package/dist/src/xcodebuild.js.map +1 -1
- package/dist/src/xcresult.d.ts +102 -0
- package/dist/src/xcresult.js +122 -0
- package/dist/src/xcresult.js.map +1 -1
- package/package.json +1 -1
package/dist/src/xccov.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdtempSync, readdirSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
2
5
|
import { AxiError } from "./errors.js";
|
|
3
6
|
/**
|
|
4
7
|
* Code coverage, read out of a result bundle with `xccov`.
|
|
@@ -18,15 +21,30 @@ function xccov(args) {
|
|
|
18
21
|
rejectPromise(new AxiError("That result bundle carries no coverage data", "RESULT_NOT_FOUND", ["Re-run the tests with `xcodebuild-axi test --coverage`"]));
|
|
19
22
|
return;
|
|
20
23
|
}
|
|
21
|
-
rejectPromise(new AxiError(
|
|
24
|
+
rejectPromise(new AxiError(complaint(stderr) || "xccov failed", "RESULT_NOT_FOUND"));
|
|
22
25
|
return;
|
|
23
26
|
}
|
|
24
27
|
resolvePromise(stdout);
|
|
25
28
|
});
|
|
26
29
|
});
|
|
27
30
|
}
|
|
31
|
+
export function coverageSource(path) {
|
|
32
|
+
if (path.endsWith(".xccovreport"))
|
|
33
|
+
return "report";
|
|
34
|
+
if (path.endsWith(".xccovarchive"))
|
|
35
|
+
return "archive";
|
|
36
|
+
return "bundle";
|
|
37
|
+
}
|
|
38
|
+
/** The `view` flags that select the report inside whatever this path is. */
|
|
39
|
+
function reportArgs(path) {
|
|
40
|
+
return coverageSource(path) === "bundle" ? ["view", "--report"] : ["view"];
|
|
41
|
+
}
|
|
42
|
+
/** The `view` flags that select the archive — raw counts, not percentages. */
|
|
43
|
+
function archiveArgs(path) {
|
|
44
|
+
return coverageSource(path) === "bundle" ? ["view", "--archive"] : ["view"];
|
|
45
|
+
}
|
|
28
46
|
export async function readCoverage(resultPath, options = {}) {
|
|
29
|
-
const stdout = await xccov([
|
|
47
|
+
const stdout = await xccov([...reportArgs(resultPath), "--json", resultPath]);
|
|
30
48
|
let parsed;
|
|
31
49
|
try {
|
|
32
50
|
parsed = JSON.parse(stdout);
|
|
@@ -75,4 +93,162 @@ export function percent(fraction) {
|
|
|
75
93
|
function firstLine(text) {
|
|
76
94
|
return text.trim().split("\n")[0] ?? "";
|
|
77
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* xccov's refusals, minus the NSError wrapping.
|
|
98
|
+
*
|
|
99
|
+
* A bad path comes back as `Error: Error Domain=XCCovErrorDomain Code=0
|
|
100
|
+
* "Failed to load result bundle" UserInfo={NSLocalizedDescription=Failed to
|
|
101
|
+
* load result bundle, NSUnderlyingError=0x… {…}}` — 400 characters around a
|
|
102
|
+
* five-word answer that is already in there.
|
|
103
|
+
*/
|
|
104
|
+
function complaint(stderr) {
|
|
105
|
+
const line = firstLine(stderr).replace(/^Error:\s*/, "");
|
|
106
|
+
return line.match(/NSLocalizedDescription=([^,}]+)/)?.[1]?.trim() ?? line;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Per-function coverage for one file.
|
|
110
|
+
*
|
|
111
|
+
* The file is matched by name or by the path it had when the report was
|
|
112
|
+
* written, so it need not exist on disk — which is the point when the report
|
|
113
|
+
* came from CI.
|
|
114
|
+
*/
|
|
115
|
+
export async function readFunctions(path, file) {
|
|
116
|
+
const stdout = await xccov([
|
|
117
|
+
...reportArgs(path),
|
|
118
|
+
"--functions-for-file",
|
|
119
|
+
file,
|
|
120
|
+
"--json",
|
|
121
|
+
path,
|
|
122
|
+
]);
|
|
123
|
+
let parsed;
|
|
124
|
+
try {
|
|
125
|
+
parsed = JSON.parse(stdout);
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
throw new AxiError("xccov returned output that could not be read", "RESULT_NOT_FOUND");
|
|
129
|
+
}
|
|
130
|
+
return parsed.map((entry) => ({
|
|
131
|
+
file: entry.file ?? file,
|
|
132
|
+
functions: (entry.functions ?? []).map((fn) => ({
|
|
133
|
+
name: fn.name ?? "unknown",
|
|
134
|
+
lineNumber: fn.lineNumber ?? 0,
|
|
135
|
+
executionCount: fn.executionCount ?? 0,
|
|
136
|
+
lineCoverage: fn.lineCoverage ?? 0,
|
|
137
|
+
coveredLines: fn.coveredLines ?? 0,
|
|
138
|
+
executableLines: fn.executableLines ?? 0,
|
|
139
|
+
})),
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Per-line execution counts for one file, out of the archive rather than the
|
|
144
|
+
* report — the report knows percentages, the archive knows how many times
|
|
145
|
+
* each line ran.
|
|
146
|
+
*/
|
|
147
|
+
export async function readFileLines(path, file) {
|
|
148
|
+
const stdout = await xccov([
|
|
149
|
+
...archiveArgs(path),
|
|
150
|
+
"--file",
|
|
151
|
+
file,
|
|
152
|
+
"--json",
|
|
153
|
+
path,
|
|
154
|
+
]);
|
|
155
|
+
let parsed;
|
|
156
|
+
try {
|
|
157
|
+
parsed = JSON.parse(stdout);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
throw new AxiError("xccov returned output that could not be read", "RESULT_NOT_FOUND");
|
|
161
|
+
}
|
|
162
|
+
return Object.values(parsed)
|
|
163
|
+
.flat()
|
|
164
|
+
.map((line) => ({
|
|
165
|
+
line: line.line ?? 0,
|
|
166
|
+
isExecutable: line.isExecutable === true,
|
|
167
|
+
executionCount: line.executionCount ?? 0,
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
/** Every file the archive holds counts for, which is what `--file` accepts. */
|
|
171
|
+
export async function readArchiveFiles(path) {
|
|
172
|
+
const stdout = await xccov([...archiveArgs(path), "--file-list", path]);
|
|
173
|
+
return stdout
|
|
174
|
+
.split("\n")
|
|
175
|
+
.map((line) => line.trim())
|
|
176
|
+
.filter((line) => line.length > 0);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Two coverage reports measured against each other.
|
|
180
|
+
*
|
|
181
|
+
* `xccov diff` refuses to run without `--json` — its own text form was
|
|
182
|
+
* removed — so there is only one shape to read.
|
|
183
|
+
*/
|
|
184
|
+
export async function readCoverageDiff(before, after) {
|
|
185
|
+
const stdout = await xccov(["diff", "--json", before, after]);
|
|
186
|
+
try {
|
|
187
|
+
return JSON.parse(stdout);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
throw new AxiError("xccov returned a diff that could not be read", "RESULT_NOT_FOUND");
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Combine the coverage of several runs into one report and archive.
|
|
195
|
+
*
|
|
196
|
+
* `xccov merge` takes report/archive **pairs**, not result bundles, so each
|
|
197
|
+
* bundle is unpacked with `xcresulttool export coverage` first. That two-step
|
|
198
|
+
* is the whole reason merging coverage across shards is something people give
|
|
199
|
+
* up on.
|
|
200
|
+
*/
|
|
201
|
+
export async function mergeCoverage(paths, outReport, outArchive) {
|
|
202
|
+
const pairs = [];
|
|
203
|
+
for (const path of paths) {
|
|
204
|
+
if (coverageSource(path) !== "bundle") {
|
|
205
|
+
pairs.push(path);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const exported = mkdtempSync(join(tmpdir(), "axi-xccov-"));
|
|
209
|
+
await exportCoverage(path, exported);
|
|
210
|
+
const report = findExported(exported, "CoverageReport");
|
|
211
|
+
const archive = findExported(exported, "CoverageArchive");
|
|
212
|
+
if (!report || !archive) {
|
|
213
|
+
throw new AxiError(`No coverage to merge in ${path}`, "RESULT_NOT_FOUND", ["Re-run those tests with `xcodebuild-axi test --coverage`"]);
|
|
214
|
+
}
|
|
215
|
+
pairs.push(report, archive);
|
|
216
|
+
}
|
|
217
|
+
await xccov([
|
|
218
|
+
"merge",
|
|
219
|
+
"--outReport",
|
|
220
|
+
outReport,
|
|
221
|
+
"--outArchive",
|
|
222
|
+
outArchive,
|
|
223
|
+
...pairs,
|
|
224
|
+
]);
|
|
225
|
+
}
|
|
226
|
+
function findExported(dir, suffix) {
|
|
227
|
+
const match = readdirSync(dir).find((entry) => entry.endsWith(suffix));
|
|
228
|
+
return match ? join(dir, match) : undefined;
|
|
229
|
+
}
|
|
230
|
+
function exportCoverage(path, outputPath) {
|
|
231
|
+
if (!existsSync(path)) {
|
|
232
|
+
throw new AxiError(`No result bundle at ${path}`, "RESULT_NOT_FOUND", [
|
|
233
|
+
"Run `xcodebuild-axi test --coverage` first — it prints the bundle path it wrote",
|
|
234
|
+
]);
|
|
235
|
+
}
|
|
236
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
237
|
+
execFile("xcrun", [
|
|
238
|
+
"xcresulttool",
|
|
239
|
+
"export",
|
|
240
|
+
"coverage",
|
|
241
|
+
"--path",
|
|
242
|
+
path,
|
|
243
|
+
"--output-path",
|
|
244
|
+
outputPath,
|
|
245
|
+
], { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, _stdout, stderr) => {
|
|
246
|
+
if (error) {
|
|
247
|
+
rejectPromise(new AxiError(firstLine(stderr) || `Could not read coverage out of ${path}`, "RESULT_NOT_FOUND", ["Re-run those tests with `xcodebuild-axi test --coverage`"]));
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
resolvePromise();
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
}
|
|
78
254
|
//# sourceMappingURL=xccov.js.map
|
package/dist/src/xccov.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xccov.js","sourceRoot":"","sources":["../../src/xccov.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;GAMG;AAEH,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA4C1C,SAAS,KAAK,CAAC,IAAc;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACnD,QAAQ,CACN,OAAO,EACP,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAClB,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAClD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,4DAA4D;gBAC5D,kDAAkD;gBAClD,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,aAAa,CACX,IAAI,QAAQ,CACV,6CAA6C,EAC7C,kBAAkB,EAClB,CAAC,wDAAwD,CAAC,CAC3D,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,aAAa,CACX,IAAI,QAAQ,CACV,SAAS,CAAC,MAAM,CAAC,IAAI,cAAc,EACnC,kBAAkB,CACnB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"xccov.js","sourceRoot":"","sources":["../../src/xccov.ts"],"names":[],"mappings":"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"}
|
package/dist/src/xcodebuild.d.ts
CHANGED
|
@@ -54,6 +54,32 @@ export declare function globalArtifactDir(): string;
|
|
|
54
54
|
* into the name so two checkouts of the same repo do not collide.
|
|
55
55
|
*/
|
|
56
56
|
export declare function artifactDir(project: ProjectContext): string;
|
|
57
|
+
/**
|
|
58
|
+
* Where something exported out of a result bundle lands.
|
|
59
|
+
*
|
|
60
|
+
* Keyed on the bundle rather than on the project, because `result` takes an
|
|
61
|
+
* arbitrary path and may be pointed at a bundle from anywhere — including a
|
|
62
|
+
* CI artifact in a checked-out repository, which is exactly the tree that must
|
|
63
|
+
* not be dirtied by asking what is in it.
|
|
64
|
+
*/
|
|
65
|
+
export declare function exportDir(bundlePath: string, kind: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Where a merged bundle lands when the caller did not say.
|
|
68
|
+
*
|
|
69
|
+
* Hashed over every input rather than just the first, so merging a different
|
|
70
|
+
* set of shards does not quietly overwrite the last merge of a different set.
|
|
71
|
+
*/
|
|
72
|
+
export declare function mergedBundlePath(paths: string[]): string;
|
|
73
|
+
/** Where a merged coverage report and archive land when nobody said. */
|
|
74
|
+
export declare function mergedCoveragePath(paths: string[]): string;
|
|
75
|
+
/**
|
|
76
|
+
* Where a screenshot or a screen recording lands.
|
|
77
|
+
*
|
|
78
|
+
* Under the cache directory like everything else this tool writes, and named
|
|
79
|
+
* for the device and the moment so a second capture does not overwrite the
|
|
80
|
+
* first -- the usual reason for taking two is to compare them.
|
|
81
|
+
*/
|
|
82
|
+
export declare function capturePath(device: string, extension: string): string;
|
|
57
83
|
/**
|
|
58
84
|
* Strip xcodebuild's fixed preamble.
|
|
59
85
|
*
|
package/dist/src/xcodebuild.js
CHANGED
|
@@ -2,7 +2,7 @@ import { execFile, spawn } from "node:child_process";
|
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import { createWriteStream, mkdirSync, rmSync } from "node:fs";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
|
-
import { join } from "node:path";
|
|
5
|
+
import { basename, join } from "node:path";
|
|
6
6
|
import { AxiError, xcodeNotInstalledError } from "./errors.js";
|
|
7
7
|
const MAX_METADATA_BYTES = 8 * 1024 * 1024;
|
|
8
8
|
/** Override the wrapped binary. Unset keeps the PATH lookup. */
|
|
@@ -118,6 +118,55 @@ export function artifactDir(project) {
|
|
|
118
118
|
.slice(0, 8);
|
|
119
119
|
return join(homedir(), "Library", "Caches", "xcodebuild-axi", `${project.name}-${hash}`);
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Where something exported out of a result bundle lands.
|
|
123
|
+
*
|
|
124
|
+
* Keyed on the bundle rather than on the project, because `result` takes an
|
|
125
|
+
* arbitrary path and may be pointed at a bundle from anywhere — including a
|
|
126
|
+
* CI artifact in a checked-out repository, which is exactly the tree that must
|
|
127
|
+
* not be dirtied by asking what is in it.
|
|
128
|
+
*/
|
|
129
|
+
export function exportDir(bundlePath, kind) {
|
|
130
|
+
const hash = createHash("sha256")
|
|
131
|
+
.update(bundlePath)
|
|
132
|
+
.digest("hex")
|
|
133
|
+
.slice(0, 8);
|
|
134
|
+
const stem = basename(bundlePath).replace(/\.xcresult$/, "");
|
|
135
|
+
return join(homedir(), "Library", "Caches", "xcodebuild-axi", "exports", `${stem}-${hash}`, kind);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Where a merged bundle lands when the caller did not say.
|
|
139
|
+
*
|
|
140
|
+
* Hashed over every input rather than just the first, so merging a different
|
|
141
|
+
* set of shards does not quietly overwrite the last merge of a different set.
|
|
142
|
+
*/
|
|
143
|
+
export function mergedBundlePath(paths) {
|
|
144
|
+
const hash = createHash("sha256")
|
|
145
|
+
.update(paths.join("\n"))
|
|
146
|
+
.digest("hex")
|
|
147
|
+
.slice(0, 8);
|
|
148
|
+
return join(homedir(), "Library", "Caches", "xcodebuild-axi", "exports", `merged-${hash}`, "merged.xcresult");
|
|
149
|
+
}
|
|
150
|
+
/** Where a merged coverage report and archive land when nobody said. */
|
|
151
|
+
export function mergedCoveragePath(paths) {
|
|
152
|
+
const hash = createHash("sha256")
|
|
153
|
+
.update(paths.join("\n"))
|
|
154
|
+
.digest("hex")
|
|
155
|
+
.slice(0, 8);
|
|
156
|
+
return join(homedir(), "Library", "Caches", "xcodebuild-axi", "exports", `coverage-${hash}`, "merged.xccovreport");
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Where a screenshot or a screen recording lands.
|
|
160
|
+
*
|
|
161
|
+
* Under the cache directory like everything else this tool writes, and named
|
|
162
|
+
* for the device and the moment so a second capture does not overwrite the
|
|
163
|
+
* first -- the usual reason for taking two is to compare them.
|
|
164
|
+
*/
|
|
165
|
+
export function capturePath(device, extension) {
|
|
166
|
+
const slug = device.replace(/[^A-Za-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
167
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
168
|
+
return join(homedir(), "Library", "Caches", "xcodebuild-axi", "captures", `${slug}-${stamp}.${extension}`);
|
|
169
|
+
}
|
|
121
170
|
/**
|
|
122
171
|
* Strip xcodebuild's fixed preamble.
|
|
123
172
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcodebuild.js","sourceRoot":"","sources":["../../src/xcodebuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"xcodebuild.js","sourceRoot":"","sources":["../../src/xcodebuild.ts"],"names":[],"mappings":"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"}
|
package/dist/src/xcresult.d.ts
CHANGED
|
@@ -217,6 +217,108 @@ export declare function readLog(path: string, type: string): Promise<LogSection>
|
|
|
217
217
|
/** The bundle's own metadata — when it was written, and in what format. */
|
|
218
218
|
export declare function readBundleMetadata(path: string): Promise<BundleMetadata>;
|
|
219
219
|
export declare function readBuildResults(path: string): Promise<BuildResults>;
|
|
220
|
+
/** What `xcresulttool compare` answers: one run measured against another. */
|
|
221
|
+
export interface Differential {
|
|
222
|
+
summary?: DifferentialSummary;
|
|
223
|
+
testFailures?: {
|
|
224
|
+
introduced?: TestFailureDelta[];
|
|
225
|
+
resolved?: TestFailureDelta[];
|
|
226
|
+
};
|
|
227
|
+
testsExecuted?: {
|
|
228
|
+
added?: TestReference[];
|
|
229
|
+
removed?: TestReference[];
|
|
230
|
+
};
|
|
231
|
+
buildWarnings?: IssueDelta;
|
|
232
|
+
analyzerIssues?: IssueDelta;
|
|
233
|
+
}
|
|
234
|
+
export interface DifferentialSummary {
|
|
235
|
+
testFailures?: CountDelta;
|
|
236
|
+
buildWarnings?: CountDelta;
|
|
237
|
+
analyzerIssues?: CountDelta;
|
|
238
|
+
testsExecuted?: {
|
|
239
|
+
itemsInBaseline?: number;
|
|
240
|
+
itemsInCurrent?: number;
|
|
241
|
+
added?: number;
|
|
242
|
+
removed?: number;
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
export interface CountDelta {
|
|
246
|
+
itemsInBaseline?: number;
|
|
247
|
+
itemsInCurrent?: number;
|
|
248
|
+
introduced?: number;
|
|
249
|
+
resolved?: number;
|
|
250
|
+
}
|
|
251
|
+
export interface TestReference {
|
|
252
|
+
name?: string;
|
|
253
|
+
testIdentifier?: string;
|
|
254
|
+
}
|
|
255
|
+
export interface TestFailureDelta {
|
|
256
|
+
associatedTest?: TestReference;
|
|
257
|
+
failureMessage?: string;
|
|
258
|
+
}
|
|
259
|
+
export interface IssueDelta {
|
|
260
|
+
introduced?: DifferentialIssue[];
|
|
261
|
+
resolved?: DifferentialIssue[];
|
|
262
|
+
}
|
|
263
|
+
export interface DifferentialIssue {
|
|
264
|
+
message?: string;
|
|
265
|
+
producingTarget?: string;
|
|
266
|
+
issueType?: string;
|
|
267
|
+
}
|
|
268
|
+
/** What an `xcresulttool export` can be asked for. */
|
|
269
|
+
export declare const EXPORT_KINDS: readonly ["attachments", "diagnostics", "metrics", "evaluations"];
|
|
270
|
+
export type ExportKind = (typeof EXPORT_KINDS)[number];
|
|
271
|
+
export interface ExportRequest {
|
|
272
|
+
path: string;
|
|
273
|
+
kind: ExportKind;
|
|
274
|
+
outputPath: string;
|
|
275
|
+
/** Narrow to one test case or suite. Not accepted by `diagnostics`. */
|
|
276
|
+
testId?: string;
|
|
277
|
+
/** Glob against the attachment filename. `attachments` only. */
|
|
278
|
+
filter?: string;
|
|
279
|
+
/** Only what a failure produced. `attachments` and `evaluations` only. */
|
|
280
|
+
onlyFailures?: boolean;
|
|
281
|
+
}
|
|
282
|
+
/** One test's row in an exported `manifest.json`. */
|
|
283
|
+
export interface ExportedAttachment {
|
|
284
|
+
exportedFileName?: string;
|
|
285
|
+
suggestedHumanReadableName?: string;
|
|
286
|
+
isAssociatedWithFailure?: boolean;
|
|
287
|
+
}
|
|
288
|
+
export interface AttachmentManifestEntry {
|
|
289
|
+
testIdentifier?: string;
|
|
290
|
+
attachments?: ExportedAttachment[];
|
|
291
|
+
}
|
|
292
|
+
export interface MetricsManifestEntry {
|
|
293
|
+
testIdentifier?: string;
|
|
294
|
+
metricsFiles?: string[];
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Write part of a bundle out to a directory.
|
|
298
|
+
*
|
|
299
|
+
* Unlike every other read here this one produces files rather than JSON, and
|
|
300
|
+
* it narrates: exporting attachments from a 40-test run prints "Skipped export
|
|
301
|
+
* for <test>: no matching attachments" once per test, which is the answer
|
|
302
|
+
* nobody asked for repeated forty times. The prose is dropped and the caller
|
|
303
|
+
* reports what actually landed on disk instead.
|
|
304
|
+
*/
|
|
305
|
+
export declare function exportBundle(request: ExportRequest): Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* One run measured against another.
|
|
308
|
+
*
|
|
309
|
+
* Not routed through `xcresulttool()` because `compare` takes the bundle as a
|
|
310
|
+
* positional rather than as `--path`, and rejects `--compact` outright. It
|
|
311
|
+
* also answers a bare `null` rather than an error when the two bundles have
|
|
312
|
+
* nothing comparable in them — a build bundle against a test one — which is an
|
|
313
|
+
* answer the caller has to be able to tell apart from a clean comparison.
|
|
314
|
+
*/
|
|
315
|
+
export declare function readComparison(path: string, baselinePath: string): Promise<Differential | null>;
|
|
316
|
+
/**
|
|
317
|
+
* Combine bundles into one, which is how a sharded test run gets a single
|
|
318
|
+
* verdict. Writes a bundle rather than printing one, so the caller reports the
|
|
319
|
+
* path and then reads it back like any other.
|
|
320
|
+
*/
|
|
321
|
+
export declare function mergeBundles(paths: string[], outputPath: string): Promise<void>;
|
|
220
322
|
/**
|
|
221
323
|
* Pull `file`, `line` and `col` out of a diagnostic's sourceURL.
|
|
222
324
|
*
|
package/dist/src/xcresult.js
CHANGED
|
@@ -143,6 +143,128 @@ export function readBundleMetadata(path) {
|
|
|
143
143
|
export function readBuildResults(path) {
|
|
144
144
|
return xcresulttool(["get", "build-results"], path);
|
|
145
145
|
}
|
|
146
|
+
/** What an `xcresulttool export` can be asked for. */
|
|
147
|
+
export const EXPORT_KINDS = [
|
|
148
|
+
"attachments",
|
|
149
|
+
"diagnostics",
|
|
150
|
+
"metrics",
|
|
151
|
+
"evaluations",
|
|
152
|
+
];
|
|
153
|
+
/**
|
|
154
|
+
* Write part of a bundle out to a directory.
|
|
155
|
+
*
|
|
156
|
+
* Unlike every other read here this one produces files rather than JSON, and
|
|
157
|
+
* it narrates: exporting attachments from a 40-test run prints "Skipped export
|
|
158
|
+
* for <test>: no matching attachments" once per test, which is the answer
|
|
159
|
+
* nobody asked for repeated forty times. The prose is dropped and the caller
|
|
160
|
+
* reports what actually landed on disk instead.
|
|
161
|
+
*/
|
|
162
|
+
export function exportBundle(request) {
|
|
163
|
+
if (!existsSync(request.path)) {
|
|
164
|
+
throw new AxiError(`No result bundle at ${request.path}`, "RESULT_NOT_FOUND", [
|
|
165
|
+
"Run `xcodebuild-axi build` or `test` first — each prints the bundle path it wrote",
|
|
166
|
+
]);
|
|
167
|
+
}
|
|
168
|
+
const args = [
|
|
169
|
+
"xcresulttool",
|
|
170
|
+
"export",
|
|
171
|
+
request.kind,
|
|
172
|
+
"--path",
|
|
173
|
+
request.path,
|
|
174
|
+
"--output-path",
|
|
175
|
+
request.outputPath,
|
|
176
|
+
...(request.testId ? ["--test-id", request.testId] : []),
|
|
177
|
+
...(request.filter ? ["--filter", request.filter] : []),
|
|
178
|
+
...(request.onlyFailures ? ["--only-failures"] : []),
|
|
179
|
+
];
|
|
180
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
181
|
+
execFile("xcrun", args, { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, stdout, stderr) => {
|
|
182
|
+
if (!error) {
|
|
183
|
+
resolvePromise();
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// The refusal lands on either stream depending on the subcommand --
|
|
187
|
+
// a bad --test-id is printed on stdout and still exits 1.
|
|
188
|
+
rejectPromise(new AxiError(exportComplaint(`${stdout}\n${stderr}`) ??
|
|
189
|
+
`xcresulttool could not export ${request.kind} from ${request.path}`, "RESULT_NOT_FOUND", [
|
|
190
|
+
"Run `xcodebuild-axi result <path> --available` to see what this bundle holds",
|
|
191
|
+
]));
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
function exportComplaint(output) {
|
|
196
|
+
const reason = output
|
|
197
|
+
.split("\n")
|
|
198
|
+
.map((line) => line.trim())
|
|
199
|
+
.find((line) => line.startsWith("Error:"));
|
|
200
|
+
return reason?.replace(/^Error:\s*/, "");
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* One run measured against another.
|
|
204
|
+
*
|
|
205
|
+
* Not routed through `xcresulttool()` because `compare` takes the bundle as a
|
|
206
|
+
* positional rather than as `--path`, and rejects `--compact` outright. It
|
|
207
|
+
* also answers a bare `null` rather than an error when the two bundles have
|
|
208
|
+
* nothing comparable in them — a build bundle against a test one — which is an
|
|
209
|
+
* answer the caller has to be able to tell apart from a clean comparison.
|
|
210
|
+
*/
|
|
211
|
+
export function readComparison(path, baselinePath) {
|
|
212
|
+
for (const [label, candidate] of [
|
|
213
|
+
["", path],
|
|
214
|
+
["baseline ", baselinePath],
|
|
215
|
+
]) {
|
|
216
|
+
if (!existsSync(candidate)) {
|
|
217
|
+
throw new AxiError(`No ${label}result bundle at ${candidate}`, "RESULT_NOT_FOUND", [
|
|
218
|
+
"Run `xcodebuild-axi build` or `test` first — each prints the bundle path it wrote",
|
|
219
|
+
]);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
223
|
+
execFile("xcrun", ["xcresulttool", "compare", path, "--baseline-path", baselinePath], { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, stdout, stderr) => {
|
|
224
|
+
const complaint = exportComplaint(`${stdout}\n${stderr}`);
|
|
225
|
+
// `compare` prints its refusals and still exits 0, so the exit code is
|
|
226
|
+
// not the signal here; the `Error:` line is.
|
|
227
|
+
if (error || complaint) {
|
|
228
|
+
rejectPromise(new AxiError(complaint ?? `Could not compare ${path} to ${baselinePath}`, "RESULT_NOT_FOUND", [
|
|
229
|
+
"Run `xcodebuild-axi result <path> --available` on each bundle to see what they hold",
|
|
230
|
+
]));
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
try {
|
|
234
|
+
resolvePromise(JSON.parse(stdout));
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
rejectPromise(new AxiError(`Comparing ${path} to ${baselinePath} produced unreadable output`, "RESULT_NOT_FOUND"));
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Combine bundles into one, which is how a sharded test run gets a single
|
|
244
|
+
* verdict. Writes a bundle rather than printing one, so the caller reports the
|
|
245
|
+
* path and then reads it back like any other.
|
|
246
|
+
*/
|
|
247
|
+
export function mergeBundles(paths, outputPath) {
|
|
248
|
+
for (const path of paths) {
|
|
249
|
+
if (!existsSync(path)) {
|
|
250
|
+
throw new AxiError(`No result bundle at ${path}`, "RESULT_NOT_FOUND", [
|
|
251
|
+
"Run `xcodebuild-axi build` or `test` first — each prints the bundle path it wrote",
|
|
252
|
+
]);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
256
|
+
execFile("xcrun", ["xcresulttool", "merge", ...paths, "--output-path", outputPath], { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, stdout, stderr) => {
|
|
257
|
+
const complaint = exportComplaint(`${stdout}\n${stderr}`);
|
|
258
|
+
if (error || complaint) {
|
|
259
|
+
rejectPromise(new AxiError(complaint ?? `Could not merge ${paths.length} result bundles`, "RESULT_NOT_FOUND", [
|
|
260
|
+
"Bundles written by different Xcode versions cannot be merged into one",
|
|
261
|
+
]));
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
resolvePromise();
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
}
|
|
146
268
|
/**
|
|
147
269
|
* Pull `file`, `line` and `col` out of a diagnostic's sourceURL.
|
|
148
270
|
*
|
package/dist/src/xcresult.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcresult.js","sourceRoot":"","sources":["../../src/xcresult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;GAOG;AAEH,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAuK1C,SAAS,YAAY,CAAI,IAAc,EAAE,IAAY;IACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CAAC,uBAAuB,IAAI,EAAE,EAAE,kBAAkB,EAAE;YACpE,mFAAmF;SACpF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACnD,QAAQ,CACN,OAAO,EACP,CAAC,cAAc,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,EACtD,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAClD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,4DAA4D;gBAC5D,mEAAmE;gBACnE,4DAA4D;gBAC5D,MAAM,MAAM,GAAG,MAAM;qBAClB,KAAK,CAAC,IAAI,CAAC;qBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7C,aAAa,CACX,IAAI,QAAQ,CACV,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC/B,mCAAmC,IAAI,EAAE,EAC3C,kBAAkB;gBAClB,4DAA4D;gBAC5D,yDAAyD;gBACzD,2DAA2D;gBAC3D,4CAA4C;gBAC5C,MAAM;oBACJ,CAAC,CAAC;wBACE,8EAA8E;qBAC/E;oBACH,CAAC,CAAC;wBACE,8EAA8E;qBAC/E,CACN,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAM,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa,CACX,IAAI,QAAQ,CACV,oBAAoB,IAAI,6BAA6B,EACrD,kBAAkB,CACnB,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,YAAY,CAAc,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,cAAsB;IAEtB,OAAO,YAAY,CACjB,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,EACpE,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB;IAIlD,IAAI,IAAoE,CAAC;IAEzE,MAAM,IAAI,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,IAAI,QAAQ,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,IAAI,GAAG;gBACL,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;gBAC/B,KAAK;aACN,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC9E,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,YAAY,CAAW,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,cAAsB;IAEtB,OAAO,YAAY,CACjB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,EAClE,IAAI,CACL,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAe,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,cAAuB;IAEvB,OAAO,YAAY,CACjB;QACE,KAAK;QACL,cAAc;QACd,SAAS;QACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAY;IAEZ,OAAO,YAAY,CACjB,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAC/B,IAAI,CACL,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,YAAY,CAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,YAAY,CAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,YAAY,CAAe,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,SAA6B;IAK1D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAEvD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAExE,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAElE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC1D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAA8B;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAiB,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC;YACP,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4DAA4D;AAC5D,SAAS,cAAc,CAAC,SAA6B;IACnD,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5E,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,YAAY,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,MAA8B;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,IAAI;QACJ,MAAM,CAAC,SAAS;YACd,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE;YACnD,CAAC,CAAC,MAAM,CAAC,QAAQ;KACpB,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"xcresult.js","sourceRoot":"","sources":["../../src/xcresult.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED