From f02e03374f43ee541a711ff79fd5a4815e55eea5 Mon Sep 17 00:00:00 2001 From: Raghavendra Talur Date: Thu, 10 Mar 2016 18:01:33 +0530 Subject: tests: Backport all changes to tests dir Test framework should be the same on all the branches. This is a copy of all the files under tests dir from master branch. New tests in master have not been backported, but changes to existing tests have been. Change-Id: I75747c525aabbd9247473dd29b3a0e7a7d93c827 BUG: 1316533 Signed-off-by: Raghavendra Talur Reviewed-on: http://review.gluster.org/13683 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System --- tests/basic/afr/arbiter-mount.t | 4 +- tests/basic/afr/arbiter.t | 12 +- tests/basic/afr/durability-off.t | 1 + tests/basic/afr/sparse-file-self-heal.t | 10 ++ tests/basic/afr/split-brain-healing.t | 2 + tests/basic/ec/ec.t | 4 +- tests/basic/gfapi/Makefile.am | 11 +- tests/basic/logchecks-messages.h | 5 - tests/basic/mount-nfs-auth.t | 4 +- tests/basic/quota-anon-fd-nfs.t | 1 + tests/basic/quota-nfs.t | 1 + ...1214222-directories_missing_after_attach_tier.t | 2 + tests/basic/tier/ctr-rename-overwrite.t | 1 + tests/basic/tier/file_with_spaces.t | 1 + tests/basic/tier/fops-during-migration-pause.t | 8 +- tests/basic/tier/fops-during-migration.t | 3 +- tests/basic/tier/frequency-counters.t | 1 + tests/basic/tier/legacy-many.t | 3 +- tests/basic/tier/locked_file_migration.t | 1 + tests/basic/tier/new-tier-cmds.t | 1 + tests/basic/tier/readdir-during-migration.t | 1 + tests/basic/tier/record-metadata-heat.t | 3 +- tests/basic/tier/tier-file-create.t | 2 + tests/basic/tier/tier-heald.t | 1 + tests/basic/tier/tier-snapshot.t | 2 + tests/basic/tier/tier.t | 1 + tests/basic/tier/tier_lookup_heal.t | 2 + tests/basic/tier/tierd_check.t | 1 + tests/basic/tier/unlink-during-migration.t | 1 + tests/bitrot/br-state-check.t | 1 + tests/bugs/bitrot/bug-1288490.t | 4 +- tests/bugs/cli/bug-1030580.t | 3 + tests/bugs/cli/bug-1047416.t | 3 + tests/bugs/distribute/bug-1066798.t | 2 + tests/bugs/distribute/bug-1117851.t | 4 +- tests/bugs/distribute/bug-1161311.t | 2 +- tests/bugs/distribute/bug-1190734.t | 2 +- tests/bugs/distribute/bug-860663.t | 2 +- tests/bugs/fuse/bug-924726.t | 4 +- tests/bugs/geo-replication/bug-1111490.t | 2 +- ...-1225716-brick-online-validation-remove-brick.t | 2 +- .../bug-1238706-daemons-stop-on-peer-cleanup.t | 3 +- tests/bugs/glusterd/bug-857330/normal.t | 2 +- tests/bugs/glusterd/bug-857330/xml.t | 2 +- tests/bugs/glusterfs/bug-853690.t | 1 + tests/bugs/glusterfs/bug-867253.t | 4 +- tests/bugs/glusterfs/bug-892730.t | 1 + tests/bugs/quick-read/bug-846240.t | 0 tests/bugs/quota/bug-1235182.t | 5 +- tests/bugs/quota/bug-1260545.t | 3 +- .../bug-1221481-allow-fops-on-dir-split-brain.t | 2 +- tests/bugs/rpc/bug-954057.t | 4 +- tests/bugs/shard/bug-1256580.t | 1 - tests/bugs/snapshot/bug-1109889.t | 2 +- ...ile-snapshot-features-encrypt-opts-validation.t | 2 + ...ug-1155042-dont-display-deactivated-snapshots.t | 6 +- tests/bugs/snapshot/bug-1162498.t | 3 +- tests/bugs/snapshot/bug-1166197.t | 1 + .../tier/bug-1205545-CTR-and-trash-integration.t | 1 + tests/bugs/tier/bug-1279376-rename-demoted-file.t | 3 +- tests/bugs/tier/bug-1286974.t | 3 +- tests/changelog.rc | 5 + tests/features/ssl-authz.t | 2 +- tests/features/unhashed-auto.t | 6 +- tests/geo-rep/georep-basic-dr-rsync.t | 2 + tests/geo-rep/georep-basic-dr-tarssh.t | 2 + tests/include.rc | 186 +++++++++++++++------ tests/nfs.rc | 2 +- tests/snapshot.rc | 10 +- tests/volume.rc | 9 +- 70 files changed, 273 insertions(+), 121 deletions(-) mode change 100644 => 100755 tests/bugs/quick-read/bug-846240.t (limited to 'tests') diff --git a/tests/basic/afr/arbiter-mount.t b/tests/basic/afr/arbiter-mount.t index 47c327633f3..7276285202f 100644 --- a/tests/basic/afr/arbiter-mount.t +++ b/tests/basic/afr/arbiter-mount.t @@ -29,8 +29,8 @@ mount_nfs $H0:/$V0 $N0 TEST [ $? -ne 0 ] TEST $CLI volume start $V0 force -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}0 -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}1 EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available; TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 diff --git a/tests/basic/afr/arbiter.t b/tests/basic/afr/arbiter.t index c91e2e90098..6bcc5e9ab17 100644 --- a/tests/basic/afr/arbiter.t +++ b/tests/basic/afr/arbiter.t @@ -9,15 +9,23 @@ TEST glusterd; TEST pidof glusterd # Non arbiter replica 3 volumes should not have arbiter-count option enabled. +TEST mkdir -p $B0/${V0}{0,1,2} TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2} TEST $CLI volume start $V0 TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 --entry-timeout=0 $M0; TEST ! stat $M0/.meta/graphs/active/$V0-replicate-0/options/arbiter-count -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 TEST $CLI volume stop $V0 TEST $CLI volume delete $V0 +# Make sure we clean up *all the way* so we don't get "brick X is already part +# of a volume" errors. +cleanup; +TEST glusterd; +TEST pidof glusterd + # Create and mount a replica 3 arbiter volume. +TEST mkdir -p $B0/${V0}{0,1,2} TEST $CLI volume create $V0 replica 3 arbiter 1 $H0:$B0/${V0}{0,1,2} TEST $CLI volume set $V0 performance.write-behind off TEST $CLI volume set $V0 performance.stat-prefetch off @@ -72,5 +80,5 @@ EXPECT 0 get_pending_heal_count $V0 TEST cat $M0/file TEST getfattr -n user.name $M0/file TEST `echo append>> $M0/file` -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 cleanup diff --git a/tests/basic/afr/durability-off.t b/tests/basic/afr/durability-off.t index 155ffa09ef0..93346c40112 100644 --- a/tests/basic/afr/durability-off.t +++ b/tests/basic/afr/durability-off.t @@ -42,3 +42,4 @@ EXPECT_WITHIN $HEAL_TIMEOUT "0" get_pending_heal_count $V0 EXPECT "^2$" echo $($CLI volume profile $V0 info | grep -w FSYNC | wc -l) cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=1332797 diff --git a/tests/basic/afr/sparse-file-self-heal.t b/tests/basic/afr/sparse-file-self-heal.t index 67d9c4f5182..04b77c41de1 100644 --- a/tests/basic/afr/sparse-file-self-heal.t +++ b/tests/basic/afr/sparse-file-self-heal.t @@ -56,6 +56,11 @@ EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1 TEST gluster volume heal $V0 full EXPECT_WITHIN $HEAL_TIMEOUT "0" get_pending_heal_count $V0 +#If the file system of bricks is XFS and speculative preallocation is on, +#dropping cahce should be done to free speculatively pre-allocated blocks +#by XFS. +drop_cache $M0 + big_md5sum_0=$(md5sum $B0/${V0}0/big | awk '{print $1}') small_md5sum_0=$(md5sum $B0/${V0}0/small | awk '{print $1}') bigger2big_md5sum_0=$(md5sum $B0/${V0}0/bigger2big | awk '{print $1}') @@ -137,6 +142,11 @@ EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1 TEST gluster volume heal $V0 full EXPECT_WITHIN $HEAL_TIMEOUT "0" get_pending_heal_count $V0 +#If the file system of bricks is XFS and speculative preallocation is on, +#dropping cahce should be done to free speculatively pre-allocated blocks +#by XFS. +drop_cache $M0 + big_md5sum_0=$(md5sum $B0/${V0}0/big | awk '{print $1}') small_md5sum_0=$(md5sum $B0/${V0}0/small | awk '{print $1}') bigger2big_md5sum_0=$(md5sum $B0/${V0}0/bigger2big | awk '{print $1}') diff --git a/tests/basic/afr/split-brain-healing.t b/tests/basic/afr/split-brain-healing.t index 2171de3029d..71352059f5f 100644 --- a/tests/basic/afr/split-brain-healing.t +++ b/tests/basic/afr/split-brain-healing.t @@ -224,3 +224,5 @@ EXPECT "1" echo $? cd - TEST rm $AREQUAL_PATH/arequal-checksum cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/ec/ec.t b/tests/basic/ec/ec.t index 773d8af3084..b07006545b9 100644 --- a/tests/basic/ec/ec.t +++ b/tests/basic/ec/ec.t @@ -221,7 +221,7 @@ TEST setup_perm_file $M0 sleep 2 # Unmount/remount so that create/write and truncate don't see cached data. -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 TEST $GFS -s $H0 --volfile-id $V0 $M1 EXPECT_WITHIN $CHILD_UP_TIMEOUT "8" ec_child_up_count $V0 0 @@ -235,7 +235,7 @@ EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field $V0 'Status' EXPECT_WITHIN $CHILD_UP_TIMEOUT "10" ec_child_up_count $V0 0 # Unmount/remount again, same reason as before. -TEST umount $M1 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M1 TEST $GFS -s $H0 --volfile-id $V0 $M0 EXPECT_WITHIN $CHILD_UP_TIMEOUT "10" ec_child_up_count $V0 0 diff --git a/tests/basic/gfapi/Makefile.am b/tests/basic/gfapi/Makefile.am index cdb0e543803..b166fcc3fa6 100644 --- a/tests/basic/gfapi/Makefile.am +++ b/tests/basic/gfapi/Makefile.am @@ -4,12 +4,17 @@ CFLAGS = -Wall -g $(shell pkg-config --cflags glusterfs-api) LDFLAGS = $(shell pkg-config --libs glusterfs-api) -BINARIES = upcall-cache-invalidate libgfapi-fini-hang anonymous_fd +BINARIES = upcall-cache-invalidate libgfapi-fini-hang anonymous_fd seek %: %.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -all: $(BINARIES) +all: check-pkgconfig $(BINARIES) clean: - -$(RM) $(BINARIES) + -$(RM) $(BINARIES) +.phony: check-pkgconfig + +check-pkgconfig: + pkg-config --exists glusterfs-api diff --git a/tests/basic/logchecks-messages.h b/tests/basic/logchecks-messages.h index 50efe9dfadd..6344037b44a 100644 --- a/tests/basic/logchecks-messages.h +++ b/tests/basic/logchecks-messages.h @@ -11,11 +11,6 @@ #ifndef _LOGCHECKS_MESSAGES_H_ #define _LOGCHECKS_MESSAGES_H_ -#ifndef _CONFIG_H -#define _CONFIG_H -#include "config.h" -#endif - #include "glfs-message-id.h" /* NOTE: Rules for message additions diff --git a/tests/basic/mount-nfs-auth.t b/tests/basic/mount-nfs-auth.t index 369333241c1..6ecac5b469a 100755 --- a/tests/basic/mount-nfs-auth.t +++ b/tests/basic/mount-nfs-auth.t @@ -70,7 +70,7 @@ function netgroup_deny_this_host () { } function create_vol () { - TEST $CLI vol create $V0 replica 3 $H0:$B0/b0 $H0:$B0/b1 $H0:$B0/b2 + $CLI vol create $V0 $H0:$B0/b0 } function setup_cluster() { @@ -140,9 +140,7 @@ function restart_nfs () { setup_cluster # run preliminary tests -TEST $CLI vol set $V0 cluster.self-heal-daemon off TEST $CLI vol set $V0 nfs.disable off -TEST $CLI vol set $V0 cluster.choose-local off TEST $CLI vol start $V0 # Get NFS state directory diff --git a/tests/basic/quota-anon-fd-nfs.t b/tests/basic/quota-anon-fd-nfs.t index aaba0b1d16e..e2cce0b69c2 100755 --- a/tests/basic/quota-anon-fd-nfs.t +++ b/tests/basic/quota-anon-fd-nfs.t @@ -102,3 +102,4 @@ EXPECT "1" get_aux rm -f $QDD cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/basic/quota-nfs.t b/tests/basic/quota-nfs.t index 00c76a49f56..16d5aa6a90c 100755 --- a/tests/basic/quota-nfs.t +++ b/tests/basic/quota-nfs.t @@ -61,3 +61,4 @@ EXPECT "1" get_aux rm -f $QDD cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/bug-1214222-directories_missing_after_attach_tier.t b/tests/basic/tier/bug-1214222-directories_missing_after_attach_tier.t index 8aa1380ae46..754e8033f61 100755 --- a/tests/basic/tier/bug-1214222-directories_missing_after_attach_tier.t +++ b/tests/basic/tier/bug-1214222-directories_missing_after_attach_tier.t @@ -53,3 +53,5 @@ EXPECT_WITHIN $REBALANCE_TIMEOUT "0" confirm_vol_stopped $V0 cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/ctr-rename-overwrite.t b/tests/basic/tier/ctr-rename-overwrite.t index a1d5af03a39..8bccd3b3489 100755 --- a/tests/basic/tier/ctr-rename-overwrite.t +++ b/tests/basic/tier/ctr-rename-overwrite.t @@ -47,3 +47,4 @@ ENTRY_COUNT=$(echo "select * from gf_file_tb; select * from gf_flink_tb;" | \ TEST [ $ENTRY_COUNT -eq 2 ] cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/file_with_spaces.t b/tests/basic/tier/file_with_spaces.t index 3e3c34da725..bd99e71ffe5 100755 --- a/tests/basic/tier/file_with_spaces.t +++ b/tests/basic/tier/file_with_spaces.t @@ -68,3 +68,4 @@ EXPECT "yes" exists_and_regular_file $CPATH cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/fops-during-migration-pause.t b/tests/basic/tier/fops-during-migration-pause.t index 20719c8510a..10bd3f4667a 100755 --- a/tests/basic/tier/fops-during-migration-pause.t +++ b/tests/basic/tier/fops-during-migration-pause.t @@ -5,8 +5,8 @@ . $(dirname $0)/../../tier.rc NUM_BRICKS=3 -DEMOTE_FREQ=30 -PROMOTE_FREQ=30 +DEMOTE_FREQ=10 +PROMOTE_FREQ=10 TEST_STR="Testing write and truncate fops on tier migration" @@ -59,9 +59,8 @@ TEST mkdir $M0/dir1 # Create a large file (800MB), so that rebalance takes time # The file will be created on the hot tier - sleep_until_mid_cycle $DEMOTE_FREQ -dd if=/dev/zero of=$M0/dir1/FILE1 bs=256k count=4096 +dd if=/dev/zero of=$M0/dir1/FILE1 bs=256k count=5120 # Get the path of the file on the hot tier HPATH=`find $B0/hot/ -name FILE1` @@ -87,3 +86,4 @@ TEST test -s $HPATH cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/fops-during-migration.t b/tests/basic/tier/fops-during-migration.t index 96180d23917..4be05acb357 100755 --- a/tests/basic/tier/fops-during-migration.t +++ b/tests/basic/tier/fops-during-migration.t @@ -103,4 +103,5 @@ EXPECT "1" check_file_content $M0/dir1/FILE1 "$TEST_STR" TEST getfattr -n "user.test_xattr" $M0/dir1/FILE1 cleanup; - +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/frequency-counters.t b/tests/basic/tier/frequency-counters.t index 51c7ab4a700..c335c02c563 100644 --- a/tests/basic/tier/frequency-counters.t +++ b/tests/basic/tier/frequency-counters.t @@ -79,3 +79,4 @@ cd / cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/legacy-many.t b/tests/basic/tier/legacy-many.t index e419bec53bc..a9fcba85209 100644 --- a/tests/basic/tier/legacy-many.t +++ b/tests/basic/tier/legacy-many.t @@ -42,7 +42,7 @@ TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0; # Create a number of "legacy" files before attaching tier mkdir $M0/${TEST_DIR} cd $M0/${TEST_DIR} -TEST create_many_files tfile $NUM_FILES +TEST create_many_files file $NUM_FILES wait # Attach tier @@ -84,3 +84,4 @@ TEST ! getfattr -n "trusted.tier.fix.layout.complete" $CPATH cd; cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/locked_file_migration.t b/tests/basic/tier/locked_file_migration.t index f7a9d1f355d..1a7e3f53c8e 100755 --- a/tests/basic/tier/locked_file_migration.t +++ b/tests/basic/tier/locked_file_migration.t @@ -77,3 +77,4 @@ rm $(dirname $0)/file_lock cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/new-tier-cmds.t b/tests/basic/tier/new-tier-cmds.t index ce8dbae8660..e4fef69d265 100644 --- a/tests/basic/tier/new-tier-cmds.t +++ b/tests/basic/tier/new-tier-cmds.t @@ -87,3 +87,4 @@ EXPECT "Tier command failed" $CLI_1 volume tier $V0 detach status cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/readdir-during-migration.t b/tests/basic/tier/readdir-during-migration.t index 42199c57768..e2a43c93572 100644 --- a/tests/basic/tier/readdir-during-migration.t +++ b/tests/basic/tier/readdir-during-migration.t @@ -62,3 +62,4 @@ cd / cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/record-metadata-heat.t b/tests/basic/tier/record-metadata-heat.t index d36ed80591a..d4481371f68 100755 --- a/tests/basic/tier/record-metadata-heat.t +++ b/tests/basic/tier/record-metadata-heat.t @@ -98,4 +98,5 @@ echo "File path on hot tier: "$HPATH EXPECT "yes" exists_and_regular_file $HPATH cleanup; - +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/tier-file-create.t b/tests/basic/tier/tier-file-create.t index 28caacd2a5a..06f0e241502 100644 --- a/tests/basic/tier/tier-file-create.t +++ b/tests/basic/tier/tier-file-create.t @@ -57,3 +57,5 @@ cd cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=KNOWN_ISSUE,BUG=1315560 diff --git a/tests/basic/tier/tier-heald.t b/tests/basic/tier/tier-heald.t index 05b19e437c0..8dcdd39c619 100644 --- a/tests/basic/tier/tier-heald.t +++ b/tests/basic/tier/tier-heald.t @@ -95,3 +95,4 @@ TEST ! $CLI volume set dist disperse-self-heal-daemon off TEST ! $CLI volume set dist cluster.disperse-self-heal-daemon on cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/tier-snapshot.t b/tests/basic/tier/tier-snapshot.t index b90d5606998..6e7951d1963 100644 --- a/tests/basic/tier/tier-snapshot.t +++ b/tests/basic/tier/tier-snapshot.t @@ -46,3 +46,5 @@ TEST $CLI snapshot create snap4 $V0 no-timestamp; TEST $CLI snapshot delete all; cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/tier.t b/tests/basic/tier/tier.t index 4b3693037fe..5f1dbde8d03 100755 --- a/tests/basic/tier/tier.t +++ b/tests/basic/tier/tier.t @@ -205,3 +205,4 @@ cleanup rm -rf /tmp/d1 +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/tier_lookup_heal.t b/tests/basic/tier/tier_lookup_heal.t index 81bb0d67179..825f81db392 100755 --- a/tests/basic/tier/tier_lookup_heal.t +++ b/tests/basic/tier/tier_lookup_heal.t @@ -72,3 +72,5 @@ EXPECT_WITHIN $PROMOTE_TIMEOUT "0" file_on_fast_tier file1 cd; cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/basic/tier/tierd_check.t b/tests/basic/tier/tierd_check.t index 9ef12d50211..2b8ccbbbd96 100644 --- a/tests/basic/tier/tierd_check.t +++ b/tests/basic/tier/tierd_check.t @@ -60,3 +60,4 @@ TEST pkill -f "$B0/hot/$V0" TEST ! $CLI volume tier $V0 detach start cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/basic/tier/unlink-during-migration.t b/tests/basic/tier/unlink-during-migration.t index 78887433ccb..0c2255cfda6 100755 --- a/tests/basic/tier/unlink-during-migration.t +++ b/tests/basic/tier/unlink-during-migration.t @@ -89,3 +89,4 @@ TEST ! stat $CPATH cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/bitrot/br-state-check.t b/tests/bitrot/br-state-check.t index 0390df5e4a0..1efd2087897 100644 --- a/tests/bitrot/br-state-check.t +++ b/tests/bitrot/br-state-check.t @@ -79,3 +79,4 @@ TEST $CLI volume bitrot $V0 scrub pause TEST kill_brick $V0 $H0 $B0/${V0}2 cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=1332477 diff --git a/tests/bugs/bitrot/bug-1288490.t b/tests/bugs/bitrot/bug-1288490.t index 1d5e913cd59..5f67f4a6ec5 100644 --- a/tests/bugs/bitrot/bug-1288490.t +++ b/tests/bugs/bitrot/bug-1288490.t @@ -25,8 +25,8 @@ TEST setfattr -n trusted.bit-rot.bad-file -v 0x3100 $B0/brick0/FILE TEST $CLI volume stop $V0 TEST $CLI volume start $V0 EXPECT 'Started' volinfo_field $V0 'Status'; -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/brick0 -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/brick1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/brick0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/brick1 EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0 EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 1 EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" get_bitd_count diff --git a/tests/bugs/cli/bug-1030580.t b/tests/bugs/cli/bug-1030580.t index a907950e73f..fc6efe1e69a 100644 --- a/tests/bugs/cli/bug-1030580.t +++ b/tests/bugs/cli/bug-1030580.t @@ -16,6 +16,9 @@ TEST $CLI volume start $V0 TEST $CLI volume profile $V0 start TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 +# Clear the profile info uptill now. +TEST $CLI volume profile $V0 info clear + # Verify 'volume profile info' prints both cumulative and incremental stats write_to_file & wait diff --git a/tests/bugs/cli/bug-1047416.t b/tests/bugs/cli/bug-1047416.t index 6e1b0a48467..d4ad5c49a59 100644 --- a/tests/bugs/cli/bug-1047416.t +++ b/tests/bugs/cli/bug-1047416.t @@ -16,6 +16,9 @@ TEST $CLI volume start $V0 TEST $CLI volume profile $V0 start TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 +# Clear the profile info uptill now. +TEST $CLI volume profile $V0 info clear + # Verify 'volume profile info' prints both cumulative and incremental stats write_to_file & wait diff --git a/tests/bugs/distribute/bug-1066798.t b/tests/bugs/distribute/bug-1066798.t index e53e1aebf2b..03de970a637 100755 --- a/tests/bugs/distribute/bug-1066798.t +++ b/tests/bugs/distribute/bug-1066798.t @@ -84,3 +84,5 @@ TEST [ `echo $var | awk '{print $5}'` = "0" ] TEST [ `echo $var | awk '{print $6}'` = "0" ] cleanup +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/bugs/distribute/bug-1117851.t b/tests/bugs/distribute/bug-1117851.t index 4e35debae9d..678103869cf 100755 --- a/tests/bugs/distribute/bug-1117851.t +++ b/tests/bugs/distribute/bug-1117851.t @@ -85,8 +85,8 @@ TEST move_files $M1 EXPECT_WITHIN 120 "done" cat $M0/status_0 EXPECT_WITHIN 120 "done" cat $M1/status_1 -TEST umount $M0 -TEST umount $M1 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M1 TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0; TEST check_files $M0 diff --git a/tests/bugs/distribute/bug-1161311.t b/tests/bugs/distribute/bug-1161311.t index d1bd47826f9..c5a7f041ac8 100755 --- a/tests/bugs/distribute/bug-1161311.t +++ b/tests/bugs/distribute/bug-1161311.t @@ -63,7 +63,7 @@ dd if=/dev/urandom of=$M0/dir1/FILE2 bs=64k count=10240 TEST mv $M0/dir1/FILE2 $M0/dir1/FILE1 # unmount and remount the volume -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 TEST glusterfs -s $H0 --volfile-id $V0 $M0; # Start the rebalance diff --git a/tests/bugs/distribute/bug-1190734.t b/tests/bugs/distribute/bug-1190734.t index 895dd771ed6..ae34ec84729 100644 --- a/tests/bugs/distribute/bug-1190734.t +++ b/tests/bugs/distribute/bug-1190734.t @@ -22,7 +22,7 @@ function get_file_count { function reset { $CLI volume stop $V0 - umount $1 + ${UMOUNT_F} $1 $CLI volume delete $V0 } diff --git a/tests/bugs/distribute/bug-860663.t b/tests/bugs/distribute/bug-860663.t index cc2b505080b..a4946718398 100644 --- a/tests/bugs/distribute/bug-860663.t +++ b/tests/bugs/distribute/bug-860663.t @@ -40,7 +40,7 @@ kill -9 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`; TEST ! $CLI volume rebalance $V0 fix-layout start TEST $CLI volume start $V0 force -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}1 TEST $CLI volume rebalance $V0 fix-layout start diff --git a/tests/bugs/fuse/bug-924726.t b/tests/bugs/fuse/bug-924726.t index 58bf2c8a083..65c56aa57b8 100755 --- a/tests/bugs/fuse/bug-924726.t +++ b/tests/bugs/fuse/bug-924726.t @@ -25,7 +25,7 @@ TEST glusterfs -s $H0 --volfile-id $V0 $M0; TEST ls $M0 -GLFS_MNT_PID=`ps ax | grep -i $M0 | grep glusterfs | grep -v grep | sed -e "s/^ *\([0-9]*\).*/\1/g"` +GLFS_MNT_PID=`ps ax | grep "glusterfs -s $H0 \-\-volfile\-id $V0 $M0" | sed -e "s/^ *\([0-9]*\).*/\1/g"` SOCKETS_BEFORE_SWITCH=`netstat -nap | grep $GLFS_MNT_PID | grep ESTABLISHED | wc -l` @@ -43,3 +43,5 @@ SOCKETS_AFTER_SWITCH=`netstat -nap | grep $GLFS_MNT_PID | grep ESTABLISHED | wc TEST [ $SOCKETS_AFTER_SWITCH = `expr $SOCKETS_BEFORE_SWITCH + 1` ] cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/bugs/geo-replication/bug-1111490.t b/tests/bugs/geo-replication/bug-1111490.t index d29cba1a396..9686fb5a0ef 100644 --- a/tests/bugs/geo-replication/bug-1111490.t +++ b/tests/bugs/geo-replication/bug-1111490.t @@ -25,7 +25,7 @@ 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 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0 --aux-gfid-mount # touch the file again (gfid-access.py handles errno) diff --git a/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t b/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t index 5ac2ae2a91e..eca1c1a3723 100644 --- a/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t +++ b/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t @@ -18,7 +18,7 @@ kill -15 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`; TEST ! $CLI volume remove-brick $V0 $H0:$B0/${V0}1 start TEST $CLI volume start $V0 force -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}1 #remove-brick start should succeed as the brick is up TEST $CLI volume remove-brick $V0 $H0:$B0/${V0}1 start diff --git a/tests/bugs/glusterd/bug-1238706-daemons-stop-on-peer-cleanup.t b/tests/bugs/glusterd/bug-1238706-daemons-stop-on-peer-cleanup.t index 9ff1758f9c1..2ef20b94b69 100644 --- a/tests/bugs/glusterd/bug-1238706-daemons-stop-on-peer-cleanup.t +++ b/tests/bugs/glusterd/bug-1238706-daemons-stop-on-peer-cleanup.t @@ -38,4 +38,5 @@ TEST $CLI_1 peer detach $H2; EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" get_nfs_count cleanup; - +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/bugs/glusterd/bug-857330/normal.t b/tests/bugs/glusterd/bug-857330/normal.t index d42f5dacaf6..70cb89dd462 100755 --- a/tests/bugs/glusterd/bug-857330/normal.t +++ b/tests/bugs/glusterd/bug-857330/normal.t @@ -46,7 +46,7 @@ TEST $CLI volume replace-brick $V0 $REP_BRICK_PAIR commit force; ################## ## Remove-brick ## ################## -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}3 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}3 COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 start" PATTERN="ID:" diff --git a/tests/bugs/glusterd/bug-857330/xml.t b/tests/bugs/glusterd/bug-857330/xml.t index 6b87f21d9c1..391d189e387 100755 --- a/tests/bugs/glusterd/bug-857330/xml.t +++ b/tests/bugs/glusterd/bug-857330/xml.t @@ -52,7 +52,7 @@ TEST $CLI volume replace-brick $V0 $H0:$B0/${V0}2 $H0:$B0/${V0}3 commit force ################## ## Remove-brick ## ################## -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}3 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}3 COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 start" PATTERN="task-id" diff --git a/tests/bugs/glusterfs/bug-853690.t b/tests/bugs/glusterfs/bug-853690.t index 59facfcddb0..7880b64488f 100755 --- a/tests/bugs/glusterfs/bug-853690.t +++ b/tests/bugs/glusterfs/bug-853690.t @@ -53,6 +53,7 @@ end-volume volume test-replicate-0 type cluster/replicate + option afr-pending-xattr test-locks-0,test-locks-1 option background-self-heal-count 0 subvolumes test-locks-0 test-locks-1 end-volume diff --git a/tests/bugs/glusterfs/bug-867253.t b/tests/bugs/glusterfs/bug-867253.t index aee27c87158..41972a7731b 100644 --- a/tests/bugs/glusterfs/bug-867253.t +++ b/tests/bugs/glusterfs/bug-867253.t @@ -37,7 +37,7 @@ touch $M0/files{1..1000}; # Kill a brick process kill -9 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}0.pid`; -( cd $M0 ; umount $M0 ) # fail but drops kernel cache +drop_cache $M0 ls -l $M0 >/dev/null; @@ -48,7 +48,7 @@ TEST $CLI volume start $V0 force # Kill a brick process kill -9 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`; -( cd $M0 ; umount $M0 ) +drop_cache $M0 ls -l $M0 >/dev/null; diff --git a/tests/bugs/glusterfs/bug-892730.t b/tests/bugs/glusterfs/bug-892730.t index a76961134c5..1fa0ff3bfb4 100755 --- a/tests/bugs/glusterfs/bug-892730.t +++ b/tests/bugs/glusterfs/bug-892730.t @@ -53,6 +53,7 @@ end-volume volume test-replicate-0 type cluster/replicate + option afr-pending-xattr test-locks-0,test-locks-1 option background-self-heal-count 0 subvolumes test-locks-0 test-locks-1 end-volume diff --git a/tests/bugs/quick-read/bug-846240.t b/tests/bugs/quick-read/bug-846240.t old mode 100644 new mode 100755 diff --git a/tests/bugs/quota/bug-1235182.t b/tests/bugs/quota/bug-1235182.t index 26cbaafe73b..c13f1bf7ef3 100644 --- a/tests/bugs/quota/bug-1235182.t +++ b/tests/bugs/quota/bug-1235182.t @@ -43,14 +43,17 @@ for i in {1..50}; do #rename to different dir TEST_IN_LOOP mkdir $M0/$ii TEST_IN_LOOP mv -f $M0/$i/f$ii $M0/$ii/f$ii; + stat $M0/$ii/f$ii >/dev/null done echo "Wait for process with pid $PID to complete" wait $PID echo "Process with pid $PID finished" -EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "100.0MB" quotausage "/" +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" STAT $M0/51/f51 rm -f $QDD cleanup; +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/bugs/quota/bug-1260545.t b/tests/bugs/quota/bug-1260545.t index 92cf2125fc2..46808022f01 100644 --- a/tests/bugs/quota/bug-1260545.t +++ b/tests/bugs/quota/bug-1260545.t @@ -19,12 +19,11 @@ TEST $CLI volume quota $V0 enable; TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M0; -TEST $CLI volume quota $V0 limit-usage / 10MB +TEST $CLI volume quota $V0 limit-usage / 11MB TEST $CLI volume quota $V0 hard-timeout 0 TEST $CLI volume quota $V0 soft-timeout 0 TEST $QDD $M0/f1 256 40 -TEST ! $QDD $M0/f2 256 40 EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "10.0MB" quotausage "/" diff --git a/tests/bugs/replicate/bug-1221481-allow-fops-on-dir-split-brain.t b/tests/bugs/replicate/bug-1221481-allow-fops-on-dir-split-brain.t index 1283d8eeef4..c4752c488f4 100644 --- a/tests/bugs/replicate/bug-1221481-allow-fops-on-dir-split-brain.t +++ b/tests/bugs/replicate/bug-1221481-allow-fops-on-dir-split-brain.t @@ -30,5 +30,5 @@ EXPECT "6" echo $(ls | wc -l) TEST ! cat FILE TEST `echo hello>hello.txt` cd - -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 cleanup diff --git a/tests/bugs/rpc/bug-954057.t b/tests/bugs/rpc/bug-954057.t index faaf261d88b..65af274f09d 100755 --- a/tests/bugs/rpc/bug-954057.t +++ b/tests/bugs/rpc/bug-954057.t @@ -8,7 +8,7 @@ # Note on re-reading $M0/new after enabling root-squash: # Since we have readen it once, the file is present in various caches. # In order to actually fail on second attempt we must: -# 1) drop kernel cache, by ( cd $M0 ; umount $M0 ) +# 1) drop kernel cache # 2) make sure FUSE does not cache the entry. This is also # in the kernel, but not flushed by a failed umount. # Using $GFS enforces this because it sets --entry-timeout=0 @@ -33,7 +33,7 @@ TEST cat $M0/new TEST $CLI volume set $V0 performance.stat-prefetch off TEST $CLI volume set $V0 server.root-squash enable -( cd $M0 ; umount $M0 ) # fails but drops kernel cache +drop_cache $M0 TEST ! mkdir $M0/other TEST mkdir $M0/nobody/other TEST cat $M0/file diff --git a/tests/bugs/shard/bug-1256580.t b/tests/bugs/shard/bug-1256580.t index fed13679253..279fcc54e48 100644 --- a/tests/bugs/shard/bug-1256580.t +++ b/tests/bugs/shard/bug-1256580.t @@ -31,5 +31,4 @@ TEST dd if=/dev/zero of=$M0/dir/file bs=1024 seek=7168 count=2048 conv=notrunc # Ensure that the file size is not greater than 9M. EXPECT '9437184' stat -c %s $M0/dir/file - cleanup diff --git a/tests/bugs/snapshot/bug-1109889.t b/tests/bugs/snapshot/bug-1109889.t index 6b0eb37f14f..6b29cdd9eb1 100644 --- a/tests/bugs/snapshot/bug-1109889.t +++ b/tests/bugs/snapshot/bug-1109889.t @@ -69,6 +69,6 @@ TEST $CLI volume start $V0 force; # let client get the snapd port from glusterd and connect EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" snap_client_connected_status $V0 -TEST stat $M0/.snaps; +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" STAT $M0/.snaps cleanup; diff --git a/tests/bugs/snapshot/bug-1140162-file-snapshot-features-encrypt-opts-validation.t b/tests/bugs/snapshot/bug-1140162-file-snapshot-features-encrypt-opts-validation.t index b9f6dc715e6..c536c8261e4 100644 --- a/tests/bugs/snapshot/bug-1140162-file-snapshot-features-encrypt-opts-validation.t +++ b/tests/bugs/snapshot/bug-1140162-file-snapshot-features-encrypt-opts-validation.t @@ -39,3 +39,5 @@ TEST $CLI volume set $V0 encryption.master-key $GLUSTERD_WORKDIR/$V0-master-key TEST $CLI volume set $V0 features.encryption on cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 diff --git a/tests/bugs/snapshot/bug-1155042-dont-display-deactivated-snapshots.t b/tests/bugs/snapshot/bug-1155042-dont-display-deactivated-snapshots.t index 6697c263ac1..c5a285eb775 100644 --- a/tests/bugs/snapshot/bug-1155042-dont-display-deactivated-snapshots.t +++ b/tests/bugs/snapshot/bug-1155042-dont-display-deactivated-snapshots.t @@ -21,16 +21,16 @@ TEST $GFS --volfile-server=$H0 --volfile-id=$V0 $M0 # in the USS world gluster snapshot config activate-on-create enable for i in {1..10}; do $CLI snapshot create snap$i $V0 no-timestamp; done -EXPECT 10 uss_count_snap_displayed $M0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 10 uss_count_snap_displayed $M0 # snapshots should not be displayed after deactivation for i in {1..10}; do $CLI snapshot deactivate snap$i --mode=script; done -EXPECT 0 uss_count_snap_displayed $M0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 0 uss_count_snap_displayed $M0 # activate all the snapshots and check if all the activated snapshots # are displayed again for i in {1..10}; do $CLI snapshot activate snap$i --mode=script; done -EXPECT 10 uss_count_snap_displayed $M0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 10 uss_count_snap_displayed $M0 cleanup; diff --git a/tests/bugs/snapshot/bug-1162498.t b/tests/bugs/snapshot/bug-1162498.t index afc065000d5..a97e4429ee7 100755 --- a/tests/bugs/snapshot/bug-1162498.t +++ b/tests/bugs/snapshot/bug-1162498.t @@ -1,6 +1,7 @@ #!/bin/bash . $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc . $(dirname $0)/../../snapshot.rc cleanup; @@ -35,7 +36,7 @@ TEST $CLI volume stop $V0 TEST $CLI snapshot restore snap2 TEST $CLI volume start $V0 -umount -f $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 TEST glusterfs -s $H0 --volfile-id=$V0 $M0 #Dir xyz exists in snap1 diff --git a/tests/bugs/snapshot/bug-1166197.t b/tests/bugs/snapshot/bug-1166197.t index 65b242250bf..739839fab81 100755 --- a/tests/bugs/snapshot/bug-1166197.t +++ b/tests/bugs/snapshot/bug-1166197.t @@ -20,6 +20,7 @@ TEST $CLI snapshot config activate-on-create enable TEST $CLI volume set $V0 features.uss enable EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field $V0 'Status'; +EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available; TEST mount_nfs $H0:/$V0 $N0 nolock TEST mkdir $N0/testdir diff --git a/tests/bugs/tier/bug-1205545-CTR-and-trash-integration.t b/tests/bugs/tier/bug-1205545-CTR-and-trash-integration.t index dc16fed0052..752c517adc3 100644 --- a/tests/bugs/tier/bug-1205545-CTR-and-trash-integration.t +++ b/tests/bugs/tier/bug-1205545-CTR-and-trash-integration.t @@ -69,3 +69,4 @@ cleanup +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/bugs/tier/bug-1279376-rename-demoted-file.t b/tests/bugs/tier/bug-1279376-rename-demoted-file.t index 485a14ddde1..c4a50d9d9f7 100755 --- a/tests/bugs/tier/bug-1279376-rename-demoted-file.t +++ b/tests/bugs/tier/bug-1279376-rename-demoted-file.t @@ -73,7 +73,7 @@ echo "File path on cold tier: "$CPATH EXPECT_WITHIN $DEMOTE_TIMEOUT "yes" exists_and_regular_file $CPATH -# We don't want $DST_FILE to get demoted +#We don't want $DST_FILE to get demoted TEST $CLI volume set $V0 cluster.tier-demote-frequency $PROMOTE_FREQ #This will be created on the hot tier @@ -90,3 +90,4 @@ EXPECT 1 echo $(ls -l $M0 | grep $DST_FILE | wc -l) cleanup; +#G_TESTDEF_TEST_STATUS_NETBSD7=KNOWN_ISSUE,BUG=000000 diff --git a/tests/bugs/tier/bug-1286974.t b/tests/bugs/tier/bug-1286974.t index a2d8131a0da..1df837c9d83 100644 --- a/tests/bugs/tier/bug-1286974.t +++ b/tests/bugs/tier/bug-1286974.t @@ -69,4 +69,5 @@ TEST $CLI volume tier $V0 detach stop EXPECT "0" tier_task_name "Tier migration"; cleanup; - +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/changelog.rc b/tests/changelog.rc index e3b040226ec..ffad2e80632 100644 --- a/tests/changelog.rc +++ b/tests/changelog.rc @@ -2,3 +2,8 @@ function count_htime_files { ls -l $B0/$V0"1"/.glusterfs/changelogs/htime/ | grep HTIME | wc -l } + +function count_changelog_files { + # Where $1 is the brick name passed + ls -l $1/.glusterfs/changelogs/ | grep CHANGELOG | wc -l +} diff --git a/tests/features/ssl-authz.t b/tests/features/ssl-authz.t index 17ae356717c..3cb45b5e582 100755 --- a/tests/features/ssl-authz.t +++ b/tests/features/ssl-authz.t @@ -48,7 +48,7 @@ ln $SSL_CERT $SSL_CA TEST $CLI volume create $V0 $H0:$B0/1 TEST $CLI volume set $V0 server.ssl on TEST $CLI volume set $V0 client.ssl on -#EST $CLI volume set $V0 ssl.cipher-list $(valid_ciphers) +TEST $CLI volume set $V0 ssl.cipher-list $(valid_ciphers) TEST $CLI volume start $V0 EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" online_brick_count diff --git a/tests/features/unhashed-auto.t b/tests/features/unhashed-auto.t index cba5b772106..ddebd03299d 100755 --- a/tests/features/unhashed-auto.t +++ b/tests/features/unhashed-auto.t @@ -63,7 +63,7 @@ EXPECT 'Started' volinfo_field $V0 'Status' TEST $GFS -s $H0 --volfile-id $V0 $M0 TEST mkdir $M0/dir TEST touch_files -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 # Add a brick and do the fix-layout part of rebalance to update directory layouts # (including their directory commit hashes). @@ -82,7 +82,7 @@ TEST setfattr -x trusted.glusterfs.dht.commithash $B0/${V0}3 # correctly skipped the broadcast lookup that would have found them. TEST $GFS -s $H0 --volfile-id $V0 $M0 TEST [ $(count_files) -ne 100 ] -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 # Do the fix-layout again to generate a new volume commit hash. TEST $CLI volume rebalance $V0 fix-layout start @@ -92,7 +92,7 @@ TEST wait_for_rebalance # the mismatch and did the broadcast lookup this time. TEST $GFS -s $H0 --volfile-id $V0 $M0 TEST [ $(count_files) -eq 100 ] -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 # Do a *full* rebalance and verify that the directory commit hash changed. old_val=$(get_xattr $B0/${V0}1/dir) diff --git a/tests/geo-rep/georep-basic-dr-rsync.t b/tests/geo-rep/georep-basic-dr-rsync.t index 220b4713c69..e8b39938082 100644 --- a/tests/geo-rep/georep-basic-dr-rsync.t +++ b/tests/geo-rep/georep-basic-dr-rsync.t @@ -126,3 +126,5 @@ TEST $GEOREP_CLI $master $slave stop TEST $GEOREP_CLI $master $slave delete cleanup; +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/geo-rep/georep-basic-dr-tarssh.t b/tests/geo-rep/georep-basic-dr-tarssh.t index cf661d08782..5f879db99cf 100644 --- a/tests/geo-rep/georep-basic-dr-tarssh.t +++ b/tests/geo-rep/georep-basic-dr-tarssh.t @@ -128,3 +128,5 @@ TEST $GEOREP_CLI $master $slave stop TEST $GEOREP_CLI $master $slave delete cleanup; +#G_TESTDEF_TEST_STATUS_CENTOS6=BAD_TEST,BUG=000000 +#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000 diff --git a/tests/include.rc b/tests/include.rc index 9be67de8a07..13a5188a34e 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -39,6 +39,7 @@ H0=${H0:=`hostname`}; # hostname MOUNT_TYPE_FUSE="fuse.glusterfs" GREP_MOUNT_OPT_RO="grep (ro" GREP_MOUNT_OPT_RW="grep (rw" +UMOUNT_F="umount -f" PATH=$PATH:${PWD}/tests/utils @@ -50,6 +51,7 @@ NetBSD) MOUNT_TYPE_FUSE="puffs|perfuse|fuse.glusterfs" GREP_MOUNT_OPT_RO="grep (read-only" GREP_MOUNT_OPT_RW="grep -v (read-only" + UMOUNT_F="umount -f -R" ;; *) ;; @@ -125,6 +127,23 @@ function dbg() [ "x$DEBUG" = "x0" ] || echo "$*" >&2; } +function G_LOG() +{ + local g_log_logdir; + g_log_logdir=`$CLI --print-logdir` + test -d $g_log_logdir + if [ $? != 0 ]; then + return + fi + local g_log_string; + g_log_string="++++++++++ G_LOG:$0: TEST: $@ ++++++++++" + g_log_string="`date -u +["%F %T.%6N"]`:$g_log_string" + local g_log_filename + for g_log_filename in `find $g_log_logdir/ -type f -name \*.log`; + do + echo "$g_log_string" >> "$g_log_filename" + done +} function test_header() { @@ -137,12 +156,13 @@ function test_header() function test_footer() { RET=$? - local err=$1 + local lineno=$1 + local err=$2 if [ $RET -eq 0 ]; then - echo "ok $t"; + echo "ok $t, LINENUM:$lineno"; else - echo "not ok $t $err"; + echo "not ok $t $err, LINENUM:$lineno"; # With DEBUG, this was already printed out, so skip it. if [ x"$DEBUG" = x"0" ]; then echo "FAILED COMMAND: $saved_cmd" @@ -159,8 +179,9 @@ function test_footer() function test_expect_footer() { - local e=$1 - local a=$2 + local lineno=$1 + local e=$2 + local a=$3 local err="" if ! [[ "$a" =~ $e ]]; then @@ -168,7 +189,7 @@ function test_expect_footer() fi [[ "$a" =~ $e ]]; - test_footer "$err"; + test_footer "$lineno" "$err"; } function _EXPECT() @@ -177,6 +198,7 @@ function _EXPECT() shift; local a="" + G_LOG $TESTLINE "$@"; test_header "$@"; e="$1"; @@ -184,16 +206,17 @@ function _EXPECT() a=$("$@" | tail -1) if [ "x$e" = "x" ] ; then - test_expect_footer "x$e" "x$a"; + test_expect_footer "$TESTLINE" "x$e" "x$a"; else - test_expect_footer "$e" "$a"; + test_expect_footer "$TESTLINE" "$e" "$a"; fi } function test_expect_not_footer() { - local e=$1 - local a=$2 + local lineno=$1 + local e=$2 + local a=$3 local err="" if [[ "$a" =~ $e ]]; then @@ -201,7 +224,7 @@ function test_expect_not_footer() fi ! [[ "$a" =~ "$e" ]]; - test_footer "$err"; + test_footer "$lineno" "$err"; } function _EXPECT_NOT() @@ -210,6 +233,7 @@ function _EXPECT_NOT() shift; local a="" + G_LOG $TESTLINE "$@"; test_header "$@"; e="$1"; @@ -217,9 +241,9 @@ function _EXPECT_NOT() a=$("$@" | tail -1) if [ "x$e" = "x" ] ; then - test_expect_not_footer "x$e" "x$a"; + test_expect_not_footer "$TESTLINE" "x$e" "x$a"; else - test_expect_not_footer "$e" "$a"; + test_expect_not_footer "$TESTLINE" "$e" "$a"; fi } @@ -227,23 +251,23 @@ function _EXPECT_KEYWORD() { TESTLINE=$1; shift; - + G_LOG $TESTLINE "$@"; test_header "$@"; e="$1"; shift; "$@" | tail -1 | grep -q "$e" - test_footer; + test_footer "$TESTLINE"; } - function _TEST() { TESTLINE=$1; shift; local redirect="" + G_LOG $TESTLINE "$@"; test_header "$@"; if [ "$1" = "!" ]; then @@ -252,7 +276,7 @@ function _TEST() eval "$@" >/dev/null $redirect - test_footer; + test_footer "$TESTLINE"; } function _EXPECT_WITHIN() @@ -263,6 +287,7 @@ function _EXPECT_WITHIN() local timeout=$1 shift; + G_LOG $TESTLINE "$@"; test_header "$@" e=$1; @@ -286,9 +311,9 @@ function _EXPECT_WITHIN() done if [ "x$e" = "x" ] ; then - test_expect_footer "x$e" "x$a"; + test_expect_footer "$TESTLINE" "x$e" "x$a"; else - test_expect_footer "$e" "$a"; + test_expect_footer "$TESTLINE" "$e" "$a"; fi } @@ -308,6 +333,12 @@ function _TEST_IN_LOOP() _TEST $@ } +function _EXPECT_WITHIN_TEST_IN_LOOP() +{ + testcnt=`expr $testcnt + 1`; + _EXPECT_WITHIN $@ +} + which killall > /dev/null || { killall() { pkill $@ @@ -387,20 +418,42 @@ stat -c %s /dev/null > /dev/null 2>&1 || { function cleanup() { - # unmount filesystems before killing daemons to avoid deadllocks - MOUNTPOINTS=`mount | grep "$B0/" | awk '{print $3}'` - for m in $MOUNTPOINTS; - do - umount $m - done - killall -15 glusterfs glusterfsd glusterd 2>/dev/null || true; + # Prepare flags for umount + case `uname -s` in + Linux) + flag="-l" + ;; + NetBSD) + flag="-f -R" + ;; + FreeBSD|Darwin) + flag="-f" + ;; + *) + flag="" + ;; + esac + + # Clean up all client mounts for m in `mount | grep fuse.glusterfs | awk '{print $3}'`; do - umount $m + umount $flag $m done - test x"$OSTYPE" = x"NetBSD" && pkill -15 perfused rpc.statd || true - # allow completion of signal handlers for SIGTERM before issue SIGKILL - sleep 1 + + # Unmount all well known mount points + umount $flag $M0 2>/dev/null || umount -f $M0 2>/dev/null || true; + umount $flag $M1 2>/dev/null || umount -f $M1 2>/dev/null || true; + umount $flag $M2 2>/dev/null || umount -f $M2 2>/dev/null || true; + umount $flag $N0 2>/dev/null || umount -f $N0 2>/dev/null || true; + umount $flag $N1 2>/dev/null || umount -f $N1 2>/dev/null || true; + + + # unmount all stale mounts from /tmp, This is a temporary work around + # till the stale mount in /tmp is found. + umount $flag /tmp/mnt* 2>/dev/null + + + # Send SIGKILL to all gluster processes that are still running killall -9 glusterfs glusterfsd glusterd 2>/dev/null || true; test x"$OSTYPE" = x"NetBSD" && pkill -9 perfused rpc.statd || true @@ -416,8 +469,18 @@ function cleanup() ## nfs_acl rpcinfo -d 100227 3 2>/dev/null || true; + # unmount brick filesystems after killing daemons + MOUNTPOINTS=`mount | grep "$B0/" | awk '{print $3}'` + for m in $MOUNTPOINTS; + do + umount $flag $m + done + + # Cleanup lvm type cleanup_lvm &>/dev/null && cleanup_lvm || true; + # Destroy loop devices + # TODO: This should be a function DESTROY_LOOP case `uname -s` in Linux) LOOPDEVICES=`losetup -a | grep "$B0/" | \ @@ -457,31 +520,16 @@ function cleanup() # remove contents of "GLUSTERD_WORKDIR" except hooks and groups # directories. - find $GLUSTERD_WORKDIR/* -maxdepth 0 -name 'hooks' -prune \ - -o -name 'groups' -prune -o -exec rm -rf '{}' ';' - - rm -rf $B0/* /etc/glusterd/*; - - # unmount all stale mounts from /tmp, This is a temporary work around - # till the stale mount in /tmp is found. - case `uname -s` in - Linux) - flag="-l" - ;; - NetBSD|FreeBSD|Darwin) - flag="-f" - ;; - *) - flag="" - ;; - esac - umount $flag /tmp/mnt* 2>/dev/null - umount $flag $M0 2>/dev/null || umount -f $M0 2>/dev/null || true; - umount $flag $M1 2>/dev/null || umount -f $M1 2>/dev/null || true; - umount $flag $M2 2>/dev/null || umount -f $M2 2>/dev/null || true; - umount $flag $N0 2>/dev/null || umount -f $N0 2>/dev/null || true; - umount $flag $N1 2>/dev/null || umount -f $N1 2>/dev/null || true; + if [ -n $GLUSTERD_WORKDIR ] + then + find $GLUSTERD_WORKDIR/* -maxdepth 0 -name 'hooks' -prune \ + -o -name 'groups' -prune -o -exec rm -rf '{}' ';' + else + echo "GLUSTERD_WORKDIR is not set" + fi + # Complete cleanup time + rm -rf "$B0/*" "/etc/glusterd/*"; rm -rf $WORKDIRS leftover="" for d in $WORKDIRS ; do @@ -501,6 +549,20 @@ function cleanup() echo return 1; fi >&2 + + # tar logs at the start and end of every test + if [ -n "$LOGDIR" -a -z "$STOP_WASTING_SPACE" ] + then + tarname=$(basename $0 .t) + tar -rf ${LOGDIR}/${tarname}.tar ${LOGDIR}/* \ + --exclude="*.tar" \ + && \ + find $LOGDIR/* -maxdepth 0 -name '*.tar' -prune \ + -o -exec rm -rf '{}' ';' + else + echo "LOGDIR is not set" + fi + mkdir -p $WORKDIRS # This is usually the last thing a test script calls, so our return # value becomes their exit value. While it's not great for the mkdir @@ -510,6 +572,16 @@ function cleanup() return 0 } +function force_terminate () { + local ret=$?; + >&2 echo -e "\nreceived external"\ + "signal --`kill -l $ret`--, calling 'cleanup' ...\n"; + cleanup; + exit $ret; +} + +trap force_terminate INT TERM HUP + function volinfo_field() { local vol=$1; @@ -734,6 +806,7 @@ alias TEST='_TEST $LINENO' alias EXPECT_WITHIN='_EXPECT_WITHIN $LINENO' alias EXPECT_KEYWORD='_EXPECT_KEYWORD $LINENO' alias TEST_IN_LOOP='_TEST_IN_LOOP $LINENO' +alias EXPECT_WITHIN_TEST_IN_LOOP='_EXPECT_WITHIN_TEST_IN_LOOP $LINENO' shopt -s expand_aliases if [ x"$OSTYPE" = x"Linux" ]; then @@ -832,12 +905,15 @@ log_newer() msg=$2 logdir=`$CLI --print-logdir` + local x_ifs=$IFS IFS="[" - for date in `grep -hr "$msg" $logdir | awk -F '[\]]' '{print $1}'` ; do + for date in `grep -hr "$msg" $logdir | grep -v "G_LOG" | awk -F '[\]]' '{print $1}'` ; do if [ `date -d "$date" +%s` -gt $ts ] ; then + IFS=$x_ifs return 0; fi done 2>/dev/null + IFS=$x_ifs return 1 } diff --git a/tests/nfs.rc b/tests/nfs.rc index 2e0241709d3..2140f311c33 100644 --- a/tests/nfs.rc +++ b/tests/nfs.rc @@ -65,6 +65,6 @@ function mount_nfs () } function umount_nfs { - umount -f $1 + ${UMOUNT_F} $1 if [ $? -eq 0 ]; then echo "Y"; else echo "N"; fi } diff --git a/tests/snapshot.rc b/tests/snapshot.rc index 9304fdaee64..cca1f4d4988 100644 --- a/tests/snapshot.rc +++ b/tests/snapshot.rc @@ -3,7 +3,7 @@ LVM_DEFINED=0 LVM_PREFIX="patchy_snap" LVM_COUNT=0 -VHD_SIZE="1G" +VHD_SIZE="300M" #This function will init B# bricks #This is used when launch_cluster is @@ -127,7 +127,7 @@ function _cleanup_lvm() { function _cleanup_lvm_again() { local file - mount | grep $LVM_PREFIX | awk '{print $3}' | xargs -r umount -f + mount | grep $LVM_PREFIX | awk '{print $3}' | xargs -r ${UMOUNT_F} /sbin/vgs | grep $LVM_PREFIX | awk '{print $1}' | xargs -r vgremove -f @@ -158,8 +158,8 @@ function _create_lv() { local dir=$1 local num=$2 local vg="VG$num" - local thinpoolsize="0.8G" - local virtualsize="0.6G" + local thinpoolsize="200M" + local virtualsize="150M" /sbin/pvcreate $dir/${LVM_PREFIX}_loop /sbin/vgcreate ${!vg} $dir/${LVM_PREFIX}_loop @@ -182,7 +182,7 @@ function _umount_lv() { local num=$1 local l="L$num" - umount -f ${!l} 2>/dev/null || true + ${UMOUNT_F} ${!l} 2>/dev/null || true rmdir ${!l} 2>/dev/null || true } diff --git a/tests/volume.rc b/tests/volume.rc index 19848bca883..e488aa73b1c 100644 --- a/tests/volume.rc +++ b/tests/volume.rc @@ -30,8 +30,7 @@ function brick_up_status { local vol=$1 local host=$2 local brick=$3 - brick_pid=$(get_brick_pid $vol $host $brick) - gluster volume status | grep $brick_pid | awk '{print $4}' + $CLI volume status $vol $host:$brick --xml | sed -ne 's/.*\([01]\)<\/status>/\1/p' } function volume_option() @@ -50,6 +49,10 @@ function rebalance_status_field { $CLI volume rebalance $1 status | awk '{print $7,$8,$9}' |sed -n 3p |tr -d '[^0-9+\.]'|sed 's/ *$//g' } +function detach_tier_status_field { + $CLI volume tier $1 detach status | awk '{print $7,$8,$9}' |sed -n 3p |tr -d '[^0-9+\.]'|sed 's/ *$//g' +} + function remove_brick_status_completed_field { local vol=$1 local brick_list=$2 @@ -464,7 +467,7 @@ function path_exists { } function force_umount { - umount -f $* + ${UMOUNT_F} $* if [ $? -eq 0 ]; then echo "Y"; else echo "N"; fi } -- cgit