diff --git a/src/test/libpmempool_feature/TEST1.PS1 b/src/test/libpmempool_feature/TEST1.PS1 index 4aef39bfe9a5fd9132c71d403837882cd6fae9ba..41accdf32f9dcc46cc3274f846041ce700759732 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 247a64db83805ae57d40ca068019c916e96db4de..fc66cd36db113411f0bba9866b204d866e98a705 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 917f4397128dc76ba22a754e24c0a5f81662c11e..7c22e0e1c8133a2ad51259b292fb2d00ed1b64dd 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 33973d443923094b9b46e658b01a4b77459786c9..5bf1a9acac718f32e4b1fdee7e641e3e6a1d8195 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 e601cb155760f06473561d8f53d065b93afa158e..2d520a4d8681725b11a2c1282cee362bb170267b 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 78acdd6e27ced2c00a354b2d34f21526dab018c1..019fcc61437d77dd273c75826b778790aa44762b 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 7c64fb25543e150c4ba20f261f5613c253bd3a21..77ac52639f40c582184eea8f7f0f25893947159b 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 6ad2045f8ed10bf2d9618dec91c23c2463cd4893..a7a2a651eb1d3c5d99bbc6bf8e211e8307af752e 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