summaryrefslogtreecommitdiffstats
path: root/tools/regression/bin/mv/regress.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/bin/mv/regress.sh')
-rw-r--r--tools/regression/bin/mv/regress.sh296
1 files changed, 0 insertions, 296 deletions
diff --git a/tools/regression/bin/mv/regress.sh b/tools/regression/bin/mv/regress.sh
deleted file mode 100644
index d0a5e83..0000000
--- a/tools/regression/bin/mv/regress.sh
+++ /dev/null
@@ -1,296 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-# A directory in a device different from that where the tests are run
-TMPDIR=/tmp/regress.$$
-COUNT=0
-
-# Begin an individual test
-begin()
-{
- COUNT=`expr $COUNT + 1`
- OK=1
- if [ -z "$FS" ]
- then
- NAME="$1"
- else
- NAME="$1 (cross device)"
- fi
- rm -rf testdir $TMPDIR/testdir
- mkdir -p testdir $TMPDIR/testdir
- cd testdir
-}
-
-# End an individual test
-end()
-{
- if [ $OK = 1 ]
- then
- printf 'ok '
- else
- printf 'not ok '
- fi
- echo "$COUNT - $NAME"
- cd ..
- rm -rf testdir $TMPDIR/testdir
-}
-
-# Make a file that can later be verified
-mkf()
-{
- CN=`basename $1`
- echo "$CN-$CN" >$1
-}
-
-# Verify that the file specified is correct
-ckf()
-{
- if [ -f $2 ] && echo "$1-$1" | diff - $2 >/dev/null
- then
- ok
- else
- notok
- fi
-}
-
-# Make a fifo that can later be verified
-mkp()
-{
- mkfifo $1
-}
-
-# Verify that the file specified is correct
-ckp()
-{
- if [ -p $2 ]
- then
- ok
- else
- notok
- fi
-}
-
-# Make a directory that can later be verified
-mkd()
-{
- CN=`basename $1`
- mkdir -p $1/"$CN-$CN"
-}
-
-# Verify that the directory specified is correct
-ckd()
-{
- if [ -d $2/$1-$1 ]
- then
- ok
- else
- notok
- fi
-}
-
-# Verify that the specified file does not exist
-# (is not there)
-cknt()
-{
- if [ -r $1 ]
- then
- notok
- else
- ok
- fi
-}
-
-# A part of a test succeeds
-ok()
-{
- :
-}
-
-# A part of a test fails
-notok()
-{
- OK=0
-}
-
-# Verify that the exit code passed is for unsuccessful termination
-ckfail()
-{
- if [ $1 -gt 0 ]
- then
- ok
- else
- notok
- fi
-}
-
-# Verify that the exit code passed is for successful termination
-ckok()
-{
- if [ $1 -eq 0 ]
- then
- ok
- else
- notok
- fi
-}
-
-# Run all tests locally and across devices
-echo 1..32
-for FS in '' $TMPDIR/testdir/
-do
- begin 'Rename file'
- mkf fa
- mv fa ${FS}fb
- ckok $?
- ckf fa ${FS}fb
- cknt fa
- end
-
- begin 'Move files into directory'
- mkf fa
- mkf fb
- mkdir -p ${FS}1/2/3
- mv fa fb ${FS}1/2/3
- ckok $?
- ckf fa ${FS}1/2/3/fa
- ckf fb ${FS}1/2/3/fb
- cknt fa
- cknt fb
- end
-
- begin 'Move file from directory to file'
- mkdir -p 1/2/3
- mkf 1/2/3/fa
- mv 1/2/3/fa ${FS}fb
- ckok $?
- ckf fa ${FS}fb
- cknt 1/2/3/fa
- end
-
- begin 'Move file from directory to existing file'
- mkdir -p 1/2/3
- mkf 1/2/3/fa
- :> ${FS}fb
- mv 1/2/3/fa ${FS}fb
- ckok $?
- ckf fa ${FS}fb
- cknt 1/2/3/fa
- end
-
- begin 'Move file from directory to existing directory'
- mkdir -p 1/2/3
- mkf 1/2/3/fa
- mkdir -p ${FS}db/fa
- # Should fail per POSIX step 3a:
- # Destination path is a file of type directory and
- # source_file is not a file of type directory
- mv 1/2/3/fa ${FS}db 2>/dev/null
- ckfail $?
- ckf fa 1/2/3/fa
- end
-
- begin 'Move file from directory to directory'
- mkdir -p da1/da2/da3
- mkdir -p ${FS}db1/db2/db3
- mkf da1/da2/da3/fa
- mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
- ckok $?
- ckf fa ${FS}db1/db2/db3/fb
- cknt da1/da2/da3/fa
- end
-
- begin 'Rename directory'
- mkd da
- mv da ${FS}db
- ckok $?
- ckd da ${FS}db
- cknt da
- end
-
- begin 'Move directory to directory name'
- mkd da1/da2/da3/da
- mkdir -p ${FS}db1/db2/db3
- mv da1/da2/da3/da ${FS}db1/db2/db3/db
- ckok $?
- ckd da ${FS}db1/db2/db3/db
- cknt da1/da2/da3/da
- end
-
- begin 'Move directory to directory'
- mkd da1/da2/da3/da
- mkdir -p ${FS}db1/db2/db3
- mv da1/da2/da3/da ${FS}db1/db2/db3
- ckok $?
- ckd da ${FS}db1/db2/db3/da
- cknt da1/da2/da3/da
- end
-
- begin 'Move directory to existing empty directory'
- mkd da1/da2/da3/da
- mkdir -p ${FS}db1/db2/db3/da
- mv da1/da2/da3/da ${FS}db1/db2/db3
- ckok $?
- ckd da ${FS}db1/db2/db3/da
- cknt da1/da2/da3/da
- end
-
- begin 'Move directory to existing non-empty directory'
- mkd da1/da2/da3/da
- mkdir -p ${FS}db1/db2/db3/da/full
- # Should fail (per the semantics of rename(2))
- mv da1/da2/da3/da ${FS}db1/db2/db3 2>/dev/null
- ckfail $?
- ckd da da1/da2/da3/da
- end
-
- begin 'Move directory to existing file'
- mkd da1/da2/da3/da
- mkdir -p ${FS}db1/db2/db3
- :> ${FS}db1/db2/db3/da
- # Should fail per POSIX step 3b:
- # Destination path is a file not of type directory
- # and source_file is a file of type directory
- mv da1/da2/da3/da ${FS}db1/db2/db3/da 2>/dev/null
- ckfail $?
- ckd da da1/da2/da3/da
- end
-
- begin 'Rename fifo'
- mkp fa
- mv fa ${FS}fb
- ckok $?
- ckp fa ${FS}fb
- cknt fa
- end
-
- begin 'Move fifos into directory'
- mkp fa
- mkp fb
- mkdir -p ${FS}1/2/3
- mv fa fb ${FS}1/2/3
- ckok $?
- ckp fa ${FS}1/2/3/fa
- ckp fb ${FS}1/2/3/fb
- cknt fa
- cknt fb
- end
-
- begin 'Move fifo from directory to fifo'
- mkdir -p 1/2/3
- mkp 1/2/3/fa
- mv 1/2/3/fa ${FS}fb
- ckok $?
- ckp fa ${FS}fb
- cknt 1/2/3/fa
- end
-
- begin 'Move fifo from directory to directory'
- mkdir -p da1/da2/da3
- mkdir -p ${FS}db1/db2/db3
- mkp da1/da2/da3/fa
- mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
- ckok $?
- ckp fa ${FS}db1/db2/db3/fb
- cknt da1/da2/da3/fa
- end
-done
OpenPOWER on IntegriCloud