From 64954eb3c58f4ef077e54e8a3726fd2d27419b12 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Fri, 26 Dec 2014 12:57:48 +0100 Subject: tests: move all test-cases into component subdirectories There are around 300 regression tests, 250 being in tests/bugs. Running partial set of tests/bugs is not easy because this is a flat directory with almost all tests inside. It would be valuable to make partial test/bugs easier, and allow the use of mulitple build hosts for a single commit, each running a subset of the tests for a quicker result. Additional changes made: - correct the include path for *.rc shell libraries and *.py utils - make the testcases pass checkpatch - arequal-checksum in afr/self-heal.t was never executed, now it is - include.rc now complains loudly if it fails to find env.rc Change-Id: I26ffd067e9853d3be1fd63b2f37d8aa0fd1b4fea BUG: 1178685 Reported-by: Emmanuel Dreyfus Reported-by: Atin Mukherjee URL: http://www.gluster.org/pipermail/gluster-devel/2014-December/043414.html Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/9353 Reviewed-by: Kaleb KEITHLEY Reviewed-by: Emmanuel Dreyfus Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- tests/bugs/geo-replication/bug-1111490.t | 34 ++++++++++++++++++++++++++ tests/bugs/geo-replication/bug-877293.t | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 tests/bugs/geo-replication/bug-1111490.t create mode 100755 tests/bugs/geo-replication/bug-877293.t (limited to 'tests/bugs/geo-replication') diff --git a/tests/bugs/geo-replication/bug-1111490.t b/tests/bugs/geo-replication/bug-1111490.t new file mode 100644 index 00000000000..e598eccc1a5 --- /dev/null +++ b/tests/bugs/geo-replication/bug-1111490.t @@ -0,0 +1,34 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd + +TEST $CLI volume create $V0 $H0:$B0/${V0}0 +TEST $CLI volume start $V0 + +# mount with auxillary gfid mount +TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0 --aux-gfid-mount + +# create file with specific gfid +uuid=`uuidgen` +EXPECT "File creation OK" $PYTHON $(dirname $0)/../../utils/gfid-access.py \ + $M0 ROOT file0 $uuid file 10 10 0644 + +# check gfid +EXPECT "$uuid" getfattr --only-values -n glusterfs.gfid.string $M0/file0 + +# unmount and mount again so as to start with a fresh inode table +# or use another mount... +TEST umount $M0 +TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0 --aux-gfid-mount + +# touch the file again (gfid-access.py handles errno) +EXPECT "File creation OK" $PYTHON $(dirname $0)/../../utils/gfid-access.py \ + $M0 ROOT file0 $uuid file 10 10 0644 + +cleanup; diff --git a/tests/bugs/geo-replication/bug-877293.t b/tests/bugs/geo-replication/bug-877293.t new file mode 100755 index 00000000000..542774ab900 --- /dev/null +++ b/tests/bugs/geo-replication/bug-877293.t @@ -0,0 +1,41 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +TEST glusterd +TEST pidof glusterd + +## Start and create a replicated volume +mkdir -p ${B0}/${V0}-0 +mkdir -p ${B0}/${V0}-1 +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}-{0,1} + +TEST $CLI volume set $V0 indexing on + +TEST $CLI volume start $V0; + +## Mount native +TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $M0 + +## Mount client-pid=-1 +TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 --client-pid=-1 $M1 + +TEST touch $M0 + +vol_uuid=`getfattr -n trusted.glusterfs.volume-mark -ehex $M1 | sed -n 's/^trusted.glusterfs.volume-mark=0x//p' | cut -b5-36 | sed 's/\([a-f0-9]\{8\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)/\1-\2-\3-\4-/'` +xtime=trusted.glusterfs.$vol_uuid.xtime + +TEST "getfattr -n $xtime $M1 | grep -q ${xtime}=" + +TEST kill_brick $V0 $H0 $B0/${V0}-0 + +TEST "getfattr -n $xtime $M1 | grep -q ${xtime}=" + +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M1 + +TEST $CLI volume stop $V0; +TEST $CLI volume delete $V0; + +cleanup -- cgit