]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t: use test_seq -f and pipes in a few more places
authorAaron Plattner <aplattner@nvidia.com>
Wed, 18 Feb 2026 18:10:19 +0000 (10:10 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 19 Feb 2026 17:02:08 +0000 (09:02 -0800)
Several tests use a pattern that writes to a temporary file like this:

  printf "do something with %d\n" $(test_seq <count>) >tmpfile &&
  git do-something --stdin <tmpfile

Other tests use test_seq's -f parameter, but still write to a temporary file:

  test_seq -f "do something with %d" <count> >input &&
  git do-something --stdin <input

Simplify both of these patterns to

  test_seq -f "do something with %d" <count> |
  git do-something --stdin

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/pack-refs-tests.sh
t/t0613-reftable-write-options.sh
t/t1400-update-ref.sh
t/t1460-refs-migrate.sh
t/t5004-archive-corner-cases.sh
t/t5401-update-hooks.sh

index 81086c369089b9dd77547d90cf3eea45469224c2..2fdaccb6c7f86ab3f185d8ba82d07e2598fd614f 100644 (file)
@@ -354,8 +354,8 @@ do
 
                        # Create 14 additional references, which brings us to
                        # 15 together with the default branch.
-                       printf "create refs/heads/loose-%d HEAD\n" $(test_seq 14) >stdin &&
-                       git update-ref --stdin <stdin &&
+                       test_seq -f "create refs/heads/loose-%d HEAD" 14 |
+                       git update-ref --stdin &&
                        test_path_is_missing .git/packed-refs &&
                        git ${pack_refs} --auto --all &&
                        test_path_is_missing .git/packed-refs &&
@@ -379,8 +379,8 @@ do
                        test_line_count = 2 .git/packed-refs &&
 
                        # Create 15 loose references.
-                       printf "create refs/heads/loose-%d HEAD\n" $(test_seq 15) >stdin &&
-                       git update-ref --stdin <stdin &&
+                       test_seq -f "create refs/heads/loose-%d HEAD" 15 |
+                       git update-ref --stdin &&
                        git ${pack_refs} --auto --all &&
                        test_line_count = 2 .git/packed-refs &&
 
@@ -401,18 +401,14 @@ do
 
                        # Create 99 packed refs. This should cause the heuristic
                        # to require more than the minimum amount of loose refs.
-                       test_seq 99 |
-                       while read i
-                       do
-                               printf "create refs/heads/packed-%d HEAD\n" $i || return 1
-                       done >stdin &&
-                       git update-ref --stdin <stdin &&
+                       test_seq -f "create refs/heads/packed-%d HEAD" 99 |
+                       git update-ref --stdin &&
                        git ${pack_refs} --all &&
                        test_line_count = 101 .git/packed-refs &&
 
                        # Create 24 loose refs, which should not yet cause us to repack.
-                       printf "create refs/heads/loose-%d HEAD\n" $(test_seq 24) >stdin &&
-                       git update-ref --stdin <stdin &&
+                       test_seq -f "create refs/heads/loose-%d HEAD" 24 |
+                       git update-ref --stdin &&
                        git ${pack_refs} --auto --all &&
                        test_line_count = 101 .git/packed-refs &&
 
@@ -420,8 +416,8 @@ do
                        # Note that we explicitly do not check for strict
                        # boundaries here, as this also depends on the size of
                        # the object hash.
-                       printf "create refs/heads/addn-%d HEAD\n" $(test_seq 10) >stdin &&
-                       git update-ref --stdin <stdin &&
+                       test_seq -f "create refs/heads/addn-%d HEAD" 10 |
+                       git update-ref --stdin &&
                        git ${pack_refs} --auto --all &&
                        test_line_count = 135 .git/packed-refs
                )
index e33475175949f5a96a6e5f22783f730233c8b3a6..26b716c75f219d36c9117f4a1b704376a684dab3 100755 (executable)
@@ -68,8 +68,8 @@ test_expect_success 'many refs results in multiple blocks' '
        (
                cd repo &&
                test_commit initial &&
-               test_seq -f "update refs/heads/branch-%d HEAD" 200 >input &&
-               git update-ref --stdin <input &&
+               test_seq -f "update refs/heads/branch-%d HEAD" 200 |
+               git update-ref --stdin &&
                git pack-refs &&
 
                cat >expect <<-EOF &&
@@ -178,8 +178,8 @@ test_expect_success 'restart interval at every single record' '
        (
                cd repo &&
                test_commit initial &&
-               test_seq -f "update refs/heads/branch-%d HEAD" 10 >input &&
-               git update-ref --stdin <input &&
+               test_seq -f "update refs/heads/branch-%d HEAD" 10 |
+               git update-ref --stdin &&
                git -c reftable.restartInterval=1 pack-refs &&
 
                cat >expect <<-EOF &&
@@ -218,8 +218,8 @@ test_expect_success 'object index gets written by default with ref index' '
        (
                cd repo &&
                test_commit initial &&
-               test_seq -f "update refs/heads/branch-%d HEAD" 5 >input &&
-               git update-ref --stdin <input &&
+               test_seq -f "update refs/heads/branch-%d HEAD" 5 |
+               git update-ref --stdin &&
                git -c reftable.blockSize=100 pack-refs &&
 
                cat >expect <<-EOF &&
@@ -253,8 +253,8 @@ test_expect_success 'object index can be disabled' '
        (
                cd repo &&
                test_commit initial &&
-               test_seq -f "update refs/heads/branch-%d HEAD" 5 >input &&
-               git update-ref --stdin <input &&
+               test_seq -f "update refs/heads/branch-%d HEAD" 5 |
+               git update-ref --stdin &&
                git -c reftable.blockSize=100 -c reftable.indexObjects=false pack-refs &&
 
                cat >expect <<-EOF &&
index db7f5444da2162155a2b35b0d1717fc5fc9d77d8..0f68a7dd4213e16533a5518b7df5131d7146e379 100755 (executable)
@@ -1380,16 +1380,16 @@ test_expect_success 'fails with duplicate ref update via symref' '
 
 test_expect_success ULIMIT_FILE_DESCRIPTORS 'large transaction creating branches does not burst open file limit' '
 (
-       test_seq -f "create refs/heads/%d HEAD" 33 >large_input &&
-       run_with_limited_open_files git update-ref --stdin <large_input &&
+       test_seq -f "create refs/heads/%d HEAD" 33 |
+       run_with_limited_open_files git update-ref --stdin &&
        git rev-parse --verify -q refs/heads/33
 )
 '
 
 test_expect_success ULIMIT_FILE_DESCRIPTORS 'large transaction deleting branches does not burst open file limit' '
 (
-       test_seq -f "delete refs/heads/%d HEAD" 33 >large_input &&
-       run_with_limited_open_files git update-ref --stdin <large_input &&
+       test_seq -f "delete refs/heads/%d HEAD" 33 |
+       run_with_limited_open_files git update-ref --stdin &&
        test_must_fail git rev-parse --verify -q refs/heads/33
 )
 '
index 0e1116a319d53dd9f953da4e4efb4b3eee292d3b..5246468024375300fb61134173679a8ea3a402dc 100755 (executable)
@@ -276,11 +276,11 @@ test_expect_success 'multiple reftable blocks with multiple entries' '
        test_when_finished "rm -rf repo" &&
        git init --ref-format=files repo &&
        test_commit -C repo first &&
-       printf "create refs/heads/ref-%d HEAD\n" $(test_seq 5000) >stdin &&
-       git -C repo update-ref --stdin <stdin &&
+       test_seq -f "create refs/heads/ref-%d HEAD" 5000 |
+       git -C repo update-ref --stdin &&
        test_commit -C repo second &&
-       printf "update refs/heads/ref-%d HEAD\n" $(test_seq 3000) >stdin &&
-       git -C repo update-ref --stdin <stdin &&
+       test_seq -f "update refs/heads/ref-%d HEAD" 3000 |
+       git -C repo update-ref --stdin &&
        test_migration repo reftable true
 '
 
index 027dedd9760a1812664cb725251523185696bd6e..df513a42694966e2bf0f7788ff1ccb6d809ea086 100755 (executable)
@@ -176,8 +176,7 @@ test_expect_success EXPENSIVE,UNZIP,UNZIP_ZIP64_SUPPORT \
        blob=$(echo $s | git hash-object -w --stdin) &&
 
        # create tree containing 65500 entries of that blob
-       test_seq -f "100644 blob $blob\t%d" 1 65500 >tree &&
-       tree=$(git mktree <tree) &&
+       tree=$(test_seq -f "100644 blob $blob\t%d" 1 65500 | git mktree) &&
 
        # zip it, creating an archive a bit bigger than 4GB
        git archive -0 -o many-big.zip $tree &&
index 17a46fd3bae14f2993940fca77048ba91ab69d8b..44ec875aef88ae5600724b6b0deb611ff20e6ece 100755 (executable)
@@ -134,8 +134,8 @@ test_expect_success 'pre-receive hook that forgets to read its input' '
        EOF
        rm -f victim.git/hooks/update victim.git/hooks/post-update &&
 
-       printf "create refs/heads/branch_%d main\n" $(test_seq 100 999) >input &&
-       git update-ref --stdin <input &&
+       test_seq -f "create refs/heads/branch_%d main" 100 999 |
+       git update-ref --stdin &&
        git push ./victim.git "+refs/heads/*:refs/heads/*"
 '