MCPcopy Create free account
hub / github.com/getsentry/XcodeBuildMCP / walk

Function walk

src/utils/xcresult-test-failures.ts:85–115  ·  view source on GitHub ↗
(node: XcresultTestNode, suiteContext?: string)

Source from the content-addressed store, hash-verified

83 const fragments: TestFailureFragment[] = [];
84
85 function walk(node: XcresultTestNode, suiteContext?: string): void {
86 const parsedNodeName = parseRawTestName(node.name);
87 const nextSuiteContext =
88 node.nodeType === 'Test Case'
89 ? suiteContext
90 : (parsedNodeName.suiteName ??
91 (node.nodeType === 'Test Suite' ? node.name.replaceAll('_', ' ') : suiteContext));
92
93 if (node.nodeType === 'Test Case' && node.result === 'Failed' && node.children) {
94 for (const child of node.children) {
95 if (child.nodeType === 'Failure Message') {
96 const parsed = parseXcresultFailureMessage(child.name);
97 const { suiteName, testName } = parsedNodeName;
98 fragments.push({
99 kind: 'test-result',
100 fragment: 'test-failure',
101 operation: 'TEST',
102 suite: suiteName ?? suiteContext,
103 test: testName,
104 message: parsed.message,
105 location: parsed.location,
106 });
107 }
108 }
109 }
110 if (node.children) {
111 for (const child of node.children) {
112 walk(child, nextSuiteContext);
113 }
114 }
115 }
116
117 for (const root of results.testNodes) {
118 walk(root);

Callers 1

Calls 3

parseRawTestNameFunction · 0.90
pushMethod · 0.80

Tested by

no test coverage detected