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>
This commit is contained in:
Randall S. Becker 2019-02-09 13:59:28 -05:00 коммит произвёл Junio C Hamano
Родитель e9bd4aa026
Коммит b0fa1a3f99
1 изменённых файлов: 13 добавлений и 0 удалений

Просмотреть файл

@ -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.