From abc4d4cfa01d922c46ebb1abfa5d801ba8c6b5c8 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Sat, 1 Jun 2019 22:43:03 +0530 Subject: lcov: run more fops on translators Translators covered: * playground/template * debug/delay-gen * debug/error-gen * features/namespace * features/quiesce * meta updates: bz#1693692 Change-Id: Ic8fde8efcb309ea492d8e819241f786f7ff467a1 Signed-off-by: Amar Tumballi --- tests/line-coverage/errorgen-coverage.t | 44 ++++++++++++++++++++++++++++ tests/line-coverage/meta-max-coverage.t | 8 ++++- tests/line-coverage/namespace-linecoverage.t | 39 ++++++++++++++++++++++++ tests/line-coverage/quiesce-coverage.t | 44 ++++++++++++++++++++++++++++ 4 files changed, 134 insertions(+), 1 deletion(-) create mode 100755 tests/line-coverage/errorgen-coverage.t create mode 100644 tests/line-coverage/namespace-linecoverage.t create mode 100755 tests/line-coverage/quiesce-coverage.t (limited to 'tests/line-coverage') diff --git a/tests/line-coverage/errorgen-coverage.t b/tests/line-coverage/errorgen-coverage.t new file mode 100755 index 00000000000..e95c4847b22 --- /dev/null +++ b/tests/line-coverage/errorgen-coverage.t @@ -0,0 +1,44 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc + +# Because I have added 10 iterations of rpc-coverage and glfsxmp for errorgen +SCRIPT_TIMEOUT=600 + +cleanup; + +## Start and create a volume +TEST glusterd; +TEST pidof glusterd; +TEST $CLI volume info; + +TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{1,2,3,4,5,6}; + +TEST $CLI volume set $V0 error-gen posix; +TEST $CLI volume set $V0 debug.error-failure 45%; + +## Start volume and verify +TEST $CLI volume start $V0; + +TEST $GFS -s $H0 --volfile-id $V0 $M1; + +cp $(dirname ${0})/../../api/examples/glfsxmp.c glfsxmp.c +build_tester ./glfsxmp.c -lgfapi +for i in $(seq 1 10); do + # as there is error-gen, there can be errors, so no + # need to test for success of below two commands + $(dirname $0)/../basic/rpc-coverage.sh $M1 >/dev/null + ./glfsxmp $V0 $H0 >/dev/null +done + +TEST cleanup_tester ./glfsxmp +TEST rm ./glfsxmp.c + + + +## Finish up +TEST $CLI volume stop $V0; + +TEST $CLI volume delete $V0; + +cleanup; diff --git a/tests/line-coverage/meta-max-coverage.t b/tests/line-coverage/meta-max-coverage.t index 16f65dc8a27..1cc07610aa7 100755 --- a/tests/line-coverage/meta-max-coverage.t +++ b/tests/line-coverage/meta-max-coverage.t @@ -20,7 +20,13 @@ TEST stat $M1/.meta/ # expect failures in rpc-coverage.sh execution. res=$($(dirname $0)/../basic/rpc-coverage.sh $M1/.meta) -res=$(find $M1/.meta -type f -print | xargs cat > /dev/null) + +# Expect errors here, hence no need to 'check for success' +for file in $(find $M1/.meta type f -print); do + cat $file >/dev/null + echo 1>$file + echo hello>$file +done TEST umount $M1 diff --git a/tests/line-coverage/namespace-linecoverage.t b/tests/line-coverage/namespace-linecoverage.t new file mode 100644 index 00000000000..0b7d4fe34f4 --- /dev/null +++ b/tests/line-coverage/namespace-linecoverage.t @@ -0,0 +1,39 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc +cleanup; + +TEST glusterd +TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2,3,4,5,6,7,8} +TEST $CLI volume set $V0 performance.stat-prefetch off +TEST $CLI volume set $V0 cluster.read-subvolume-index 0 +TEST $CLI volume set $V0 features.tag-namespaces on +TEST $CLI volume start $V0 +TEST $CLI volume set $V0 storage.build-pgfid on + +sleep 2 + +## Mount FUSE +TEST $GFS -s $H0 --volfile-id $V0 $M1; + + +mkdir -p $M1/namespace + +# subvol_1 = bar, subvol_2 = foo, subvol_3 = hey +# Test create, write (tagged by loc, fd respectively). +touch $M1/namespace/{bar,foo,hey} + +open $M1/namespace/hey + +## TODO: best way to increase coverage is to have a gfapi program +## which covers maximum fops +TEST $(dirname $0)/../basic/rpc-coverage.sh $M1 + +TEST cp $(dirname ${0})/../../api/examples/glfsxmp.c glfsxmp.c +TEST build_tester ./glfsxmp.c -lgfapi +TEST ./glfsxmp $V0 $H0 +TEST cleanup_tester ./glfsxmp +TEST rm ./glfsxmp.c + +cleanup; diff --git a/tests/line-coverage/quiesce-coverage.t b/tests/line-coverage/quiesce-coverage.t new file mode 100755 index 00000000000..56c96ebef54 --- /dev/null +++ b/tests/line-coverage/quiesce-coverage.t @@ -0,0 +1,44 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume info; + +TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{1,2,3,4,5,6}; + +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; +EXPECT '6' brick_count $V0 + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +file="/var/lib/glusterd/vols/$V0/trusted-$V0.tcp-fuse.vol" + +cat >> ${file} <