On 27.09.22 05:28, 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
.../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
fifi
LGTM
Reviewed-by: David Hildenbrand david@redhat.com
I am questioning the stability of the offlining test, though. Offlining a random memory block can fail easily, because "->removable" is not expressive:
# tools/testing/selftests/memory-hotplug/mem-on-off-test.sh Test scope: 2% hotplug memory online all hot-pluggable memory in offline state: SKIPPED - no hot-pluggable memory in offline state offline 2% hot-pluggable memory in online state trying to offline 2 out of 96 memory block(s): online->offline memory0 tools/testing/selftests/memory-hotplug/mem-on-off-test.sh: line 78: echo: write error: Invalid argument offline_memory_expect_success 0: unexpected fail online->offline memory10 online->offline memory11
I guess this test will almost always fail nowadays.