Merge branch 'rb/no-dev-zero-in-test'
authorJunio C Hamano <gitster@pobox.com>
Thu, 14 Feb 2019 02:18:43 +0000 (18:18 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Feb 2019 02:18:43 +0000 (18:18 -0800)
* rb/no-dev-zero-in-test:
t5562: replace /dev/zero with a pipe from generate_zero_bytes
t5318: replace use of /dev/zero with generate_zero_bytes
test-lib-functions.sh: add generate_zero_bytes function

1  2 
t/test-lib-functions.sh
diff --combined t/test-lib-functions.sh
index 969e2ba6dadd50ecb3a5a03fe9f8c72527eac279,bbf68712ccce6556b92004f55a8de14216dd57ac..094c07748aad423bff0eb8d5ff65ddceb3a4f5a6
@@@ -116,6 -116,19 +116,19 @@@ remove_cr () 
        tr '\015' Q | sed -e 's/Q$//'
  }
  
+ # Generate an output of $1 bytes of all zeroes (NULs, not ASCII zeroes).
+ # If $1 is 'infinity', output forever or until the receiving pipe stops reading,
+ # whichever comes first.
+ generate_zero_bytes () {
+       perl -e 'if ($ARGV[0] == "infinity") {
+               while (-1) {
+                       print "\0"
+               }
+       } else {
+               print "\0" x $ARGV[0]
+       }' "$@"
+ }
  # In some bourne shell implementations, the "unset" builtin returns
  # nonzero status when a variable to be unset was not set in the first
  # place.
@@@ -1289,7 -1302,7 +1302,7 @@@ test_set_port () 
                        port=$(($port + 10000))
                fi
                ;;
 -      *[^0-9]*|0*)
 +      *[!0-9]*|0*)
                error >&7 "invalid port number: $port"
                ;;
        *)