Re: [PATCH -next v4 1/3] selftests/memory-hotplug: Add checking after online or offline

zhaogongyi
2022-09-27T11:56:23Z

Hi!

>
> 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
> > + fi
> > fi
>
>
> 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.

Offline some memory node maybe failed as expected, but the error message is a bit annoying.

>
> --
> Thanks,
>
> David / dhildenb