26 lines
688 B
Bash
Executable File
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
|