tests/geo-rep: Add symlink rename test case
Added a test case of symlink rename and directory creation with the name same as original symlink file. Also fixed few other issues in geo-rep.rc fixes: bz#1595726 Change-Id: I8e6acd3e742f3a0104cd37b87d1c0e0c902679b5 Signed-off-by: Kotresh HR <khiremat@redhat.com>
This commit is contained in:
parent
b3c2116d99
commit
957e2963cf
@ -3,7 +3,6 @@
|
||||
. $(dirname $0)/../include.rc
|
||||
. $(dirname $0)/../volume.rc
|
||||
. $(dirname $0)/../geo-rep.rc
|
||||
. $(dirname $0)/../env.rc
|
||||
|
||||
AREQUAL_PATH=$(dirname $0)/../utils
|
||||
test "`uname -s`" != "Linux" && {
|
||||
@ -157,6 +156,25 @@ EXPECT_WITHIN $GEO_REP_TIMEOUT 0 hardlink_rename_ok ${slave_mnt}/hardlink_rename
|
||||
#Stop Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave stop
|
||||
|
||||
#Symlink testcase: Rename symlink and create dir with same name
|
||||
TEST mkdir ${master_mnt}/symlink_test1
|
||||
TEST touch ${master_mnt}/symlink_test1/file1
|
||||
TEST ln -s "./file1" ${master_mnt}/symlink_test1/sym_link
|
||||
TEST mv ${master_mnt}/symlink_test1/sym_link ${master_mnt}/symlink_test1/rn_sym_link
|
||||
TEST mkdir ${master_mnt}/symlink_test1/sym_link
|
||||
|
||||
#Start Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave start
|
||||
|
||||
#Check for hardlink rename case. It should not create src file again on
|
||||
# changelog reprocessing. Refer BUG1296174
|
||||
EXPECT_WITHIN $GEO_REP_TIMEOUT 0 hardlink_rename_ok ${slave_mnt}/hardlink_rename_test_file
|
||||
#symlink rename mkdir
|
||||
EXPECT_WITHIN $GEO_REP_TIMEOUT 0 symlink_rename_mkdir_ok ${slave_mnt}/symlink_test1
|
||||
|
||||
#Stop Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave stop
|
||||
|
||||
#Delete Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave delete
|
||||
|
||||
|
@ -159,6 +159,25 @@ EXPECT_WITHIN $GEO_REP_TIMEOUT 0 hardlink_rename_ok ${slave_mnt}/hardlink_rename
|
||||
#Stop Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave stop
|
||||
|
||||
#Symlink testcase: Rename symlink and create dir with same name
|
||||
TEST mkdir ${master_mnt}/symlink_test1
|
||||
TEST touch ${master_mnt}/symlink_test1/file1
|
||||
TEST ln -s "./file1" ${master_mnt}/symlink_test1/sym_link
|
||||
TEST mv ${master_mnt}/symlink_test1/sym_link ${master_mnt}/symlink_test1/rn_sym_link
|
||||
TEST mkdir ${master_mnt}/symlink_test1/sym_link
|
||||
|
||||
#Start Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave start
|
||||
|
||||
#Check for hardlink rename case. It should not create src file again on
|
||||
# changelog reprocessing. Refer BUG1296174
|
||||
EXPECT_WITHIN $GEO_REP_TIMEOUT 0 hardlink_rename_ok ${slave_mnt}/hardlink_rename_test_file
|
||||
#symlink rename mkdir
|
||||
EXPECT_WITHIN $GEO_REP_TIMEOUT 0 symlink_rename_mkdir_ok ${slave_mnt}/symlink_test1
|
||||
|
||||
#Stop Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave stop
|
||||
|
||||
#Delete Geo-rep
|
||||
TEST $GEOREP_CLI $master $slave delete
|
||||
|
||||
|
100
tests/geo-rep.rc
100
tests/geo-rep.rc
@ -92,17 +92,20 @@ function hardlink_file_ok()
|
||||
|
||||
orig_inode=$(stat --format "%i" "$orig_file")
|
||||
rc=$?
|
||||
if test $rc != 0; then echo $rc; fi
|
||||
|
||||
link_inode=$(stat --format "%i" "$link_file")
|
||||
rc=$?
|
||||
if test $rc != 0; then echo $rc; fi
|
||||
|
||||
if test $orig_inode != $link_inode
|
||||
then
|
||||
echo 1
|
||||
if test $rc != 0; then
|
||||
echo $rc
|
||||
else
|
||||
echo 0
|
||||
link_inode=$(stat --format "%i" "$link_file")
|
||||
rc=$?
|
||||
if test $rc != 0; then
|
||||
echo $rc
|
||||
else
|
||||
if test $orig_inode != $link_inode; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@ -113,8 +116,7 @@ function data_ok()
|
||||
data2=$(cat $path)
|
||||
echo "data1:$data1"
|
||||
echo "data2:$data2"
|
||||
if test "X$data1" != "X$data2"
|
||||
then
|
||||
if test "X$data1" != "X$data2"; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
@ -134,10 +136,17 @@ function symlink_ok()
|
||||
local symlink_file=$2
|
||||
|
||||
local file_type=$(stat --format "%F" "$symlink_file")
|
||||
if test "X$file_type" != "Xsymbolic link"; then echo 1;else echo 0; fi
|
||||
if test "X$file_type" != "Xsymbolic link"; then
|
||||
echo 1
|
||||
else
|
||||
local fname=$(readlink $symlink_file)
|
||||
if test "X$fname" != "X$orig_file_name"; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
fi
|
||||
|
||||
local fname=$(readlink $symlink_file)
|
||||
if test "X$fname" != "X$orig_file_name"; then echo 1;else echo 0; fi
|
||||
}
|
||||
|
||||
function rename_ok()
|
||||
@ -145,27 +154,30 @@ function rename_ok()
|
||||
old_name=$1
|
||||
new_name=$2
|
||||
|
||||
if [ -f $old_name ]
|
||||
then
|
||||
if [ -f $old_name ]; then
|
||||
echo 1
|
||||
fi
|
||||
|
||||
if [ ! -f $new_name ]
|
||||
then
|
||||
elif [ ! -f $new_name ]; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
echo 0
|
||||
}
|
||||
|
||||
function create_georep_session()
|
||||
{
|
||||
$CLI system:: execute gsec_create
|
||||
rc=$?
|
||||
if test $rc != 0; then echo $rc; fi
|
||||
$CLI volume geo-rep $master $slave create push-pem
|
||||
rc=$?
|
||||
if test $rc != 0; then echo $rc; fi
|
||||
echo 0
|
||||
if test $rc != 0; then
|
||||
echo $rc
|
||||
else
|
||||
$CLI volume geo-rep $master $slave create push-pem
|
||||
rc=$?
|
||||
if test $rc != 0; then
|
||||
echo $rc
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# logrotate_simulate should be called (rotate_count + 1) times to cause
|
||||
@ -214,9 +226,10 @@ function create_rename_ok()
|
||||
# to be recreated i.e. a dangling entry without a corresponding
|
||||
# back-end gfid link should not exist on the slave
|
||||
if [ -f "$file_name" ]; then
|
||||
echo 1
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
echo 0
|
||||
}
|
||||
|
||||
function hardlink_rename()
|
||||
@ -224,16 +237,35 @@ function hardlink_rename()
|
||||
file_name=$1
|
||||
echo $file_name > $file_name
|
||||
ln $file_name $file_name.hl
|
||||
mv $file_name.hl $file_name
|
||||
mv $file_name.hl $file_name.hl1
|
||||
}
|
||||
|
||||
function hardlink_rename_ok()
|
||||
{
|
||||
file_name=$1
|
||||
# the hardlink file should not exist on the slave after renaming
|
||||
# to one of its links
|
||||
if [ -f "$file_name.hl" ]; then
|
||||
echo 1
|
||||
# to one of its links on changelog reprocessing
|
||||
if [ ! -f "$file_name" ]; then
|
||||
echo 1
|
||||
elif [ ! -f "$file_name.hl1" ]; then
|
||||
echo 1
|
||||
elif [ -f "$file_name.hl" ]; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
}
|
||||
|
||||
function symlink_rename_mkdir_ok()
|
||||
{
|
||||
sym_dir=$1
|
||||
if [ ! -f $sym_dir/file1 ]; then
|
||||
echo 1
|
||||
elif [ ! -h $sym_dir/rn_sym_link ]; then
|
||||
echo 1
|
||||
elif [ ! -d $sym_dir/sym_link ]; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
echo 0
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user