diff --git a/src/test/pmempool_create/TEST10 b/src/test/pmempool_create/TEST10 index b9c20c187f678fbdee824028bc5a816744b082a6..bdf9936e657969fe5add32df1db914872ffb42ec 100755 --- a/src/test/pmempool_create/TEST10 +++ b/src/test/pmempool_create/TEST10 @@ -63,11 +63,7 @@ ndctl_inject_error $NAMESPACE 11 1 expect_bad_blocks $NAMESPACE -# -# When the compat feature POOL_FEAT_CHECK_BAD_BLOCKS is enabled by default, -# 'expect_normal_exit' should be replaced with 'expect_abnormal_exit'. -# -expect_normal_exit "$PMEMPOOL$EXESUFFIX create obj --layout pmempool$SUFFIX $POOLSET &>> $LOG" +expect_abnormal_exit "$PMEMPOOL$EXESUFFIX create obj --layout pmempool$SUFFIX $POOLSET &>> $LOG" ndctl_uninject_error $FULLDEV $NAMESPACE 11 1 badblock_test_fini diff --git a/src/test/pmempool_create/TEST11 b/src/test/pmempool_create/TEST11 index 008e0c6ffa938314d0099c1ded279c368d3597ba..5a34d9079e1e1780dbdc35b2bb25a7529648068e 100755 --- a/src/test/pmempool_create/TEST11 +++ b/src/test/pmempool_create/TEST11 @@ -69,11 +69,7 @@ ndctl_inject_error $NAMESPACE $SECTOR 1 expect_bad_blocks $NAMESPACE -# -# When the compat feature POOL_FEAT_CHECK_BAD_BLOCKS is enabled by default, -# 'expect_normal_exit' should be replaced with 'expect_abnormal_exit'. -# -expect_normal_exit "$PMEMPOOL$EXESUFFIX create obj --layout pmempool$SUFFIX $POOLSET &>> $LOG" +expect_abnormal_exit "$PMEMPOOL$EXESUFFIX create obj --layout pmempool$SUFFIX $POOLSET &>> $LOG" ndctl_uninject_error $FULLDEV $NAMESPACE $SECTOR 1 badblock_test_fini $MOUNT_DIR diff --git a/src/test/pmempool_create/out10.log.match b/src/test/pmempool_create/out10.log.match index 33cae9470289a27360c2f3cbcbc3407d3d955a41..b74c9199f63022e43dd8d1659e7b034e82c719cc 100644 --- a/src/test/pmempool_create/out10.log.match +++ b/src/test/pmempool_create/out10.log.match @@ -1,3 +1,5 @@ "badblock_count":1, "offset":11, "length":1, +error: '$(nW)/testset1' -- pool set contains bad blocks and cannot be created, run 'pmempool create --clear-bad-blocks' utility to clear bad blocks and create a pool +error: creating pool file failed diff --git a/src/test/pmempool_create/out11.log.match b/src/test/pmempool_create/out11.log.match index c345e1171a1417c129cf24ba8b94682ffe29c4e3..1f829261341127ff7a75e6aee9ad163c8e5686cb 100644 --- a/src/test/pmempool_create/out11.log.match +++ b/src/test/pmempool_create/out11.log.match @@ -1,3 +1,5 @@ "badblock_count":1, "offset":$(N), "length":1, +error: '$(nW)/testset1' -- pool set contains bad blocks and cannot be created, run 'pmempool create --clear-bad-blocks' utility to clear bad blocks and create a pool +error: creating pool file failed diff --git a/src/test/pmempool_feature/TEST12 b/src/test/pmempool_feature/TEST12 index a9fa4b286c482fe43760cbd9e1261bd96b613451..8125c31b727da43ed3179622e94ee1927433b5c7 100755 --- a/src/test/pmempool_feature/TEST12 +++ b/src/test/pmempool_feature/TEST12 @@ -44,7 +44,7 @@ configure_valgrind force-disable setup . ./common.sh -require_su_bb $PMEMPOOL$EXESUFFIX +require_bb_disabled_by_default $PMEMPOOL$EXESUFFIX pmempool_feature_create_poolset "no_dax_device" pmempool_feature_test_CHECK_BAD_BLOCKS diff --git a/src/test/pmempool_feature/TEST16 b/src/test/pmempool_feature/TEST16 index 57233d2115dc2e7829e7161a0e30d86e9b81763c..832efb6af3a69f7ece168cdacde169264508eca8 100755 --- a/src/test/pmempool_feature/TEST16 +++ b/src/test/pmempool_feature/TEST16 @@ -44,7 +44,7 @@ configure_valgrind force-disable setup . ./common.sh -require_user_bb $PMEMPOOL$EXESUFFIX +require_bb_enabled_by_default $PMEMPOOL$EXESUFFIX pmempool_feature_create_poolset "no_dax_device" pmempool_feature_test_CHECK_BAD_BLOCKS diff --git a/src/test/unittest/unittest.sh b/src/test/unittest/unittest.sh index bd32564baefa0905e78b17fb4b250cf161d29123..f2017e11c6a0becae04442c6e0a97e6a847db432 100644 --- a/src/test/unittest/unittest.sh +++ b/src/test/unittest/unittest.sh @@ -2048,14 +2048,14 @@ function is_ndctl_ge_63() { } # -# require_user_bb -- checks if the binary has support for unprivileged -# bad block iteration +# require_bb_enabled_by_default -- check if the binary has bad block +# checking feature enabled by default # -# usage: require_user_bb <binary> +# usage: require_bb_enabled_by_default <binary> # -function require_user_bb() { +function require_bb_enabled_by_default() { if ! is_ndctl_ge_63 $1 &> /dev/null ; then - msg "$UNITTEST_NAME: SKIP unprivileged bad block iteration not supported" + msg "$UNITTEST_NAME: SKIP bad block checking feature disabled by default" exit 0 fi @@ -2063,14 +2063,14 @@ function require_user_bb() { } # -# require_su_bb -- checks if the binary does not have support for -# unprivileged bad block iteration +# require_bb_disabled_by_default -- check if the binary does not have bad +# block checking feature enabled by default # -# usage: require_su_bb <binary> +# usage: require_bb_disabled_by_default <binary> # -function require_su_bb() { +function require_bb_disabled_by_default() { if is_ndctl_ge_63 $1 &> /dev/null ; then - msg "$UNITTEST_NAME: SKIP unprivileged bad block iteration supported" + msg "$UNITTEST_NAME: SKIP bad block checking feature enabled by default" exit 0 fi return 0 @@ -3628,6 +3628,7 @@ function require_max_block_size() { function require_badblock_tests_enabled() { require_sudo_allowed require_command ndctl + require_bb_enabled_by_default $PMEMPOOL$EXESUFFIX if [ "$BADBLOCK_TEST_TYPE" == "nfit_test" ]; then @@ -3670,6 +3671,8 @@ function require_badblock_tests_enabled() { function require_badblock_tests_enabled_node() { require_sudo_allowed_node $1 require_command_node $1 ndctl + require_bb_enabled_by_default $PMEMPOOL$EXESUFFIX + if [ "$BADBLOCK_TEST_TYPE" == "nfit_test" ]; then require_kernel_module_node $1 nfit_test elif [ "$BADBLOCK_TEST_TYPE" == "real_pmem" ]; then