home *** CD-ROM | disk | FTP | other *** search
- #
- # Regression test script for mv/cp/rm
- #
- # Copyright 1989 Edwin Hoogerbeets
- #
- # This code may be freely redistributed as long as no charges other than
- # reasonable copying fees are levied for it.
- #
- # This script is for the Dillon/Drew shell. To see what the utilities
- # are doing, compile with -DDEBUG and then source this script for a
- # verbose listing of what's happening.
- #
-
- # create the test environment
- echo mkdir foo
- mkdir foo
- echo cp * foo
- cp * foo
-
- #
- # test mv on same volume
- #
-
- # mv directory to a new name
- # expected result: foo will be renamed to bar
- echo mv foo bar
- mv foo bar
-
- # mv directory to existing directory
- # expected result: bar will be renamed foo/bar
- echo mkdir foo
- mkdir foo
- echo mv bar foo
- mv bar foo
-
- # mv file to directory
- # expected result: rm will be renamed to foo
- echo mv rm foo
- mv rm foo
-
- # mv multiple files to directory
- # expected result: foo/rm and cp will be renamed to foobar/rm and foobar/cp
- echo mv foo/rm cp foobar
- mv foo/rm cp foobar
-
- # test "" as current directory
- # expected results: everything in the foobar directory will be renamed
- # under the current directory
- echo foobar/* \"\"
- mv foobar/* \"\"
-
- # mv multiple directories to directory
- # expected result: foo and foobar will be renamed to barfoo/foo
- # and barfoo/foobar
- echo mkdir barfoo
- mkdir barfoo
- echo mv foo foobar barfoo
- mv foo foobar barfoo
-
- # mv file to file
- # expected result: rm will be renamed to arm and back to rm
- echo mv rm arm
- mv rm arm
- echo mv arm rm
- mv arm rm
-
- echo mv barfoo/foo \"\"
- mv barfoo/foo \"\"
-
- #
- # test mv across volumes
- #
-
- echo mkdir ram:foo
- mkdir ram:foo
-
- # mv directory to existing directory
- # expected result: foo will get recursively moved to ram:foo
- echo mv foo ram:
- mv foo ram:
-
- # mv directory to a non-existant directory
- # expected result: ram:foo will get recursively moved to rad:foo
- echo mv ram:foo rad:foo
- mv ram:foo rad:foo
-
- # mv file to existing directory
- # expected result: rm will get moved to ram:rm
- echo mv rm ram:
- mv rm ram:
-
- # mv file to non-existant name
- # expected result: ram:rm will be moved to arm and then to rm
- echo mv ram:rm arm
- mv ram:rm arm
- echo mv arm rm
- mv arm rm
-
- #
- # test cp
- #
-
- # create the test environment
- echo mkdir foo
- mkdir foo
- echo cp * foo
- cp * foo
- echo cat "<nil: >bar"
- cat <nil: >bar
-
- # copy a zero length file
- echo cp bar booboo
- cp bar booboo
- echo rm bar booboo
- rm bar booboo
-
- # copy directory to new directory
- # expected result: foo/* will be copied to be asdf/*
- echo cp -r foo asdf
- cp -r foo asdf
-
- # copy multiple directories to a directory
- # expected result: foo/* and asdf/* will be copied to fooasdf/foo/*
- # and to fooasdf/asdf/* respectively
- echo cp -r foo asdf fooasdf
- cp -r foo asdf fooasdf
-
- # copy directory to existing directory
- # expected result: barfoo/* will be copied to asdf/barfoo/*
- echo cp -r barfoo asdf
- cp -r barfoo asdf
-
- # copy files to directory
- # expected result: cp rm and mv will be copied to asdf/cp asdf/rm
- # and asdf/mv
- echo cp rm cp mv asdf
- cp rm cp mv asdf
-
- # test [lack of] -r option
- # expected result: complain about directories not being copied
- echo cp * asdf
- cp * asdf
-
- # cp across volumes (this test shouldn't matter)
- # expected result: * will be copied to ram:asdf/*
- echo cp * ram:asdf
- cp * ram:asdf
-
- #
- # test rm
- #
-
- echo cd asdf
- cd asdf
-
- # test [lack of] -r option
- # expected result: only files will be erased
- echo rm *
- rm *
-
- # test -r option
- # expected result: directories and all will be erased
- echo rm -r *
- rm -r *
-
- echo cd /
- cd /
-
- #
- # test -i option
- #
-
- # expected result: directory creation and clobbering files will be okayed
- # before proceding
- echo mv -i rad:foo ram:foo
- mv -i rad:foo ram:foo
-
- #
- # test delete protection and -f option
- #
-
- # set up
- echo rm -r foo
- rm -r foo
-
- echo cp rm foo
- cp rm foo
- echo protect foo rwe
- protect foo rwe
-
- # test copying to a delete protected file
- # expected result: should ask for permission to overwrite foo
- echo cp rm foo
- cp rm foo
-
- echo protect foo rwe
- protect foo rwe
-
- # test -f option on mv
- # expected result: rm will be renamed to foo despite delete protect
- echo mv -f rm foo
- mv -f rm foo
-
- echo protect foo rwe
- protect foo rwe
-
- # test -f option on rm
- # expected result: foo will be deleted no problem
- echo rm -f foo
- rm -f foo
-
- echo cp cp rm
- cp cp rm
-
- #
- # test - option
- #
-
- # set up
- echo mkdir -d
- mkdir -d
-
- # expected result: -d will be recursively removed
- echo rm -r - -d
- rm -r - -d
-
- #
- # test bad input
- #
-
- # move non-existant files
- # expected result: complain about no access to non-existant files
- echo mv FidgeMeJerk Kawanga BoongaBoonga Maximillian
- mv FidgeMeJerk Kawanga BoongaBoonga Maximillian
-
- # remove non-existant file
- # expected result: complain about could not remove non-existant files
- echo rm foobarandgrill
- rm foobarandgrill
-
- # copy or move to the same file
- # expected result: mv works but cp should complain about not being
- # able to copy a file to itself
- echo mv cp Cp
- mv cp Cp
- echo cp mv mv
- cp mv mv
-
- # no args
- # expected result: usage info displayed
- echo cp
- cp
-
- # no files
- # expected result: usage info displayed
- echo cp -r
- cp -r
-
- # bad options
- # expected result: complain about bad option and usage
- echo cp -q
- cp -q
-
- # not enough args
- # expected result: usage info displayed
- echo mv foo
- mv foo
-
- # move directory onto a file
- # expected result: complain and give usage
- echo mv asdf rm
- mv asdf rm
-
- #
- # Test wildcarding (needs to compiled with -DARP and linked with -la32)
- #
-
- # expected result: everything will get copied to the new directory asdf
- echo cp "*" asdf
- cp "*" asdf
-
- # expected result: everything will get copied to the new directory asdf
- echo cp "#?" asdf
- cp "#?" asdf
-
- # expected result: two letter file names will get copied to directory asdf
- echo cp "??" asdf
- cp "??" asdf
-
- #
- # cleanup
- #
-
- echo rm -fr asdf barfoo ram:asdf ram:foo foo fooasdf Maximillian rad:bar
- rm -fr asdf barfoo ram:asdf ram:foo foo fooasdf Maximillian rad:bar
-
-
-
-