Fix the test fixtures failing to unzip - #113
Merged
Merged
Conversation
ZipArchive refuses to extract a symlink that points outside the destination and aborts the whole archive, so no fixture repository was ever created and nearly every spec failed. - Drop the 66 symlinks under repo-with-submodule/.git/modules/**. They are git template files (sample hooks, description, info/exclude) that point into /Applications/GitHub.app, which no machine has anymore. - Git needs none of them; the submodule state the specs check is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A failed extraction left a partial clean_repository behind, which every later spec reused as if it were complete, so the unzip was never retried and the real error only surfaced once. - Remove clean_repository when the unzip fails, so the next spec tries again and reports the actual cause. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hannesa2
approved these changes
Sep 29, 2026
This was referenced Sep 29, 2026
Open
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.
Make the test fixtures extractable again, so the specs run against real repositories instead of failing at setup.
repo-with-submodule/.git/modules/**fromfixtures.zip. They point into/Applications/GitHub.app/...(git template hooks,description,info/exclude), and ZipArchive 2.6.0 aborts the whole extraction on any symlink escaping the destination.clean_repositorywhen the unzip fails, so a partial extraction is no longer reused as a valid fixture cache.Follow-up to #109; unblocks #80. Two failures remain that are unrelated to the fixtures:
Libgit2FeaturesSpec(3): libgit2 is built without SSH.GTSubmoduleSpec"should synchronize the remote URL": libgit2 1.xgit_submodule_syncwrites the resolved absolute URL instead of../Test_App.Test plan
xcodebuild -workspace ObjectiveGitFramework.xcworkspace -scheme "ObjectiveGit Mac" test ARCHS=x86_64with a cleared fixture cache: 287 tests, 4 failures (the ones listed above), no unzip errors. Master: 1340 failures, almost all from the aborted unzip.zip -TOK, andgit status/git submodule statusinrepo-with-submoduleare identical to the original archive.🤖 Generated with Claude Code