|
|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src |
|
|
print_ver_ cp mv |
|
|
|
|
|
test_reset() { |
|
|
echo old > old || framework_failure_ |
|
|
touch -d yesterday old || framework_failure_ |
|
|
echo new > new || framework_failure_ |
|
|
} |
|
|
|
|
|
test_reset |
|
|
for interactive in '' -i; do |
|
|
for cp_or_mv in cp mv; do |
|
|
|
|
|
|
|
|
|
|
|
$cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1 |
|
|
compare /dev/null out || fail=1 |
|
|
case "$(cat new)" in new) ;; *) fail=1 ;; esac |
|
|
case "$(cat old)" in old) ;; *) fail=1 ;; esac |
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|
echo n | returns_ 1 mv -vi -u new old >/dev/null 2>&1 || fail=1 |
|
|
|
|
|
|
|
|
for update_option in '--update' '--update=older' '--update=all' \ |
|
|
'--update=none' '--update=none-fail'; do |
|
|
|
|
|
touch file1 || framework_failure_ |
|
|
mv $update_option file1 file2 || fail=1 |
|
|
test -f file1 && fail=1 |
|
|
cp $update_option file2 file1 || fail=1 |
|
|
rm file1 file2 || framework_failure_ |
|
|
done |
|
|
|
|
|
|
|
|
for update_option in '--update' '--update=older' '--update=all' \ |
|
|
'--update=none --update=all'; do |
|
|
test_reset |
|
|
mv $update_option new old || fail=1 |
|
|
test -f new && fail=1 |
|
|
case "$(cat old)" in new) ;; *) fail=1 ;; esac |
|
|
|
|
|
test_reset |
|
|
cp $update_option new old || fail=1 |
|
|
case "$(cat old)" in new) ;; *) fail=1 ;; esac |
|
|
case "$(cat new)" in new) ;; *) fail=1 ;; esac |
|
|
done |
|
|
|
|
|
|
|
|
for update_option in '--update=none' '--update=none-fail' \ |
|
|
'--update=all --update=none' \ |
|
|
'--update=all --no-clobber' \ |
|
|
'--no-clobber --update=all'; do |
|
|
|
|
|
echo "$update_option" | grep 'fail' >/dev/null && ret=1 || ret=0 |
|
|
|
|
|
test_reset |
|
|
returns_ $ret mv $update_option new old || fail=1 |
|
|
case "$(cat new)" in new) ;; *) fail=1 ;; esac |
|
|
case "$(cat old)" in old) ;; *) fail=1 ;; esac |
|
|
|
|
|
test_reset |
|
|
returns_ $ret cp $update_option new old || fail=1 |
|
|
case "$(cat new)" in new) ;; *) fail=1 ;; esac |
|
|
case "$(cat old)" in old) ;; *) fail=1 ;; esac |
|
|
done |
|
|
|
|
|
Exit $fail |
|
|
|