summaryrefslogblamecommitdiffstats
path: root/tests/ts-mount-move
blob: 3b182658a768dbdbc60a64561097ae990ef3d17b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                  
            
               
 





                                      


                                 





                                     
                                                                     





                                     
                        
                               
                                                         





                            
                

           
#!/bin/bash

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

. commands.sh
. functions.sh

TS_COMPONENT="mount"
TS_DESC="move "

ts_init "$1"
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