Instead of a pipeline with sed and a useless use of cat, return the
unmodified text of wc -c from function file_size, but substitute the
result with arithmetic expansion to get rid of the leading whitespace
that some version of wc -c print.

Signed-off-by: Johannes Sixt <j...@kdbg.org>
---
This is a pure optimization that reduces the number of forks, which
helps a bit on Windows.

There would be a solution with perl that does not require trimming
of whitespace, but perl startup times are unbearable on Windows.
wc -c is better.

 t/t0021-conversion.sh | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
index db71acacb3..42b529f615 100755
--- a/t/t0021-conversion.sh
+++ b/t/t0021-conversion.sh
@@ -22,7 +22,7 @@ generate_random_characters () {
 }
 
 file_size () {
-       cat "$1" | wc -c | sed "s/^[ ]*//"
+       wc -c <"$1"
 }
 
 filter_git () {
@@ -369,10 +369,10 @@ test_expect_success PERL 'required process filter should 
filter data' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
-                       IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: clean test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        IN: clean test4-empty.r 0 [OK] -- OUT: 0  [OK]
-                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $S3 [OK] -- 
OUT: $S3 . [OK]
+                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $(($S3)) 
[OK] -- OUT: $(($S3)) . [OK]
                        STOP
                EOF
                test_cmp_count expected.log rot13-filter.log &&
@@ -381,14 +381,14 @@ test_expect_success PERL 'required process filter should 
filter data' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
-                       IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: clean test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        IN: clean test4-empty.r 0 [OK] -- OUT: 0  [OK]
-                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $S3 [OK] -- 
OUT: $S3 . [OK]
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
-                       IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $(($S3)) 
[OK] -- OUT: $(($S3)) . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: clean test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        IN: clean test4-empty.r 0 [OK] -- OUT: 0  [OK]
-                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $S3 [OK] -- 
OUT: $S3 . [OK]
+                       IN: clean testsubdir/test3 '\''sq'\'',\$x.r $(($S3)) 
[OK] -- OUT: $(($S3)) . [OK]
                        STOP
                EOF
                test_cmp_count expected.log rot13-filter.log &&
@@ -399,8 +399,8 @@ test_expect_success PERL 'required process filter should 
filter data' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
-                       IN: smudge testsubdir/test3 '\''sq'\'',\$x.r $S3 [OK] 
-- OUT: $S3 . [OK]
+                       IN: smudge test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
+                       IN: smudge testsubdir/test3 '\''sq'\'',\$x.r $(($S3)) 
[OK] -- OUT: $(($S3)) . [OK]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
@@ -409,7 +409,7 @@ test_expect_success PERL 'required process filter should 
filter data' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
@@ -418,10 +418,10 @@ test_expect_success PERL 'required process filter should 
filter data' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge test.r $S [OK] -- OUT: $S . [OK]
-                       IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: smudge test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: smudge test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        IN: smudge test4-empty.r 0 [OK] -- OUT: 0  [OK]
-                       IN: smudge testsubdir/test3 '\''sq'\'',\$x.r $S3 [OK] 
-- OUT: $S3 . [OK]
+                       IN: smudge testsubdir/test3 '\''sq'\'',\$x.r $(($S3)) 
[OK] -- OUT: $(($S3)) . [OK]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
@@ -451,7 +451,7 @@ test_expect_success PERL 'required process filter takes 
precedence' '
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
                        STOP
                EOF
                test_cmp_count expected.log rot13-filter.log
@@ -474,7 +474,7 @@ test_expect_success PERL 'required process filter should be 
used only for "clean
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: clean test.r $S [OK] -- OUT: $S . [OK]
+                       IN: clean test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
                        STOP
                EOF
                test_cmp_count expected.log rot13-filter.log &&
@@ -603,11 +603,11 @@ test_expect_success PERL 'process filter should restart 
after unexpected write f
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge smudge-write-fail.r $SF [OK] -- OUT: $SF 
[WRITE FAIL]
+                       IN: smudge smudge-write-fail.r $(($SF)) [OK] -- OUT: 
$(($SF)) [WRITE FAIL]
                        START
                        init handshake complete
-                       IN: smudge test.r $S [OK] -- OUT: $S . [OK]
-                       IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: smudge test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: smudge test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
@@ -649,9 +649,9 @@ test_expect_success PERL 'process filter should not be 
restarted if it signals a
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge error.r $SE [OK] -- OUT: 0 [ERROR]
-                       IN: smudge test.r $S [OK] -- OUT: $S . [OK]
-                       IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
+                       IN: smudge error.r $(($SE)) [OK] -- OUT: 0 [ERROR]
+                       IN: smudge test.r $(($S)) [OK] -- OUT: $(($S)) . [OK]
+                       IN: smudge test2.r $(($S2)) [OK] -- OUT: $(($S2)) . [OK]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
@@ -688,7 +688,7 @@ test_expect_success PERL 'process filter abort stops 
processing of all further f
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge abort.r $SA [OK] -- OUT: 0 [ABORT]
+                       IN: smudge abort.r $(($SA)) [OK] -- OUT: 0 [ABORT]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log rot13-filter.log &&
-- 
2.11.0.rc0.55.gd967357

Reply via email to