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/quick-read/bug-846240.t | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tests/bugs/quick-read/bug-846240.t (limited to 'tests/bugs/quick-read') diff --git a/tests/bugs/quick-read/bug-846240.t b/tests/bugs/quick-read/bug-846240.t new file mode 100644 index 00000000000..c47040de1d1 --- /dev/null +++ b/tests/bugs/quick-read/bug-846240.t @@ -0,0 +1,58 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../fileio.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume info; + +function volinfo_field() +{ + local vol=$1; + local field=$2; + + $CLI volume info $vol | grep "^$field: " | sed 's/.*: //'; +} + +TEST $CLI volume create $V0 $H0:$B0/brick1 $H0:$B0/brick2; +EXPECT 'Created' volinfo_field $V0 'Status'; + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +MOUNTDIR=$M0; +TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $MOUNTDIR; +TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $M1; + +TEST touch $M0/testfile; + +# open the file with the fd as 4 +TEST fd=`fd_available`; +TEST fd_open $fd 'w' "$M0/testfile"; + +# remove the file from the other mount point. If unlink is sent from +# $M0 itself, then the file will be actually opened by open-behind which +# we dont want for this testcase +TEST rm -f $M1/testfile; + +# below command opens the file and writes to the file. +# upon open, open-behind unwinds the open call with success. +# now when write comes, open-behind actually opens the file +# and then sends write on the fd. But before sending open itself, +# the file would have been removed from the mount $M1. open() gets error +# and the write call which is put into a stub (open had to be sent first) +# should unwind with the error received in the open call. +echo "data" >> $M0/testfile 2>/dev/null 1>/dev/null; +TEST [ $? -ne 0 ] + +TEST fd_close $fd; + +TEST rm -rf $MOUNTDIR/* + +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $MOUNTDIR + +cleanup; -- cgit