Repository navigation
v1.7.1 — Resources reach the app bundle as regular files, and the sandbox honours TMPDIR
#248
ericodx
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This release fixes a run that could not start on an iOS test host with a folder of resources. The sandbox linked every unchanged file to the original, Xcode kept those links when it copied a folder reference into the bundle, and the simulator refused to install an app whose symlinks point outside it (#245). Unchanged resources are now copied into the sandbox; unchanged Swift sources stay linked. The sandbox directory also moves to
$TMPDIR/swift-mutation-testingwhenTMPDIRis set, as the documentation always said. The rest of the release is documentation and code quality.Bug fixes
Resources copied into the sandbox, not linked (#245)
MIInstallerErrorDomaincode 70,InvalidSymlink, naming a file underFrameworks/<name>.framework/Resources/…. The baseline failed before any test ran.swiftsource is now a copy of the original, with its modification date kept, so an incremental build on a kept sandbox still sees it unchanged. Unchanged.swiftfiles, and files that are symlinks in the project itself, stay links.iconbundles (v1.6.3, Icon Composer bundles fail to build because sandbox files are symlinks #180) is gone: the general rule covers itTMPDIRnames the sandbox root (#245)confstr(_CS_DARWIN_USER_TEMP_DIR)and ignoresTMPDIR, so setting the variable did not move the sandboxes although the documentation said$TMPDIR/swift-mutation-testing. A non-emptyTMPDIRis now used; when it is absent or empty, the Foundation directory is the fallback, as beforeTMPDIRset neither sees nor leaves anything in the default location--helpalignment (#238)--testing-frameworkline was one column off, and<project-path>was described as an Xcode project root only. It accepts an SPM package root tooDocumentation
Docs/, README, CONTRIBUTING, SECURITY, the PR template and the Claude Code skill. Wrong statements fixed, 31 Mermaid diagrams redrawn where the flow had changed, console samples matched to what the tool prints, and the CodeBase index lists all 353 declarations ofSourcesDocs/operators/results.mddropped reviews whose text spans several lines, soOPERATORS.mdandresults.mddisagreed withequivalence.csv. It now reads whole CSV records, and the three agreeCode quality
TestBundleInvocation.requeststakes anOptionsvalue instead of nine parameters, and the SPM request builder nests two closures instead of three (requests takes 9 parameters and spmRequests nests 3 closures #233)Sources/by the unit tests is 100% (Unit tests leave 11 lines of Sources uncovered #235), andperiphery scanreports no declaration without a caller (Periphery reports 13 declarations in Sources that only the tests use #242). The helpers only the tests used moved to the test targetUpgrading
$TMPDIR/swift-mutation-testinggrows by the project's resources per slot. The first run after upgrading refreshes each slot onceTMPDIR, the sandboxes move there. Slots left in the Foundation temporary directory by earlier versions are not removed; deleteswift-mutation-testingunder$(getconf DARWIN_USER_TEMP_DIR)to reclaim themRequirements
Installation
See the Installation Guide for Homebrew, pre-built binary, and build from source instructions.
What's Changed
Full Changelog: v1.7.0...v1.7.1
This discussion was created from the release v1.7.1 — Resources reach the app bundle as regular files, and the sandbox honours `TMPDIR`.
All reactions