diff mbox series

[3/4] selftests/nolibc: simplify status argument

Message ID 20230711-nolibc-sizeof-long-gaps-v1-3-dc78c3b85fc3@weissschuh.net (mailing list archive)
State New
Headers show
Series selftests/nolibc: simplify conditions and testcases | expand

Commit Message

Thomas Weißschuh July 11, 2023, 9:48 a.m. UTC
I'm not sure if this is an improvement over the previous patch.
If so it should be squashed into it.

Not-Signed-off-by
---
 tools/testing/selftests/nolibc/nolibc-test.c | 115 ++++++++++-----------------
 1 file changed, 40 insertions(+), 75 deletions(-)

Comments

Willy Tarreau July 11, 2023, 7:12 p.m. UTC | #1
Hi Thomas,

On Tue, Jul 11, 2023 at 11:48:41AM +0200, Thomas Weißschuh wrote:
> I'm not sure if this is an improvement over the previous patch.
> If so it should be squashed into it.

Indeed, I find it less readable, because when you read:

        result(llen, ret ? FAIL : OK);

it makes it explicit what values of ret are expected with what meaning,
but this one:

        result(llen, ret);

makes it quite opaque. I'd rather keep the ternary operator and the 3
values that are likely more accessible to newcomers who will more quickly
figure how to do what they need.

Thus I dropped this one and applied the 3 other ones which are indeed
a nice cleanup.

Thanks,
Willy
diff mbox series

Patch

diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
index b7ed10512d67..754815c142f6 100644
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -127,17 +127,13 @@  static void putcharn(char c, size_t n)
 	fputs(buf, stdout);
 }
 
-enum RESULT {
-	OK,
-	FAIL,
-	SKIPPED,
-};
+#define SKIPPED INT_MIN
 
-static void result(int llen, enum RESULT r)
+static void result(int llen, int r)
 {
 	const char *msg;
 
-	if (r == OK)
+	if (r == 0)
 		msg = " [OK]";
 	else if (r == SKIPPED)
 		msg = "[SKIPPED]";
@@ -162,7 +158,7 @@  static int expect_zr(int expr, int llen)
 	int ret = !(expr == 0);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -175,7 +171,7 @@  static int expect_nz(int expr, int llen)
 	int ret = !(expr != 0);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -188,7 +184,7 @@  static int expect_eq(uint64_t expr, int llen, uint64_t val)
 	int ret = !(expr == val);
 
 	llen += printf(" = %lld ", (long long)expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -201,7 +197,7 @@  static int expect_ne(int expr, int llen, int val)
 	int ret = !(expr != val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -214,7 +210,7 @@  static int expect_ge(int expr, int llen, int val)
 	int ret = !(expr >= val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -227,7 +223,7 @@  static int expect_gt(int expr, int llen, int val)
 	int ret = !(expr > val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -240,7 +236,7 @@  static int expect_le(int expr, int llen, int val)
 	int ret = !(expr <= val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -253,7 +249,7 @@  static int expect_lt(int expr, int llen, int val)
 	int ret = !(expr < val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -268,11 +264,10 @@  static int expect_syszr(int expr, int llen)
 	if (expr) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -287,11 +282,10 @@  static int expect_syseq(int expr, int llen, int val)
 	if (expr != val) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -306,11 +300,10 @@  static int expect_sysne(int expr, int llen, int val)
 	if (expr == val) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -333,10 +326,8 @@  static int expect_syserr2(int expr, int expret, int experr1, int experr2, int ll
 			llen += printf(" != (%d %s) ", expret, errorname(experr1));
 		else
 			llen += printf(" != (%d %s %s) ", expret, errorname(experr1), errorname(experr2));
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -349,12 +340,9 @@  static int expect_ptrzr(const void *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr) {
+	if (expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -367,12 +355,9 @@  static int expect_ptrnz(const void *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (!expr) {
+	if (!expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -384,12 +369,9 @@  static int expect_ptreq(const void *expr, int llen, const void *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr != cmp) {
+	if (expr != cmp)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -401,12 +383,9 @@  static int expect_ptrne(const void *expr, int llen, const void *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr == cmp) {
+	if (expr == cmp)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -428,10 +407,8 @@  static int expect_ptrerr2(const void *expr, const void *expret, int experr1, int
 			llen += printf(" != (<%p> %s) ", expret, errorname(experr1));
 		else
 			llen += printf(" != (<%p> %s %s) ", expret, errorname(experr1), errorname(experr2));
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -443,12 +420,9 @@  static int expect_strzr(const char *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (expr) {
+	if (expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -461,12 +435,9 @@  static int expect_strnz(const char *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (!expr) {
+	if (!expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -479,12 +450,9 @@  static int expect_streq(const char *expr, int llen, const char *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (strcmp(expr, cmp) != 0) {
+	if (strcmp(expr, cmp) != 0)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -497,12 +465,9 @@  static int expect_strne(const char *expr, int llen, const char *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (strcmp(expr, cmp) == 0) {
+	if (strcmp(expr, cmp) == 0)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -893,7 +858,7 @@  static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	memfile = fdopen(fd, "w+");
 	if (!memfile) {
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
@@ -903,7 +868,7 @@  static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	if (w != c) {
 		llen += printf(" written(%d) != %d", w, (int) c);
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
@@ -917,14 +882,14 @@  static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	if (r != w) {
 		llen += printf(" written(%d) != read(%d)", w, r);
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
 	llen += printf(" \"%s\" = \"%s\"", expected, buf);
 	ret = strncmp(expected, buf, c);
 
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -987,7 +952,7 @@  static int run_protection(int min, int max)
 #if defined(_NOLIBC_STACKPROTECTOR)
 	if (!__stack_chk_guard) {
 		llen += printf("__stack_chk_guard not initialized");
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 #endif
@@ -998,7 +963,7 @@  static int run_protection(int min, int max)
 	switch (pid) {
 	case -1:
 		llen += printf("fork()");
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 
 	case 0:
@@ -1014,10 +979,10 @@  static int run_protection(int min, int max)
 
 		if (pid == -1 || !WIFSIGNALED(status) || WTERMSIG(status) != SIGABRT) {
 			llen += printf("waitpid()");
-			result(llen, FAIL);
+			result(llen, 1);
 			return 1;
 		}
-		result(llen, OK);
+		result(llen, 0);
 		return 0;
 	}
 }