go: # These two lines check for program errors and stylistic issues. # If they aren't working on your system, you can safely # comment them out. ./this-pylint --to-pylint cp-stat pep8 --max-line-length=132 cp-stat @echo # Copy forward touch from-file1 touch -m -d '2004-01-01 00:00:00' to-file1 ! ./test-mtimes-equal from-file1 to-file1 2> /dev/null ./cp-stat --verbose --source from-file1 --dest to-file1 ./test-mtimes-equal from-file1 to-file1 [ "$$(cat from-file1)" != "$$(cat from-file2)" ] @echo # Copy backward touch -m -d '2004-02-29 00:00:00' from-file2 touch to-file2 ! ./test-mtimes-equal from-file2 to-file2 2> /dev/null ./cp-stat --source from-file2 --dest to-file2 ./test-mtimes-equal from-file2 to-file2 @echo # Copy to nonexistent touch -m -d '2004-02-29 00:00:00' from-file3 rm -f to-file3 ./cp-stat -v --source from-file3 --dest to-file3 ! [ -f to-file3 ] @echo @echo All tests passed