summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Randall S. Becker <rsbecker@nexbridge.com>2019-02-09 13:59:28 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-02-12 09:09:06 -0800
commitb0fa1a3f997403bc444cd7a65d798185e9d548ca (patch)
treed2d04707bf814b3e3587bd71adcdbbc4eabfdd14 /t
parentRelNotes/2.21: misc typo/English fixups (diff)
downloadtgif-b0fa1a3f997403bc444cd7a65d798185e9d548ca.tar.xz
test-lib-functions.sh: add generate_zero_bytes function
t5318 and t5562 used /dev/zero, which is not portable. This function provides both a fixed block of NUL bytes and an infinite stream of NULs. Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rw-r--r--t/test-lib-functions.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 92cf8f812c..bbf68712cc 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -116,6 +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.