Skip to content

feat: add tool discovery mode with automatic client capability fallback #193

feat: add tool discovery mode with automatic client capability fallback

feat: add tool discovery mode with automatic client capability fallback #193

Triggered via pull request August 5, 2025 22:22
Status Failure
Total duration 1m 55s
Artifacts

ci.yml

on: pull_request
Matrix: build-and-test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
build-and-test (18.x)
Process completed with exit code 1.
src/mcp/tools/ui-testing/__tests__/long_press.test.ts > Long Press Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing duration: src/mcp/tools/ui-testing/__tests__/long_press.test.ts#L417
AssertionError: expected { Object (content, isError) } to deeply equal { Object (content, isError) } - Expected + Received { "content": [ { - "text": "Required parameter 'duration' is missing. Please provide a value for this parameter.", + "text": "Error: System error executing axe: Failed to execute axe command: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y 200 --down --up --delay NaN --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + Details: Error: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y 200 --down --up --delay NaN --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/utils/command.ts:314:11 + at executeAxeCommand (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:174:26) + at long_pressLogic (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:76:11) + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/__tests__/long_press.test.ts:407:28 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise (<anonymous>) + at runWithTimeout (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)", "type": "text", }, ], "isError": true, } ❯ src/mcp/tools/ui-testing/__tests__/long_press.test.ts:417:22
src/mcp/tools/ui-testing/__tests__/long_press.test.ts > Long Press Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing y: src/mcp/tools/ui-testing/__tests__/long_press.test.ts#L381
AssertionError: expected { Object (content, isError) } to deeply equal { Object (content, isError) } - Expected + Received { "content": [ { - "text": "Required parameter 'y' is missing. Please provide a value for this parameter.", + "text": "Error: System error executing axe: Failed to execute axe command: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y undefined --down --up --delay 1.5 --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + Details: Error: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y undefined --down --up --delay 1.5 --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/utils/command.ts:314:11 + at executeAxeCommand (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:174:26) + at long_pressLogic (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:76:11) + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/__tests__/long_press.test.ts:371:28 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise (<anonymous>) + at runWithTimeout (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)", "type": "text", }, ], "isError": true, } ❯ src/mcp/tools/ui-testing/__tests__/long_press.test.ts:381:22
src/mcp/tools/ui-testing/__tests__/long_press.test.ts > Long Press Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing x: src/mcp/tools/ui-testing/__tests__/long_press.test.ts#L345
AssertionError: expected { Object (content, isError) } to deeply equal { Object (content, isError) } - Expected + Received { "content": [ { - "text": "Required parameter 'x' is missing. Please provide a value for this parameter.", + "text": "Error: System error executing axe: Failed to execute axe command: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x undefined -y 200 --down --up --delay 1.5 --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + Details: Error: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x undefined -y 200 --down --up --delay 1.5 --udid 12345678-1234-1234-1234-123456789012 + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/utils/command.ts:314:11 + at executeAxeCommand (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:174:26) + at long_pressLogic (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:76:11) + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/__tests__/long_press.test.ts:335:28 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise (<anonymous>) + at runWithTimeout (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)", "type": "text", }, ], "isError": true, } ❯ src/mcp/tools/ui-testing/__tests__/long_press.test.ts:345:22
src/mcp/tools/ui-testing/__tests__/long_press.test.ts > Long Press Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing simulatorUuid: src/mcp/tools/ui-testing/__tests__/long_press.test.ts#L309
AssertionError: expected { Object (content, isError) } to deeply equal { Object (content, isError) } - Expected + Received { "content": [ { - "text": "Required parameter 'simulatorUuid' is missing. Please provide a value for this parameter.", + "text": "Error: System error executing axe: Failed to execute axe command: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y 200 --down --up --delay 1.5 --udid + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + Details: Error: 🚨 NOOP EXECUTOR CALLED! 🚨 + Command: /usr/local/bin/axe touch -x 100 -y 200 --down --up --delay 1.5 --udid + This executor should never be called in this test context. + If you see this error, it means the test is exercising a code path that wasn't expected. + Either fix the test to avoid this code path, or use createMockExecutor() instead. + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/utils/command.ts:314:11 + at executeAxeCommand (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:174:26) + at long_pressLogic (/home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/long_press.ts:76:11) + at /home/runner/work/XcodeBuildMCP/XcodeBuildMCP/src/mcp/tools/ui-testing/__tests__/long_press.test.ts:303:28 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise (<anonymous>) + at runWithTimeout (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///home/runner/work/XcodeBuildMCP/XcodeBuildMCP/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)", "type": "text", }, ], "isError": true, } ❯ src/mcp/tools/ui-testing/__tests__/long_press.test.ts:309:22
src/mcp/tools/ui-testing/__tests__/key_sequence.test.ts > Key Sequence Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing keyCodes: src/mcp/tools/ui-testing/key_sequence.ts#L54
TypeError: Cannot read properties of undefined (reading 'join') ❯ key_sequenceLogic src/mcp/tools/ui-testing/key_sequence.ts:54:63 ❯ src/mcp/tools/ui-testing/__tests__/key_sequence.test.ts:300:28
src/mcp/tools/ui-testing/__tests__/key_sequence.test.ts > Key Sequence Plugin > Handler Behavior (Complete Literal Returns) > should return error for missing simulatorUuid: src/mcp/tools/ui-testing/__tests__/key_sequence.test.ts#L288
AssertionError: expected { Object (content, isError) } to deeply equal { Object (content, isError) } - Expected + Received { "content": [ { - "text": "Required parameter 'simulatorUuid' is missing. Please provide a value for this parameter.", + "text": "Bundled axe tool not found. UI automation features are not available. + + This is likely an installation issue with the npm package. + Please reinstall xcodebuildmcp or report this issue.", "type": "text", }, ], "isError": true, } ❯ src/mcp/tools/ui-testing/__tests__/key_sequence.test.ts:288:22