On Tue, Jul 28, 2020 at 7:36 PM brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > Currently, the SHA1 prerequisite depends on the output of git > hash-object. However, in order for that to produce sane behavior, we > must be in a repository. If we are not, the default will remain SHA-1, > and we'll produce wrong results if we're using SHA-256 for the testsuite > but the test assertion starts when we're not in a repository. > > Check the environment variable we use for this purpose, leaving it to > default to SHA-1 if none is specified. > > Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> > --- > diff --git a/t/test-lib.sh b/t/test-lib.sh > @@ -1689,7 +1689,11 @@ test_lazy_prereq CURL ' > test_lazy_prereq SHA1 ' > - test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 > + case "$GIT_DEFAULT_HASH" in > + sha1) true ;; > + "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; > + *) false :: > + esac > ' This deserves a s/::/;;/ in the final case arm. The "::" does work -- in a manner of speaking -- but only "by accident"; merely because it's being interpreted as an argument to 'false' and it happens to be the final case arm, but it still ought to be fixed. (I'm pretty sure I typed ";;", not "::", when I gave this code as an example in my previous review... {goes and checks...} indeed, I did type ";;".)