Message ID | 20210811231644.570030-1-sandals@crustytoothpaste.net (mailing list archive) |
---|---|
State | Accepted |
Commit | b227bead4d8fb6e75b5c58ba511c7e935b09b24b |
Headers | show |
Series | [v2] t5607: avoid using prerequisites to select algorithm | expand |
On Wed, Aug 11, 2021 at 11:16:44PM +0000, brian m. carlson wrote: > In this test, we currently use the SHA1 prerequisite to specify the > algorithm we're using to test, since SHA-256 bundles are always v3, > whereas SHA-1 bundles default to v2, and as a result the default output > differs. > > However, this causes a problem if we run with GIT_TEST_FAIL_PREREQS set, > since that means that we'll unexpectedly fail the SHA1 prerequisite, > resulting in incorrect expected output. Let's fix this by checking > against the built-in data called "algo", which tells us which algorithm > is in use. This should work in any situation, making our test a little > more robust. Thanks, this seems like a reasonable step, and fixes the test for me. I still get tons of other failures because I set GIT_TEST_HTTPD=yes, which implies to me we should still be fixing GIT_TEST_FAIL_PREREQS. But I am happy to take this in the meantime for people who do care. -Peff
diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh index ed0d911e95..51705aa86a 100755 --- a/t/t5607-clone-bundle.sh +++ b/t/t5607-clone-bundle.sh @@ -91,7 +91,8 @@ test_expect_success 'ridiculously long subject in boundary' ' git fetch long-subject-bundle.bdl && - if ! test_have_prereq SHA1 + algo=$(test_oid algo) && + if test "$algo" != sha1 then echo "@object-format=sha256" fi >expect && @@ -100,7 +101,7 @@ test_expect_success 'ridiculously long subject in boundary' ' $(git rev-parse HEAD) HEAD EOF - if test_have_prereq SHA1 + if test "$algo" = sha1 then head -n 3 long-subject-bundle.bdl else
In this test, we currently use the SHA1 prerequisite to specify the algorithm we're using to test, since SHA-256 bundles are always v3, whereas SHA-1 bundles default to v2, and as a result the default output differs. However, this causes a problem if we run with GIT_TEST_FAIL_PREREQS set, since that means that we'll unexpectedly fail the SHA1 prerequisite, resulting in incorrect expected output. Let's fix this by checking against the built-in data called "algo", which tells us which algorithm is in use. This should work in any situation, making our test a little more robust. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> --- t/t5607-clone-bundle.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)