Cover gix
with most features but no extras
#1995
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.
This expands the
unit-tests
recipe in thejustfile
(which is one of the recipes the full CItest
job runs) to add a command that testsgix
with all the current default features except forextras
and its subfeatures.This appears to have been a missing potentially valuable area in testing.
In particular, as noted in 2400158 (#1993), the Git 2.47.* bug that caused incorrect
find_youngest_matching_commit
baselines to be generated had applied equally to theregex_matches
andcontained_string_matches
tests, but only theregex_matches
failure was found locally in #1622 and on CI in #1635, because no combination of features under whichcontained_string_matches
runs was tested.Thus,
contained_string_matches
was effectively not exercised, and regressions that it should catch, as well as the effect of possible changes to the test if any others are ever made, were not tested. This resulted in the mitigations for #1622 not covering that test either (until 2400158).This PR chooses a combination of features that may plausibly be in practical use and that is fairly simple to specify, to fill the gap.
(If this turns out to slow things down too much, then it could be narrowed to only run some tests.)
This only adds a command to the recipe. It does not remove any commands that were already there.
gix
remains tested in all the ways it was tested before, as well as in this one new way.I'm waiting to look at the timings before merging this.
Edit: That seems fine--performance seems not to be significantly affected. But now I am checking whether this change causes modified tracked
.tar
fixture archives to be created when run locally (or if that was happening already withjust unit-tests
).Edit 2: This does not introduce that--it already happens. Locally, on both Ubuntu 24.04 LTS and macOS 15.4.1, running
just unit-tests
onmain
withoutGIX_TEST_IGNORE_ARCHIVES
adds two untracked files (withGIX_TEST_IGNORE_ARCHIVES
, there would intentionally be many more archives modified, though still not any untracked unignored archives created):Those are the same as with the changes here. So even if that is undesirable, this doesn't introduce it and doesn't seem to worsen it, and thus it need not block this PR.
I'm going to check another couple things locally before merging this, though.
Edit 3: Unrelated to the above concerns, I've verified that
GIX_TEST_IGNORE_ARCHIVES=1 just unit-tests
works locally on Ubuntu 24.04 LTS and macOS 15.4.1, and I've also rebased to slightly clarify the commit message.