diff mbox series

[v3,4/4] sysctl/sysctl02.sh: Use kconfig shell api

Message ID 1641779349-8424-4-git-send-email-xuyang2018.jy@fujitsu.com
State Superseded
Headers show
Series [v3,1/4] lib/tst_kconfig: Modify the return type of tst_kconfig_check function | expand

Commit Message

Yang Xu Jan. 10, 2022, 1:49 a.m. UTC
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
 testcases/commands/sysctl/sysctl02.sh | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

Comments

Li Wang Jan. 10, 2022, 8:30 a.m. UTC | #1
Reviewed-by: Li Wang <liwang@redhat.com>
Cyril Hrubis Jan. 10, 2022, 2:15 p.m. UTC | #2
Hi!
> +	tst_check_kconfigs "CONFIG_KALLSYMS=y" "CONFIG_KALLSYMS_ALL=y" "CONFIG_KASAN=y" \
                               ^
			       This should be a single string now,
			       right?

			       Also we should pass the delimiter unless
			       we change the tst_check_kconfigs default
			       to ',' if no delimiter was passed (which
			       sounds reasonable).

> +		|| tst_brk TCONF "kconfig doesn't meet test's requirement!"
> +
>  	ROD sysctl -w -q $sys_name=0
>  
> -	if grep -q kasan_report $syms_file; then
> -		if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
> -			tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
> -		else
> -			tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
> -		fi
> +	if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
> +		tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
>  	else
> -		tst_res TCONF "kernel doesn't support KASAN"
> +		tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
>  	fi
>  }
>  
> -- 
> 2.23.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Yang Xu Jan. 11, 2022, 5:34 a.m. UTC | #3
Hi Cyril
> Hi!
>> +	tst_check_kconfigs "CONFIG_KALLSYMS=y" "CONFIG_KALLSYMS_ALL=y" "CONFIG_KASAN=y" \
>                                 ^
> 			       This should be a single string now,
> 			       right?
Yes.
>
> 			       Also we should pass the delimiter unless
> 			       we change the tst_check_kconfigs default
> 			       to ',' if no delimiter was passed (which
> 			       sounds reasonable).
Yes, I have modified tst_check_kconfigs and tst_require_kconfigs api, so 
if no delimiters was passed, tst_require_kconfigs will use 
$TST_NEEDS_KCONFIGS_IFS, tst_check_kconfigs will use comma.

Best Regards
Yang Xu
>
>> +		|| tst_brk TCONF "kconfig doesn't meet test's requirement!"
>> +
>>   	ROD sysctl -w -q $sys_name=0
>>
>> -	if grep -q kasan_report $syms_file; then
>> -		if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
>> -			tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
>> -		else
>> -			tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
>> -		fi
>> +	if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
>> +		tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
>>   	else
>> -		tst_res TCONF "kernel doesn't support KASAN"
>> +		tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
>>   	fi
>>   }
>>
>> --
>> 2.23.0
>>
>>
>> --
>> Mailing list info: https://lists.linux.it/listinfo/ltp
>
diff mbox series

Patch

diff --git a/testcases/commands/sysctl/sysctl02.sh b/testcases/commands/sysctl/sysctl02.sh
index 3964a9829..1c444268a 100755
--- a/testcases/commands/sysctl/sysctl02.sh
+++ b/testcases/commands/sysctl/sysctl02.sh
@@ -20,15 +20,14 @@  TST_CLEANUP=cleanup
 TST_CNT=4
 TST_NEEDS_ROOT=1
 TST_NEEDS_CMDS="sysctl"
+TST_NEEDS_KCONFIGS="CONFIG_SYSCTL=y, CONFIG_PROC_FS=y"
 sys_name="fs.file-max"
 sys_file="/proc/sys/fs/file-max"
-syms_file="/proc/kallsyms"
 
 . tst_test.sh
 
 setup()
 {
-	[ ! -f "$sys_file" ] && tst_brk TCONF "$sys_file not enabled"
 	orig_value=$(cat "$sys_file")
 }
 
@@ -61,17 +60,15 @@  sysctl_test_overflow()
 
 sysctl_test_zero()
 {
-	[ ! -f "$syms_file" ] && tst_brk TCONF "$syms_file not enabled"
+	tst_check_kconfigs "CONFIG_KALLSYMS=y" "CONFIG_KALLSYMS_ALL=y" "CONFIG_KASAN=y" \
+		|| tst_brk TCONF "kconfig doesn't meet test's requirement!"
+
 	ROD sysctl -w -q $sys_name=0
 
-	if grep -q kasan_report $syms_file; then
-		if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
-			tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
-		else
-			tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
-		fi
+	if dmesg | grep -q "KASAN: global-out-of-bounds in __do_proc_doulongvec_minmax"; then
+		tst_res TFAIL "$sys_file is set 0 and trigger a KASAN error"
 	else
-		tst_res TCONF "kernel doesn't support KASAN"
+		tst_res TPASS "$sys_file is set 0 and doesn't trigger a KASAN error"
 	fi
 }