[LTP] [PATCH v4 1/9] tst_kvercmp: Factor out error handling
Petr Vorel
pvorel@suse.cz
Wed Aug 5 17:14:43 CEST 2026
Error check was already on 2 places (and possibly more will be added in
the future).
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
New in v4.
lib/tst_kvercmp.c | 23 +++++++++++++++++------
lib/tst_test.c | 6 +-----
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/lib/tst_kvercmp.c b/lib/tst_kvercmp.c
index 9e1a511aff..c0714073d4 100644
--- a/lib/tst_kvercmp.c
+++ b/lib/tst_kvercmp.c
@@ -45,7 +45,7 @@ static char *parse_digit(const char *str, int *d)
return end;
}
-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;
}
-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 5c3607016e..351b155700 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
More information about the ltp
mailing list