aboutsummaryrefslogtreecommitdiffstats
path: root/t/test-lib-functions.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-02-13 18:18:43 -0800
committerJunio C Hamano <gitster@pobox.com>2019-02-13 18:18:43 -0800
commitb46221ff175286a7bab404f6f170ead2f57c4a1b (patch)
tree5e4813b2edd45f1c820f8be0d7c251b1c8799a08 /t/test-lib-functions.sh
parentMerge branch 'rs/bash-is-in-coreutils-on-nonstop' (diff)
parentt5562: replace /dev/zero with a pipe from generate_zero_bytes (diff)
downloadgit-b46221ff175286a7bab404f6f170ead2f57c4a1b.tar.gz
git-b46221ff175286a7bab404f6f170ead2f57c4a1b.zip
Merge branch 'rb/no-dev-zero-in-test'
* 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
Diffstat (limited to 't/test-lib-functions.sh')
-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 969e2ba6da..094c07748a 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.