Rewrite worktree tests #628
Merged
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.
Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.
Description
Under some situations which were not entirely clear to me, the test_worktree.rb tests occasionally fail.
It ends up that this is because test_thread.rb tests leak setting the global ENV['GIT_DIR'] value.
This PR makes the following changes:
test_worktree.rb
tests were rewritten and do not use the test fixture. This makes the tests much easier to understand since you can see the setup for each test.tests/files/worktree
test fixture files are not needed so those files (270+ files!) were deleted.test_thread_safety.rb
, a teardown was added to reset the environment variables. This is a stop gap measure untilGit::Lib#command
can be rewritten to use a method that does not depend on the global ENV variable (currently it uses backticks to run git commands).test_helper.rb
, theTest::Unit::TestCase#in_temp_dir
was changed to callFile#realpath
on the temp directory that it returns to mimic what this gem does internally.