From 7be6b7f02f40e601d62fb829491fca151822405d Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Mon, 5 May 2025 23:57:46 +0000 Subject: [PATCH] Cover `gix` with most features but no `extras` This expands the `unit-tests` recipe in the `justfile` (which is one of the recipes the full CI `test` job runs) to add a command that tests `gix` with all the current default features *except* for `extras` 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 the `regex_matches` and `contained_string_matches` tests, but only the `regex_matches` failure was found locally in #1622 and on CI in #1635, because no combination of features under which `contained_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 commit 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. --- justfile | 1 + 1 file changed, 1 insertion(+) diff --git a/justfile b/justfile index 57944710593..f2b0a1e081d 100755 --- a/justfile +++ b/justfile @@ -174,6 +174,7 @@ unit-tests: cargo nextest run -p gix-protocol --features blocking-client cargo nextest run -p gix-protocol --features async-client cargo nextest run -p gix --no-default-features + cargo nextest run -p gix --no-default-features --features basic,comfort,max-performance-safe cargo nextest run -p gix --no-default-features --features basic,extras,comfort,need-more-recent-msrv cargo nextest run -p gix --features async-network-client cargo nextest run -p gix --features blocking-network-client