t3305: make hash size independent
authorbrian m. carlson <sandals@crustytoothpaste.net>
Sun, 18 Aug 2019 19:16:36 +0000 (19:16 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 20 Aug 2019 18:09:21 +0000 (11:09 -0700)
Instead of hard-coding 40-character shell patterns, use grep to
determine if all of the paths have either zero or one levels of fanout,
as appropriate.

Note that the final test is implicitly dependent on the hash algorithm.
Depending on the algorithm in use, the fanout may or may not completely
compress.  In its current state, this is not a problem, but it could be
if the hash algorithm changes again.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3305-notes-fanout.sh

index 54460be..831f83d 100755 (executable)
@@ -35,15 +35,10 @@ test_expect_success 'many notes created with git-notes triggers fanout' '
        git ls-tree -r --name-only refs/notes/commits |
        while read path
        do
-               case "$path" in
-               ??/??????????????????????????????????????)
-                       : true
-                       ;;
-               *)
+               echo $path | grep "^../[0-9a-f]*$" || {
                        echo "Invalid path \"$path\"" &&
-                       return 1
-                       ;;
-               esac
+                       return 1;
+               }
        done
 '
 
@@ -77,15 +72,10 @@ test_expect_success 'deleting most notes triggers fanout consolidation' '
        git ls-tree -r --name-only refs/notes/commits |
        while read path
        do
-               case "$path" in
-               ????????????????????????????????????????)
-                       : true
-                       ;;
-               *)
+               echo $path | grep -v "^../.*" || {
                        echo "Invalid path \"$path\"" &&
-                       return 1
-                       ;;
-               esac
+                       return 1;
+               }
        done
 '