xcodebuild-axi 0.1.8 → 0.1.10

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +165 -2
  2. package/README.md +40 -82
  3. package/dist/src/action.d.ts +8 -0
  4. package/dist/src/action.js +37 -30
  5. package/dist/src/action.js.map +1 -1
  6. package/dist/src/archive.d.ts +35 -6
  7. package/dist/src/archive.js +63 -21
  8. package/dist/src/archive.js.map +1 -1
  9. package/dist/src/commands/archive.js +1 -1
  10. package/dist/src/commands/archive.js.map +1 -1
  11. package/dist/src/commands/clean.d.ts +2 -2
  12. package/dist/src/commands/clean.js +33 -3
  13. package/dist/src/commands/clean.js.map +1 -1
  14. package/dist/src/commands/export.d.ts +4 -4
  15. package/dist/src/commands/export.js +194 -11
  16. package/dist/src/commands/export.js.map +1 -1
  17. package/dist/src/commands/info.d.ts +2 -2
  18. package/dist/src/commands/info.js +56 -3
  19. package/dist/src/commands/info.js.map +1 -1
  20. package/dist/src/commands/packages.d.ts +2 -2
  21. package/dist/src/commands/packages.js +17 -6
  22. package/dist/src/commands/packages.js.map +1 -1
  23. package/dist/src/commands/result.d.ts +15 -3
  24. package/dist/src/commands/result.js +294 -14
  25. package/dist/src/commands/result.js.map +1 -1
  26. package/dist/src/commands/settings.d.ts +7 -2
  27. package/dist/src/commands/settings.js +134 -20
  28. package/dist/src/commands/settings.js.map +1 -1
  29. package/dist/src/commands/test.js +9 -13
  30. package/dist/src/commands/test.js.map +1 -1
  31. package/dist/src/commands/tests.d.ts +2 -2
  32. package/dist/src/commands/tests.js +19 -7
  33. package/dist/src/commands/tests.js.map +1 -1
  34. package/dist/src/errors.js +10 -0
  35. package/dist/src/errors.js.map +1 -1
  36. package/dist/src/report.d.ts +22 -1
  37. package/dist/src/report.js +40 -0
  38. package/dist/src/report.js.map +1 -1
  39. package/dist/src/scheme.d.ts +34 -0
  40. package/dist/src/scheme.js +46 -0
  41. package/dist/src/scheme.js.map +1 -1
  42. package/dist/src/surface.d.ts +7 -0
  43. package/dist/src/surface.js +43 -166
  44. package/dist/src/surface.js.map +1 -1
  45. package/dist/src/xcresult.d.ts +156 -0
  46. package/dist/src/xcresult.js +107 -4
  47. package/dist/src/xcresult.js.map +1 -1
  48. package/package.json +1 -1
@@ -32,6 +32,111 @@ export interface TestSummary {
32
32
  skippedTests?: number;
33
33
  }[];
34
34
  }
35
+ /** A node of the tree `test-details` returns for one test. */
36
+ export interface TestNode {
37
+ nodeType?: string;
38
+ name?: string;
39
+ /** `Target/Suite/testName()`, the identifier `--only` and `--test` take. */
40
+ nodeIdentifier?: string;
41
+ result?: string;
42
+ /** Pre-formatted by xcresulttool, e.g. `0.028s`. */
43
+ duration?: string;
44
+ sourceLocation?: {
45
+ filePath?: string;
46
+ lineNumber?: number;
47
+ };
48
+ children?: TestNode[];
49
+ }
50
+ export interface TestDetails {
51
+ testIdentifier?: string;
52
+ testName?: string;
53
+ testResult?: string;
54
+ testRuns?: TestNode[];
55
+ }
56
+ /** `get test-results tests` — the whole tree of what ran. */
57
+ export interface TestTree {
58
+ devices?: TestDevice[];
59
+ testNodes?: TestNode[];
60
+ }
61
+ /** `get test-results activities` — what one test did, step by step. */
62
+ export interface ActivityNode {
63
+ title?: string;
64
+ startTime?: number;
65
+ attachments?: unknown[];
66
+ childActivities?: ActivityNode[];
67
+ }
68
+ export interface TestActivities {
69
+ testIdentifier?: string;
70
+ testName?: string;
71
+ testRuns?: {
72
+ device?: TestDevice;
73
+ activities?: ActivityNode[];
74
+ }[];
75
+ }
76
+ /** `get test-results insights` — Xcode's own diagnosis of a run. */
77
+ export interface TestInsights {
78
+ commonFailureInsights?: Insight[];
79
+ failureDistributionInsights?: Insight[];
80
+ longestTestRunsInsights?: Insight[];
81
+ }
82
+ export interface Insight {
83
+ category?: string;
84
+ impact?: string;
85
+ text?: string;
86
+ testIdentifier?: string;
87
+ testName?: string;
88
+ totalDuration?: number;
89
+ count?: number;
90
+ }
91
+ /** `get test-results metrics` — what a performance test measured. */
92
+ export interface TestMetric {
93
+ testIdentifier?: string;
94
+ testName?: string;
95
+ measurements?: {
96
+ displayName?: string;
97
+ unit?: string;
98
+ average?: number;
99
+ baselineAverage?: number;
100
+ maxPercentRelativeStandardDeviation?: number;
101
+ }[];
102
+ }
103
+ /** `get content-availability` — what is in the bundle at all. */
104
+ export interface ContentAvailability {
105
+ hasCoverage?: boolean;
106
+ hasDiagnostics?: boolean;
107
+ hasTestResults?: boolean;
108
+ logs?: string[];
109
+ }
110
+ /** `get log` — the build or action log, as a tree of timed sections. */
111
+ export interface LogSection {
112
+ title?: string;
113
+ result?: string;
114
+ duration?: number;
115
+ startTime?: number;
116
+ messages?: {
117
+ title?: string;
118
+ shortTitle?: string;
119
+ }[];
120
+ subsections?: LogSection[];
121
+ commandInvocationDetails?: {
122
+ commandDetails?: string;
123
+ exitCode?: number;
124
+ };
125
+ }
126
+ /** `metadata get` — the bundle's own storage details. */
127
+ export interface BundleMetadata {
128
+ dateCreated?: string;
129
+ directoryImportMode?: string;
130
+ externalLocations?: unknown[];
131
+ storage?: {
132
+ backend?: string;
133
+ compression?: string;
134
+ };
135
+ version?: {
136
+ major?: number;
137
+ minor?: number;
138
+ };
139
+ }
35
140
  export interface RawIssue {
36
141
  issueType?: string;
37
142
  message?: string;
@@ -60,6 +165,57 @@ export interface Diagnostic {
60
165
  message: string;
61
166
  }
62
167
  export declare function readTestSummary(path: string): Promise<TestSummary>;
168
+ /**
169
+ * Where one test failed, which the summary does not carry.
170
+ *
171
+ * `TestFailure` in a test-results summary has a name, a target and a message
172
+ * and no source location at all — so the only way to tell an agent which line
173
+ * to look at is to ask about each failing test by name.
174
+ */
175
+ export declare function readTestDetails(path: string, testIdentifier: string): Promise<TestDetails>;
176
+ /**
177
+ * The file and line a failing test points at.
178
+ *
179
+ * **These line numbers are one-based**, unlike the `StartingLineNumber` in a
180
+ * build diagnostic's `sourceURL`, which is zero-based and gets a `+1` in
181
+ * `parseSourceURL`. Verified against a real failing assertion: an
182
+ * `XCTAssertEqual` written on line 10 is reported here as `lineNumber: 10`.
183
+ * Adding an offset to one of these would send the agent one line past the
184
+ * failure, every time.
185
+ *
186
+ * The deepest node wins: a "Source Code Reference" child points at the
187
+ * assertion itself, while its parent points at the test case that ran it.
188
+ */
189
+ export declare function failureLocation(details: TestDetails): {
190
+ file: string;
191
+ line: number | "";
192
+ };
193
+ /** Every test the run knows about, as the tree Xcode groups them into. */
194
+ export declare function readTests(path: string): Promise<TestTree>;
195
+ /**
196
+ * What one test actually did, step by step.
197
+ *
198
+ * The summary says a test failed and `test-details` says where; this is the
199
+ * trail of what it had done by then, which is the only thing that explains a
200
+ * UI test that failed three screens into a flow.
201
+ */
202
+ export declare function readActivities(path: string, testIdentifier: string): Promise<TestActivities>;
203
+ /** Xcode's own diagnosis of a run: what failed together, and what was slow. */
204
+ export declare function readInsights(path: string): Promise<TestInsights>;
205
+ /** What a performance test measured, and what it measured last time. */
206
+ export declare function readMetrics(path: string, testIdentifier?: string): Promise<TestMetric[]>;
207
+ /**
208
+ * What the bundle actually holds.
209
+ *
210
+ * Worth one subprocess because the alternative is finding out by asking for
211
+ * coverage and reading the failure — an error that looks like a broken tool
212
+ * rather than like an answer.
213
+ */
214
+ export declare function readContentAvailability(path: string): Promise<ContentAvailability>;
215
+ /** The build, action or console log, as the timed tree the bundle stores. */
216
+ export declare function readLog(path: string, type: string): Promise<LogSection>;
217
+ /** The bundle's own metadata — when it was written, and in what format. */
218
+ export declare function readBundleMetadata(path: string): Promise<BundleMetadata>;
63
219
  export declare function readBuildResults(path: string): Promise<BuildResults>;
64
220
  /**
65
221
  * Pull `file`, `line` and `col` out of a diagnostic's sourceURL.
@@ -18,11 +18,28 @@ function xcresulttool(args, path) {
18
18
  ]);
19
19
  }
20
20
  return new Promise((resolvePromise, rejectPromise) => {
21
- execFile("xcrun", ["xcresulttool", ...args, "--path", path, "--compact"], { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, stdout) => {
21
+ execFile("xcrun", ["xcresulttool", ...args, "--path", path, "--compact"], { maxBuffer: MAX_BUFFER_BYTES, encoding: "utf-8" }, (error, stdout, stderr) => {
22
22
  if (error && stdout.trim().length === 0) {
23
- rejectPromise(new AxiError(`Could not read result bundle at ${path}`, "RESULT_NOT_FOUND", [
24
- "The bundle may be from an incompatible Xcode version, or still being written",
25
- ]));
23
+ // xcresulttool explains itself on stderr -- "No console log
24
+ // available", "Info.plist does not exist" -- and those answers are
25
+ // more specific than anything inferable from the exit code.
26
+ const reason = stderr
27
+ .split("\n")
28
+ .map((line) => line.trim())
29
+ .find((line) => line.startsWith("Error:"));
30
+ rejectPromise(new AxiError(reason?.replace(/^Error:\s*/, "") ??
31
+ `Could not read result bundle at ${path}`, "RESULT_NOT_FOUND",
32
+ // Only guess when xcresulttool did not say. "No console log
33
+ // available" is a complete answer, and following it with
34
+ // "the bundle may be from an incompatible Xcode" sends the
35
+ // reader after a problem that is not there.
36
+ reason
37
+ ? [
38
+ "Run `xcodebuild-axi result <path> --available` to see what this bundle holds",
39
+ ]
40
+ : [
41
+ "The bundle may be from an incompatible Xcode version, or still being written",
42
+ ]));
26
43
  return;
27
44
  }
28
45
  try {
@@ -37,6 +54,92 @@ function xcresulttool(args, path) {
37
54
  export function readTestSummary(path) {
38
55
  return xcresulttool(["get", "test-results", "summary"], path);
39
56
  }
57
+ /**
58
+ * Where one test failed, which the summary does not carry.
59
+ *
60
+ * `TestFailure` in a test-results summary has a name, a target and a message
61
+ * and no source location at all — so the only way to tell an agent which line
62
+ * to look at is to ask about each failing test by name.
63
+ */
64
+ export function readTestDetails(path, testIdentifier) {
65
+ return xcresulttool(["get", "test-results", "test-details", "--test-id", testIdentifier], path);
66
+ }
67
+ /**
68
+ * The file and line a failing test points at.
69
+ *
70
+ * **These line numbers are one-based**, unlike the `StartingLineNumber` in a
71
+ * build diagnostic's `sourceURL`, which is zero-based and gets a `+1` in
72
+ * `parseSourceURL`. Verified against a real failing assertion: an
73
+ * `XCTAssertEqual` written on line 10 is reported here as `lineNumber: 10`.
74
+ * Adding an offset to one of these would send the agent one line past the
75
+ * failure, every time.
76
+ *
77
+ * The deepest node wins: a "Source Code Reference" child points at the
78
+ * assertion itself, while its parent points at the test case that ran it.
79
+ */
80
+ export function failureLocation(details) {
81
+ let best;
82
+ const walk = (node, depth) => {
83
+ const location = node.sourceLocation;
84
+ if (location?.filePath && (best === undefined || depth >= best.depth)) {
85
+ best = {
86
+ file: relativize(location.filePath),
87
+ line: location.lineNumber ?? "",
88
+ depth,
89
+ };
90
+ }
91
+ for (const child of node.children ?? [])
92
+ walk(child, depth + 1);
93
+ };
94
+ for (const run of details.testRuns ?? [])
95
+ walk(run, 0);
96
+ return best ? { file: best.file, line: best.line } : { file: "", line: "" };
97
+ }
98
+ /** Every test the run knows about, as the tree Xcode groups them into. */
99
+ export function readTests(path) {
100
+ return xcresulttool(["get", "test-results", "tests"], path);
101
+ }
102
+ /**
103
+ * What one test actually did, step by step.
104
+ *
105
+ * The summary says a test failed and `test-details` says where; this is the
106
+ * trail of what it had done by then, which is the only thing that explains a
107
+ * UI test that failed three screens into a flow.
108
+ */
109
+ export function readActivities(path, testIdentifier) {
110
+ return xcresulttool(["get", "test-results", "activities", "--test-id", testIdentifier], path);
111
+ }
112
+ /** Xcode's own diagnosis of a run: what failed together, and what was slow. */
113
+ export function readInsights(path) {
114
+ return xcresulttool(["get", "test-results", "insights"], path);
115
+ }
116
+ /** What a performance test measured, and what it measured last time. */
117
+ export function readMetrics(path, testIdentifier) {
118
+ return xcresulttool([
119
+ "get",
120
+ "test-results",
121
+ "metrics",
122
+ ...(testIdentifier ? ["--test-id", testIdentifier] : []),
123
+ ], path);
124
+ }
125
+ /**
126
+ * What the bundle actually holds.
127
+ *
128
+ * Worth one subprocess because the alternative is finding out by asking for
129
+ * coverage and reading the failure — an error that looks like a broken tool
130
+ * rather than like an answer.
131
+ */
132
+ export function readContentAvailability(path) {
133
+ return xcresulttool(["get", "content-availability"], path);
134
+ }
135
+ /** The build, action or console log, as the timed tree the bundle stores. */
136
+ export function readLog(path, type) {
137
+ return xcresulttool(["get", "log", "--type", type], path);
138
+ }
139
+ /** The bundle's own metadata — when it was written, and in what format. */
140
+ export function readBundleMetadata(path) {
141
+ return xcresulttool(["metadata", "get"], path);
142
+ }
40
143
  export function readBuildResults(path) {
41
144
  return xcresulttool(["get", "build-results"], path);
42
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xcresult.js","sourceRoot":"","sources":["../../src/xcresult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xcresult.js","sourceRoot":"","sources":["../../src/xcresult.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xcodebuild-axi",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "AXI-compliant xcodebuild wrapper — turns multi-megabyte Xcode build and test transcripts into a few lines of TOON",
5
5
  "type": "module",
6
6
  "repository": {