From d4b31aa992397bd2f6c58d9d417c1375f6faa95d Mon Sep 17 00:00:00 2001 From: "Lucas A. M. Magalhaes" <lamm@linux.ibm.com> Date: Thu, 16 Jul 2020 10:22:58 -0300 Subject: [PATCH] test: skip pmempool_feature if SDS cannot be enabled Signed-off-by: Lucas A. M. Magalhaes <lamm@linux.ibm.com> --- src/test/libpmempool_feature/TEST1.PS1 | 8 ++++++++ src/test/libpmempool_feature/TEST2w.PS1 | 8 ++++++++ src/test/libpmempool_feature/common.PS1 | 10 ++++++++++ src/test/pmempool_feature/TEST1.PS1 | 8 ++++++++ src/test/pmempool_feature/TEST15.PS1 | 8 ++++++++ src/test/pmempool_feature/TEST2.PS1 | 8 ++++++++ src/test/pmempool_feature/common.PS1 | 9 +++++++++ src/test/pmempool_feature/common.sh | 23 +++++++++++++++++++++++ 8 files changed, 82 insertions(+) diff --git a/src/test/libpmempool_feature/TEST1.PS1 b/src/test/libpmempool_feature/TEST1.PS1 index 4aef39bfe..41accdf32 100644 --- a/src/test/libpmempool_feature/TEST1.PS1 +++ b/src/test/libpmempool_feature/TEST1.PS1 @@ -22,6 +22,14 @@ expect_normal_exit $PMEMPOOL create obj $POOL # PMEMPOOL_FEAT_CHCKSUM_2K is enabled by default libpmempool_feature_query "CKSUM_2K" +# If SDS is not enabled at this point is because SDS is not available for +# this device +$ret = pmempool_feature_query_return "SHUTDOWN_STATE" +if ( $ret -eq "0" ) { + msg "${Env:UNITTEST_NAME}: SKIP: SDS is not available" + exit 0 +} + # disable PMEMPOOL_FEAT_SHUTDOWN_STATE prior to success $exit_func="expect_abnormal_exit" libpmempool_feature_disable "CKSUM_2K" # should fail diff --git a/src/test/libpmempool_feature/TEST2w.PS1 b/src/test/libpmempool_feature/TEST2w.PS1 index 247a64db8..fc66cd36d 100644 --- a/src/test/libpmempool_feature/TEST2w.PS1 +++ b/src/test/libpmempool_feature/TEST2w.PS1 @@ -19,6 +19,14 @@ expect_normal_exit $PMEMPOOL create obj $POOL # PMEMPOOL_FEAT_SHUTDOWN_STATE is enabled by default libpmempool_feature_query "SHUTDOWN_STATE" +# If SDS is not enabled at this point is because SDS is not available for +# this device +$ret = pmempool_feature_query_return "SHUTDOWN_STATE" +if ( $ret -eq "0" ) { + msg "${Env:UNITTEST_NAME}: SKIP: SDS is not available" + exit 0 +} + libpmempool_feature_disable "SHUTDOWN_STATE" # PMEMPOOL_FEAT_SHUTDOWN_STATE requires PMEMPOOL_FEAT_CHCKSUM_2K diff --git a/src/test/libpmempool_feature/common.PS1 b/src/test/libpmempool_feature/common.PS1 index 917f43971..7c22e0e1c 100644 --- a/src/test/libpmempool_feature/common.PS1 +++ b/src/test/libpmempool_feature/common.PS1 @@ -16,6 +16,16 @@ $ERROR_PATTERN="<1> \[feature.c:.*\]" $exit_func="expect_normal_exit" +# pmempool_feature_query_return -- query a feature and return +# the value. +# +# usage: pmempool_feature_query_return <feature> +function pmempool_feature_query_return($arg1) { + # verify query by pmempool info + $count=(expect_normal_exit $PMEMPOOL info $POOL | Select-String "$arg1").length + return $count +} + # libpmempool_feature_query_abnormal -- query feature with expected # abnormal result # diff --git a/src/test/pmempool_feature/TEST1.PS1 b/src/test/pmempool_feature/TEST1.PS1 index 33973d443..5bf1a9aca 100755 --- a/src/test/pmempool_feature/TEST1.PS1 +++ b/src/test/pmempool_feature/TEST1.PS1 @@ -19,6 +19,14 @@ expect_normal_exit $PMEMPOOL create obj $POOLSET # PMEMPOOL_FEAT_CHCKSUM_2K is enabled by default pmempool_feature_query "CKSUM_2K" +# If SDS is not enabled at this point is because SDS is not available for +# this device +$ret = pmempool_feature_query_return "SHUTDOWN_STATE" +if ( $ret -eq "0" ) { + msg "${Env:UNITTEST_NAME}: SKIP: SDS is not available" + exit 0 +} + # disable PMEMPOOL_FEAT_SHUTDOWN_STATE prior to success $exit_func="expect_abnormal_exit" pmempool_feature_disable "CKSUM_2K" # should fail diff --git a/src/test/pmempool_feature/TEST15.PS1 b/src/test/pmempool_feature/TEST15.PS1 index e601cb155..2d520a4d8 100755 --- a/src/test/pmempool_feature/TEST15.PS1 +++ b/src/test/pmempool_feature/TEST15.PS1 @@ -17,6 +17,14 @@ setup $Env:PMEMOBJ_CONF += "sds.at_create=1" expect_normal_exit $PMEMPOOL create obj $POOLSET +# If SDS is not enabled at this point is because SDS is not available for +# this device +$ret = pmempool_feature_query_return "SHUTDOWN_STATE" +if ( $ret -eq "0" ) { + msg "${Env:UNITTEST_NAME}: SKIP: SDS is not available" + exit 0 +} + pmempool_feature_query "SHUTDOWN_STATE" check diff --git a/src/test/pmempool_feature/TEST2.PS1 b/src/test/pmempool_feature/TEST2.PS1 index 78acdd6e2..019fcc614 100755 --- a/src/test/pmempool_feature/TEST2.PS1 +++ b/src/test/pmempool_feature/TEST2.PS1 @@ -19,6 +19,14 @@ expect_normal_exit $PMEMPOOL create obj $POOLSET # PMEMPOOL_FEAT_SHUTDOWN_STATE is enabled by default pmempool_feature_query "SHUTDOWN_STATE" +# If SDS is not enabled at this point is because SDS is not available for +# this device +$ret = pmempool_feature_query_return "SHUTDOWN_STATE" +if ( $ret -eq "0" ) { + msg "${Env:UNITTEST_NAME}: SKIP: SDS is not available" + exit 0 +} + pmempool_feature_disable "SHUTDOWN_STATE" # PMEMPOOL_FEAT_SHUTDOWN_STATE requires PMEMPOOL_FEAT_CHCKSUM_2K diff --git a/src/test/pmempool_feature/common.PS1 b/src/test/pmempool_feature/common.PS1 index 7c64fb255..77ac52639 100644 --- a/src/test/pmempool_feature/common.PS1 +++ b/src/test/pmempool_feature/common.PS1 @@ -20,6 +20,15 @@ remove_files $LOG $exit_func="expect_normal_exit" +# pmempool_feature_query_return -- query a feature and return +# the value. +# +# usage: pmempool_feature_query_return <feature> +function pmempool_feature_query_return($arg1) { + $count=$(expect_normal_exit $PMEMPOOL feature -q $arg1 $POOLSET) + return $count +} + # pmempool_feature_query -- query feature # # usage: pmempool_feature_query <feature> diff --git a/src/test/pmempool_feature/common.sh b/src/test/pmempool_feature/common.sh index 6ad2045f8..a7a2a651e 100644 --- a/src/test/pmempool_feature/common.sh +++ b/src/test/pmempool_feature/common.sh @@ -21,6 +21,14 @@ pmempool_exe=$PMEMPOOL$EXESUFFIX exit_func=expect_normal_exit sds_enabled=$(is_ndctl_enabled $pmempool_exe; echo $?) +# pmempool_feature_query_return -- query a feature and return +# the value. +# +# usage: pmempool_feature_query_return <feature> +function pmempool_feature_query_return() { + return $($pmempool_exe feature -q $1 $POOLSET 2>> $LOG) +} + # pmempool_feature_query -- query feature # # usage: pmempool_feature_query <feature> [<query-exit-type>] @@ -122,6 +130,14 @@ function pmempool_feature_test_CKSUM_2K() { pmempool_feature_enable SHUTDOWN_STATE "no-query" fi + # If SDS is not enabled at this point is because SDS is not available for + # this device + pmempool_feature_query_return "SHUTDOWN_STATE" + if [[ $? -eq 0 ]]; then + msg "$UNITTEST_NAME: SKIP: SDS is not available" + exit 0 + fi + # disable PMEMPOOL_FEAT_SHUTDOWN_STATE prior to success exit_func=expect_abnormal_exit pmempool_feature_disable "CKSUM_2K" # should fail @@ -136,6 +152,13 @@ function pmempool_feature_test_CKSUM_2K() { function pmempool_feature_test_SHUTDOWN_STATE() { pmempool_feature_query "SHUTDOWN_STATE" + # If SDS is not enabled at this point is because SDS is not available for + # this device + pmempool_feature_query_return "SHUTDOWN_STATE" + if [[ $? -eq 0 ]]; then + msg "$UNITTEST_NAME: SKIP: SDS is not available" + exit 0 + fi if [ $sds_enabled -eq 0 ]; then pmempool_feature_disable SHUTDOWN_STATE fi -- GitLab