#!/bin/sh # Ensure dd treats `--' properly. # Also ensure that iflags=noatime works. tmp_in=dd-in.$$ tmp_out=dd-out.$$ if test "$VERBOSE" = yes; then set -x dd --version fi test_failure=0 echo data > $tmp_in || test_failure=1 if test $test_failure = 1; then echo 'failure in testing framework' exit 1 fi dd if=$tmp_in of=$tmp_out > /dev/null 2>&1 || fail=1 cmp $tmp_in $tmp_out || fail=1 rm $tmp_out dd -- if=$tmp_in of=$tmp_out > /dev/null 2>&1 || fail=1 cmp $tmp_in $tmp_out || fail=1 old_ls=`ls -u --full-time $tmp_in` sleep 1 if dd iflags=noatime if=$tmp_in of=$tmp_out > /dev/null 2>&1; then new_ls=`ls -u --full-time $tmp_in` if test "x$old_ls" != "x$new_ls"; then echo "dd iflags=noatime updated atime; O_NOATIME bug in your kernel?" >&2 fail=1 fi fi rm -f $tmp_in $tmp_out exit $fail