[PATCH v2 11/17] selftests: timers: nanosleep: Move all single clock tests out of the loop in main()

Thomas Weißschuh (Schneider Electric) <[email protected]> Mon, 03 Aug 2026 12:04:42 +0200
Newsgroups org.kernel.vger.linux-kselftest,org.kernel.vger.linux-kernel
Message-ID <20260803-auxclock-nanosleep-prep-v2-11-910cbd485390@linutronix.de>
Make the code easier to read by avoiding a goto.

Signed-off-by: Thomas Weißschuh (Schneider Electric) <[email protected]>
Acked-by: John Stultz <[email protected]>
---
 tools/testing/selftests/timers/nanosleep.c | 51 ++++++++++++++++--------------
 1 file changed, 28 insertions(+), 23 deletions(-)

diff --git a/tools/testing/selftests/timers/nanosleep.c b/tools/testing/selftests/timers/nanosleep.c
index 0a2ca1791f27..5037481516df 100644
--- a/tools/testing/selftests/timers/nanosleep.c
+++ b/tools/testing/selftests/timers/nanosleep.c
@@ -132,10 +132,35 @@ static int nanosleep_test_remaining(int clockid)
 	return KSFT_PASS;
 }
 
+static void nanosleep_test_clock(clockid_t clockid)
+{
+	long long length = 10;
+	int ret;
+
+	while (length <= (NSEC_PER_SEC * 10)) {
+		ret = nanosleep_test(clockid, length);
+		if (ret == KSFT_SKIP) {
+			ksft_test_result_skip("%s\n", clock_name(clockid));
+			return;
+		}
+		if (ret == KSFT_FAIL) {
+			ksft_test_result_fail("%s\n", clock_name(clockid));
+			ksft_exit_fail();
+		}
+		length *= 100;
+	}
+
+	ret = nanosleep_test_remaining(clockid);
+	if (ret == KSFT_FAIL) {
+		ksft_test_result_fail("%s\n", clock_name(clockid));
+		ksft_exit_fail();
+	}
+	ksft_test_result_pass("%s\n", clock_name(clockid));
+}
+
 int main(int argc, char **argv)
 {
-	long long length;
-	int clockid, ret;
+	int clockid;
 
 	static const clockid_t tested_clocks[] = {
 		CLOCK_REALTIME,
@@ -154,27 +179,7 @@ int main(int argc, char **argv)
 
 		fflush(stdout);
 
-		length = 10;
-		while (length <= (NSEC_PER_SEC * 10)) {
-			ret = nanosleep_test(clockid, length);
-			if (ret == KSFT_SKIP) {
-				ksft_test_result_skip("%s\n", clock_name(clockid));
-				goto next;
-			}
-			if (ret == KSFT_FAIL) {
-				ksft_test_result_fail("%s\n", clock_name(clockid));
-				ksft_exit_fail();
-			}
-			length *= 100;
-		}
-		ret = nanosleep_test_remaining(clockid);
-		if (ret == KSFT_FAIL) {
-			ksft_test_result_fail("%s\n", clock_name(clockid));
-			ksft_exit_fail();
-		}
-		ksft_test_result_pass("%s\n", clock_name(clockid));
-next:
-		ret = 0;
+		nanosleep_test_clock(clockid);
 	}
 	ksft_exit_pass();
 }

-- 
2.55.0