diff mbox series

[-next,2/5] selftests/cpu-hotplug: Replace exit with return

Message ID 20220830083028.45504-3-zhaogongyi@huawei.com (mailing list archive)
State Superseded
Headers show
Series Optimize and bugfix for cpu-on-off-test.sh | expand

Commit Message

Zhao Gongyi Aug. 30, 2022, 8:30 a.m. UTC
Replace exit with return to avoid some offline cpu
left when offline cpus fail.

Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
 .../selftests/cpu-hotplug/cpu-on-off-test.sh        | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

--
2.17.1

Comments

Shuah Khan Aug. 31, 2022, 11:24 p.m. UTC | #1
On 8/30/22 02:30, Zhao Gongyi wrote:
> Replace exit with return to avoid some offline cpu
> left when offline cpus fail.
> 

Some cpus will be left in offline state when online
function exits ...

Can you state this clearly in the change log.

> Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
> ---
>   .../selftests/cpu-hotplug/cpu-on-off-test.sh        | 13 ++++++++-----
>   1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> index 1169ef82b55e..19028c4c9758 100755
> --- a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> +++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> @@ -4,6 +4,7 @@
>   SYSFS=
>   # Kselftest framework requirement - SKIP code is 4.
>   ksft_skip=4
> +retval=0
> 
>   prerequisite()
>   {
> @@ -102,10 +103,10 @@ online_cpu_expect_success()
> 
>   	if ! online_cpu $cpu; then
>   		echo $FUNCNAME $cpu: unexpected fail >&2
> -		exit 1
> +		let retval=$retval+1
>   	elif ! cpu_is_online $cpu; then
>   		echo $FUNCNAME $cpu: unexpected offline >&2
> -		exit 1
> +		let retval=$retval+1
>   	fi
>   }
> 
> @@ -128,10 +129,10 @@ offline_cpu_expect_success()
> 
>   	if ! offline_cpu $cpu; then
>   		echo $FUNCNAME $cpu: unexpected fail >&2
> -		exit 1
> +		let retval=$retval+1
>   	elif ! cpu_is_offline $cpu; then
>   		echo $FUNCNAME $cpu: unexpected offline >&2
> -		exit 1
> +		let retval=$retval+1
>   	fi
>   }
> 
> @@ -201,7 +202,7 @@ if [ $allcpus -eq 0 ]; then
>   		offline_cpu_expect_success $present_max
>   		online_cpu $present_max
>   	fi
> -	exit 0
> +	exit $retval
>   else
>   	echo "Full scope test: all hotplug cpus"
>   	echo -e "\t online all offline cpus"
> @@ -291,3 +292,5 @@ done
> 
>   echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_DOWN_PREPARE/error
>   /sbin/modprobe -q -r cpu-notifier-error-inject
> +
> +exit $retval

This retval can be ksft_skip value if 4 of them fail. The test
result will be incorrect in this case and will be reported as
a skip. Let's avoid that case.

thanks,
-- Shuah
diff mbox series

Patch

diff --git a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
index 1169ef82b55e..19028c4c9758 100755
--- a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
+++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
@@ -4,6 +4,7 @@ 
 SYSFS=
 # Kselftest framework requirement - SKIP code is 4.
 ksft_skip=4
+retval=0

 prerequisite()
 {
@@ -102,10 +103,10 @@  online_cpu_expect_success()

 	if ! online_cpu $cpu; then
 		echo $FUNCNAME $cpu: unexpected fail >&2
-		exit 1
+		let retval=$retval+1
 	elif ! cpu_is_online $cpu; then
 		echo $FUNCNAME $cpu: unexpected offline >&2
-		exit 1
+		let retval=$retval+1
 	fi
 }

@@ -128,10 +129,10 @@  offline_cpu_expect_success()

 	if ! offline_cpu $cpu; then
 		echo $FUNCNAME $cpu: unexpected fail >&2
-		exit 1
+		let retval=$retval+1
 	elif ! cpu_is_offline $cpu; then
 		echo $FUNCNAME $cpu: unexpected offline >&2
-		exit 1
+		let retval=$retval+1
 	fi
 }

@@ -201,7 +202,7 @@  if [ $allcpus -eq 0 ]; then
 		offline_cpu_expect_success $present_max
 		online_cpu $present_max
 	fi
-	exit 0
+	exit $retval
 else
 	echo "Full scope test: all hotplug cpus"
 	echo -e "\t online all offline cpus"
@@ -291,3 +292,5 @@  done

 echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_DOWN_PREPARE/error
 /sbin/modprobe -q -r cpu-notifier-error-inject
+
+exit $retval