t: use test_seq -f and pipes in a few more places
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>
Aaron Plattner committed
Feb 18, 2026 at 10:10 UTC
0678e01f0211f4e3310f3c01b3425da53aa63677
6 files changed
+29
-34
t/pack-refs-tests.sh
+10
-14
@@ -354,8 +354,8 @@ do
354
355
# Create 14 additional references, which brings us to
356
# 15 together with the default branch.
357
- printf "create refs/heads/loose-%d HEAD\n" $(test_seq 14) >stdin &&
358
- git update-ref --stdin <stdin &&
357
+ test_seq -f "create refs/heads/loose-%d HEAD" 14 |
358
+ git update-ref --stdin &&
359
test_path_is_missing .git/packed-refs &&
360
git ${pack_refs} --auto --all &&
361
test_path_is_missing .git/packed-refs &&
@@ -379,8 +379,8 @@ do
379
test_line_count = 2 .git/packed-refs &&
380
381
# Create 15 loose references.
382
- printf "create refs/heads/loose-%d HEAD\n" $(test_seq 15) >stdin &&
383
- git update-ref --stdin <stdin &&
382
+ test_seq -f "create refs/heads/loose-%d HEAD" 15 |
383
+ git update-ref --stdin &&
384
git ${pack_refs} --auto --all &&
385
test_line_count = 2 .git/packed-refs &&
386
@@ -401,18 +401,14 @@ do
401
402
# Create 99 packed refs. This should cause the heuristic
403
# to require more than the minimum amount of loose refs.
404
- test_seq 99 |
405
- while read i
406
- do
407
- printf "create refs/heads/packed-%d HEAD\n" $i || return 1
408
- done >stdin &&
409
- git update-ref --stdin <stdin &&
404
+ test_seq -f "create refs/heads/packed-%d HEAD" 99 |
405
+ git update-ref --stdin &&
406
git ${pack_refs} --all &&
407
test_line_count = 101 .git/packed-refs &&
408
409
# Create 24 loose refs, which should not yet cause us to repack.
414
- printf "create refs/heads/loose-%d HEAD\n" $(test_seq 24) >stdin &&
415
- git update-ref --stdin <stdin &&
410
+ test_seq -f "create refs/heads/loose-%d HEAD" 24 |
411
+ git update-ref --stdin &&
412
git ${pack_refs} --auto --all &&
413
test_line_count = 101 .git/packed-refs &&
414
@@ -420,8 +416,8 @@ do
416
# Note that we explicitly do not check for strict
417
# boundaries here, as this also depends on the size of
418
# the object hash.
423
- printf "create refs/heads/addn-%d HEAD\n" $(test_seq 10) >stdin &&
424
- git update-ref --stdin <stdin &&
419
+ test_seq -f "create refs/heads/addn-%d HEAD" 10 |
420
+ git update-ref --stdin &&
421
git ${pack_refs} --auto --all &&
422
test_line_count = 135 .git/packed-refs
423
)
t/t0613-reftable-write-options.sh
+8
-8
@@ -68,8 +68,8 @@ test_expect_success 'many refs results in multiple blocks' '
68
(
69
cd repo &&
70
test_commit initial &&
71
- test_seq -f "update refs/heads/branch-%d HEAD" 200 >input &&
72
- git update-ref --stdin <input &&
71
+ test_seq -f "update refs/heads/branch-%d HEAD" 200 |
72
+ git update-ref --stdin &&
73
git pack-refs &&
74
75
cat >expect <<-EOF &&
@@ -178,8 +178,8 @@ test_expect_success 'restart interval at every single record' '
178
(
179
cd repo &&
180
test_commit initial &&
181
- test_seq -f "update refs/heads/branch-%d HEAD" 10 >input &&
182
- git update-ref --stdin <input &&
181
+ test_seq -f "update refs/heads/branch-%d HEAD" 10 |
182
+ git update-ref --stdin &&
183
git -c reftable.restartInterval=1 pack-refs &&
184
185
cat >expect <<-EOF &&
@@ -218,8 +218,8 @@ test_expect_success 'object index gets written by default with ref index' '
218
(
219
cd repo &&
220
test_commit initial &&
221
- test_seq -f "update refs/heads/branch-%d HEAD" 5 >input &&
222
- git update-ref --stdin <input &&
221
+ test_seq -f "update refs/heads/branch-%d HEAD" 5 |
222
+ git update-ref --stdin &&
223
git -c reftable.blockSize=100 pack-refs &&
224
225
cat >expect <<-EOF &&
@@ -253,8 +253,8 @@ test_expect_success 'object index can be disabled' '
253
(
254
cd repo &&
255
test_commit initial &&
256
- test_seq -f "update refs/heads/branch-%d HEAD" 5 >input &&
257
- git update-ref --stdin <input &&
256
+ test_seq -f "update refs/heads/branch-%d HEAD" 5 |
257
+ git update-ref --stdin &&
258
git -c reftable.blockSize=100 -c reftable.indexObjects=false pack-refs &&
259
260
cat >expect <<-EOF &&
t/t1400-update-ref.sh
+4
-4
@@ -1380,16 +1380,16 @@ test_expect_success 'fails with duplicate ref update via symref' '
1380
1381
test_expect_success ULIMIT_FILE_DESCRIPTORS 'large transaction creating branches does not burst open file limit' '
1382
(
1383
- test_seq -f "create refs/heads/%d HEAD" 33 >large_input &&
1384
- run_with_limited_open_files git update-ref --stdin <large_input &&
1383
+ test_seq -f "create refs/heads/%d HEAD" 33 |
1384
+ run_with_limited_open_files git update-ref --stdin &&
1385
git rev-parse --verify -q refs/heads/33
1386
)
1387
'
1388
1389
test_expect_success ULIMIT_FILE_DESCRIPTORS 'large transaction deleting branches does not burst open file limit' '
1390
(
1391
- test_seq -f "delete refs/heads/%d HEAD" 33 >large_input &&
1392
- run_with_limited_open_files git update-ref --stdin <large_input &&
1391
+ test_seq -f "delete refs/heads/%d HEAD" 33 |
1392
+ run_with_limited_open_files git update-ref --stdin &&
1393
test_must_fail git rev-parse --verify -q refs/heads/33
1394
)
1395
'
t/t1460-refs-migrate.sh
+4
-4
@@ -276,11 +276,11 @@ test_expect_success 'multiple reftable blocks with multiple entries' '
276
test_when_finished "rm -rf repo" &&
277
git init --ref-format=files repo &&
278
test_commit -C repo first &&
279
- printf "create refs/heads/ref-%d HEAD\n" $(test_seq 5000) >stdin &&
280
- git -C repo update-ref --stdin <stdin &&
279
+ test_seq -f "create refs/heads/ref-%d HEAD" 5000 |
280
+ git -C repo update-ref --stdin &&
281
test_commit -C repo second &&
282
- printf "update refs/heads/ref-%d HEAD\n" $(test_seq 3000) >stdin &&
283
- git -C repo update-ref --stdin <stdin &&
282
+ test_seq -f "update refs/heads/ref-%d HEAD" 3000 |
283
+ git -C repo update-ref --stdin &&
284
test_migration repo reftable true
285
'
286
t/t5004-archive-corner-cases.sh
+1
-2
@@ -176,8 +176,7 @@ test_expect_success EXPENSIVE,UNZIP,UNZIP_ZIP64_SUPPORT \
176
blob=$(echo $s | git hash-object -w --stdin) &&
177
178
# create tree containing 65500 entries of that blob
179
- test_seq -f "100644 blob $blob\t%d" 1 65500 >tree &&
180
- tree=$(git mktree <tree) &&
179
+ tree=$(test_seq -f "100644 blob $blob\t%d" 1 65500 | git mktree) &&
180
181
# zip it, creating an archive a bit bigger than 4GB
182
git archive -0 -o many-big.zip $tree &&
t/t5401-update-hooks.sh
+2
-2
@@ -134,8 +134,8 @@ test_expect_success 'pre-receive hook that forgets to read its input' '
134
EOF
135
rm -f victim.git/hooks/update victim.git/hooks/post-update &&
136
137
- printf "create refs/heads/branch_%d main\n" $(test_seq 100 999) >input &&
138
- git update-ref --stdin <input &&
137
+ test_seq -f "create refs/heads/branch_%d main" 100 999 |
138
+ git update-ref --stdin &&
139
git push ./victim.git "+refs/heads/*:refs/heads/*"
140
'
141