1. Add checking after online or offline 2. Restore memory before exit 3. Adjust log info for maintainability 4. Correct test's name
Changes in v5: - Adjust log info for maintainability
Changes in v4: - Remove redundant log information
Changes in v3: - Remove 2 obselute patches
Zhao Gongyi (4): selftests/memory-hotplug: Add checking after online or offline selftests/memory-hotplug: Restore memory before exit selftests/memory-hotplug: Adjust log info for maintainability docs: notifier-error-inject: Correct test's name
.../fault-injection/notifier-error-inject.rst | 4 +-- .../memory-hotplug/mem-on-off-test.sh | 34 +++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-)
-- 2.17.1
Add checking for online_memory_expect_success()/ offline_memory_expect_success()/offline_memory_expect_fail(), or the test would exit 0 although the functions return 1.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com --- .../selftests/memory-hotplug/mem-on-off-test.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 46a97f318f58..1d87611a7d52 100755 --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh @@ -266,7 +266,9 @@ done # echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error for memory in `hotpluggable_offline_memory`; do - online_memory_expect_fail $memory + if ! online_memory_expect_fail $memory; then + retval=1 + fi done
# @@ -274,7 +276,9 @@ done # echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error for memory in `hotpluggable_offline_memory`; do - online_memory_expect_success $memory + if ! online_memory_expect_success $memory; then + retval=1 + fi done
# @@ -283,7 +287,9 @@ done echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error for memory in `hotpluggable_online_memory`; do if [ $((RANDOM % 100)) -lt $ratio ]; then - offline_memory_expect_fail $memory + if ! offline_memory_expect_fail $memory; then + retval=1 + fi fi done
-- 2.17.1
On 30.09.22 08:35, Zhao Gongyi wrote:
Add checking for online_memory_expect_success()/ offline_memory_expect_success()/offline_memory_expect_fail(), or the test would exit 0 although the functions return 1.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com
Reviewed-by: David Hildenbrand david@redhat.com
Some momory will be left in offline state when calling offline_memory_expect_fail() failed. Restore it before exit.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com --- .../memory-hotplug/mem-on-off-test.sh | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 1d87611a7d52..91a7457616bb 100755 --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh @@ -134,6 +134,16 @@ offline_memory_expect_fail() return 0 }
+online_all_offline_memory() +{ + for memory in `hotpluggable_offline_memory`; do + if ! online_memory_expect_success $memory; then + echo "$FUNCNAME $memory: unexpected fail" >&2 + retval=1 + fi + done +} + error=-12 priority=0 # Run with default of ratio=2 for Kselftest run @@ -275,11 +285,7 @@ done # Online all hot-pluggable memory # echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error -for memory in `hotpluggable_offline_memory`; do - if ! online_memory_expect_success $memory; then - retval=1 - fi -done +online_all_offline_memory
# # Test memory hot-remove error handling (online => offline) @@ -296,4 +302,9 @@ done echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error /sbin/modprobe -q -r memory-notifier-error-inject
+# +# Restore memory before exit +# +online_all_offline_memory + exit $retval -- 2.17.1
On 30.09.22 08:35, Zhao Gongyi wrote:
Some momory will be left in offline state when calling offline_memory_expect_fail() failed. Restore it before exit.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com
.../memory-hotplug/mem-on-off-test.sh | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 1d87611a7d52..91a7457616bb 100755 --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh @@ -134,6 +134,16 @@ offline_memory_expect_fail() return 0 }
+online_all_offline_memory() +{
- for memory in `hotpluggable_offline_memory`; do
if ! online_memory_expect_success $memory; then
echo "$FUNCNAME $memory: unexpected fail" >&2
Do we need that output?
Redirect misleading error message to /dev/null for offline_memory_expect_success(), And, add an output for online->offline test.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com --- tools/testing/selftests/memory-hotplug/mem-on-off-test.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 91a7457616bb..74ee5067a8ce 100755 --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh @@ -207,8 +207,11 @@ echo -e "\t trying to offline $target out of $hotpluggable_num memory block(s):" for memory in `hotpluggable_online_memory`; do if [ "$target" -gt 0 ]; then echo "online->offline memory$memory" - if offline_memory_expect_success $memory; then + if offline_memory_expect_success $memory &>/dev/null; then target=$(($target - 1)) + echo "-> Success" + else + echo "-> Failure" fi fi done @@ -267,7 +270,7 @@ prerequisite_extra echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error for memory in `hotpluggable_online_memory`; do if [ $((RANDOM % 100)) -lt $ratio ]; then - offline_memory_expect_success $memory + offline_memory_expect_success $memory &>/dev/null fi done
-- 2.17.1
On 30.09.22 08:35, Zhao Gongyi wrote:
Redirect misleading error message to /dev/null for offline_memory_expect_success(), And, add an output for online->offline test.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com
tools/testing/selftests/memory-hotplug/mem-on-off-test.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 91a7457616bb..74ee5067a8ce 100755 --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh @@ -207,8 +207,11 @@ echo -e "\t trying to offline $target out of $hotpluggable_num memory block(s):" for memory in `hotpluggable_online_memory`; do if [ "$target" -gt 0 ]; then echo "online->offline memory$memory"
if offline_memory_expect_success $memory; then
if offline_memory_expect_success $memory &>/dev/null; then target=$(($target - 1))
echo "-> Success"
else
fi fi doneecho "-> Failure"
@@ -267,7 +270,7 @@ prerequisite_extra echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error for memory in `hotpluggable_online_memory`; do if [ $((RANDOM % 100)) -lt $ratio ]; then
offline_memory_expect_success $memory
offline_memory_expect_success $memory &>/dev/null
Acked-by: David Hildenbrand david@redhat.com
Correct test's name for mem-on-off-test.sh/cpu-on-off-test.sh.
Signed-off-by: Zhao Gongyi zhaogongyi@huawei.com Reviewed-by: David Hildenbrand david@redhat.com --- Documentation/fault-injection/notifier-error-inject.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/fault-injection/notifier-error-inject.rst b/Documentation/fault-injection/notifier-error-inject.rst index 1668b6e48d3a..fdf2dc433ead 100644 --- a/Documentation/fault-injection/notifier-error-inject.rst +++ b/Documentation/fault-injection/notifier-error-inject.rst @@ -91,8 +91,8 @@ For more usage examples There are tools/testing/selftests using the notifier error injection features for CPU and memory notifiers.
- * tools/testing/selftests/cpu-hotplug/on-off-test.sh - * tools/testing/selftests/memory-hotplug/on-off-test.sh + * tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh + * tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
These scripts first do simple online and offline tests and then do fault injection tests if notifier error injection module is available. -- 2.17.1
linux-kselftest-mirror@lists.linaro.org