Two of my apps, Sortes and VaultSnap, each ship a regression test that exists to fail if the Google ad SDKs ever come back. Both were green. Both lockfiles still had the packages pinned in them while those tests ran.
The markers were written by a person and the file was written by SwiftPM, and the two do not agree on what the package is called. VaultSnap's test did scan Package.resolved. It looked for GoogleMobileAds, and SwiftPM had written the identity lowercase and hyphenated.
# what the test looked for
"GoogleMobileAds"
# what SwiftPM had written in the file the test was reading
"identity" : "swift-package-manager-google-mobile-ads"
# the red proof, and it was free: the pins were still in the lockfile,
# so the fixed guard was run BEFORE clearing them
xcodebuild test -only-testing:SortesTests/AdRetirementRegressionTests
# failed on both markers, naming Package.resolved
# pins cleared -> 85 XCTest + 27 Swift Testing, 0 failures| VaultSnap | Sortes | |
|---|---|---|
| What was wrong | Scanned the lockfile with markers that could not match it | Never scanned the lockfile at all |
| What it needed | The lowercase markers | The path as well as the markers |
| Given the marker-only patch | Actually fixed | Looks fixed in the diff, still checks nothing |