[LTP] [PATCH v5 1/7] tst_kvercmp: Factor out error handling

Cyril Hrubis chrubis@suse.cz
Wed Aug 12 12:50:10 CEST 2026


Hi!
> -int tst_parse_kver(const char *str_kver, int *v1, int *v2, int *v3)
> +static int tst_parse_kver_(const char *str_kver, int *v1, int *v2, int *v3)
>  {
>  	const char *str = str_kver;
>  
> @@ -81,17 +81,28 @@ int tst_parse_kver(const char *str_kver, int *v1, int *v2, int *v3)
>  	return 0;
>  }

As I said this is changed into static function hence the tst_ prefix
should be dropped.

> -int tst_kvcmp(const char *cur_kver, int r1, int r2, int r3)
> +int tst_parse_kver(const char *str_kver, int *v1, int *v2, int *v3)
>  {
> -	int a1, a2, a3;
> -	int testver, currver;
> +	int rc;
> +
> +	rc = tst_parse_kver_(str_kver, v1, v2, v3);
>  
> -	if (tst_parse_kver(cur_kver, &a1, &a2, &a3)) {
> +	if (rc) {
>  		tst_resm(TWARN,
>  			 "Invalid kernel version %s, expected %%d.%%d.%%d",
> -		         cur_kver);
> +		         str_kver);
>  	}
>  
> +	return rc;
> +}
> +
> +int tst_kvcmp(const char *cur_kver, int r1, int r2, int r3)
> +{
> +	int a1, a2, a3;
> +	int testver, currver;
> +
> +	tst_parse_kver(cur_kver, &a1, &a2, &a3);
> +
>  	testver = (r1 << 20) + (r2 << 10) + r3;
>  	currver = (a1 << 20) + (a2 << 10) + a3;
>  
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index 9c5f2617fe..a147521e9d 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -1067,11 +1067,7 @@ static bool check_kver(const char *min_kver, const int brk_nosupp)
>  	char *msg;
>  	int v1, v2, v3;
>  
> -	if (tst_parse_kver(min_kver, &v1, &v2, &v3)) {
> -		tst_res(TWARN,
> -			"Invalid kernel version %s, expected %%d.%%d.%%d",
> -			min_kver);
> -	}
> +	tst_parse_kver(min_kver, &v1, &v2, &v3);
>  
>  	if (tst_kvercmp(v1, v2, v3) < 0) {
>  		msg = "The test requires kernel %s or newer";
> -- 
> 2.55.0
> 

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list