summaryrefslogblamecommitdiffstats
path: root/tests/ts-mount-move
blob: badc583395449ab84331aceb0f1512b5fff7e5d0 (plain) (tree)
1
2
3
4
5
6
7
8





                                  

                



                    
            
               
 





                                      


                                 





                                     
                                                                     





                                     
                        
                               
                                                         





                            
                

           
#!/bin/bash

#
# test for mount --move and --bind
#

. ./commands.sh
. ./functions.sh

TS_COMPONENT="mount"
TS_DESC="move "

ts_init "$*"
ts_skip_nonroot

PWD=$(pwd)

DIR_SRC="$PWD/$TS_OUTDIR/mnt-move-src"
DIR_A="$PWD/$TS_OUTDIR/mnt-move-A"
DIR_B="$PWD/$TS_OUTDIR/mnt-move-B"

[ -d $DIR_SRC ] || mkdir $DIR_SRC
[ -d $DIR_A ] || mkdir $DIR_A
[ -d $DIR_B ] || mkdir $DIR_B

# bind
$TS_CMD_MOUNT --bind $DIR_SRC $DIR_A

# check the bind
egrep -q "^$DIR_SRC $DIR_A" /etc/mtab
[ "$?" == "0" ] || ts_die "Cannot found binded $DIR_SRC in /etc/mtab"

# move
$TS_CMD_MOUNT --move $DIR_A $DIR_B

# check the move
egrep -q "^$DIR_SRC $DIR_B" /etc/mtab
if [ "$?" != "0" ]; then
	$TS_CMD_UMOUNT $DIR_SRC
	ts_die "Cannot found moved $DIR_SRC in /etc/mtab"
fi

# clean up
$TS_CMD_UMOUNT $DIR_SRC
rmdir $DIR_SRC $DIR_A $DIR_B

ts_log "Success"
ts_finalize