NetBSD/regress/bin/dd/dd.sh

26 lines
688 B
Bash
Executable File

#!/bin/sh
#
# Test dd(1) functionality and bugs
#
test_dd_length() {
result=$1
cmd=$2
set -- x `eval $cmd | wc -c`
res=$2
if [ x"$res" != x"$result" ]; then
echo "Expected $result bytes of output, got $res: $cmd"
exit 1
fi
}
# Test for result messages accidentally pumped into the output file if
# the standard IO descriptors are closed. The last of the three
# following tests is the one expected to fail. (NetBSD PR bin/8521)
#
test_dd_length 512 "dd if=/dev/zero of=/dev/fd/5 count=1 5>&1 >/dev/null 2>/dev/null"
test_dd_length 512 "dd if=/dev/zero of=/dev/fd/5 count=1 5>&1 >&- 2>/dev/null"
test_dd_length 512 "dd if=/dev/zero of=/dev/fd/5 count=1 5>&1 >&- 2>&-"
exit 0