Repository navigation
test: run the first-decision test only where the task getter exists - #10
Merged
Merged
Conversation
On iOS 16.4, with the fix from #9, the test "a task answers with its first decision even when the configuration changes before it starts" failed: the OS has no URLProtocol.task getter, so the task is decided again by design and answered 500 instead of 200. The test states the contract where the getter exists, so it now runs only there, and shows as skipped with the reason elsewhere. taskWithoutGetter covers the other path, and passed on a real iOS 16.4 runtime. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016HvfREejSbdqHNbZ87WYdW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #9, from the first run on a real iOS 16.4 runtime (Xcode 26.3, iPhone 14 Pro simulator,
xcodebuild test -only-testing:NectoMapLocalPluginTests):-[MapLocalURLProtocol task]: unrecognized selector; xctest crashed three times in a row, 0 tests executedThe 16.4 runtime confirmed the crash and the fix. Both new no-getter tests passed there.
The one failure was "a task answers with its first decision even when the configuration changes before it starts": it expected 200 and got 500. That is the cost #9 states. Without the
URLProtocol.taskgetter, the task is decided again when it starts. The test states the contract where the getter exists, so it now has.enabled(if: MapLocalURLProtocol.readsTask, …). It runs wherever the getter exists, and on an OS without it, it shows as skipped with the reason, instead of failing. The no-getter path stays covered bytaskWithoutGetterandnoDecisionKeptWithoutGetter.Changelog
None. Tests only.
Agent interface
No change.
Test Plan
skipped: "needs the URLProtocol.task getter, which iOS 16.4 lacks". Reverted before committing.script/ciexit 0.feature/ios-16-support. Expected: 90 pass, 1 skipped, 0 fail.