backup-is-src.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/sh
  2. # Force mv to use the copying code.
  3. # Copyright (C) 1998-2018 Free Software Foundation, Inc.
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. # This program is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. # GNU General Public License for more details.
  12. # You should have received a copy of the GNU General Public License
  13. # along with this program. If not, see <https://www.gnu.org/licenses/>.
  14. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
  15. print_ver_ mv
  16. cleanup_() { rm -rf "$other_partition_tmpdir"; }
  17. . "$abs_srcdir/tests/other-fs-tmpdir"
  18. a="$other_partition_tmpdir/a"
  19. a2="$other_partition_tmpdir/a~"
  20. rm -f "$a" "$a2" || framework_failure_
  21. echo a > "$a" || framework_failure_
  22. echo a2 > "$a2" || framework_failure_
  23. # This mv command should exit nonzero.
  24. mv --b=simple "$a2" "$a" > out 2>&1 && fail=1
  25. sed \
  26. -e "s,mv:,XXX:," \
  27. -e "s,$a,YYY," \
  28. -e "s,$a2,ZZZ," \
  29. out > out2
  30. cat > exp <<\EOF
  31. XXX: backing up 'YYY' might destroy source; 'ZZZ' not moved
  32. EOF
  33. compare exp out2 || fail=1
  34. Exit $fail