diff options
author | Thomas Weißschuh <thomas.weissschuh@linutronix.de> | 2025-04-28 14:40:12 +0200 |
---|---|---|
committer | Thomas Weißschuh <linux@weissschuh.net> | 2025-05-21 15:32:12 +0200 |
commit | 7ff3c71a4795f524b4dc643db4d00d4467be26a0 (patch) | |
tree | bed1e6e76b2dd271eb99fb69bcf1506da7019e96 | |
parent | da69cfb17b2afbb8692b74eefb844f85febb6674 (diff) |
tools/nolibc: add difftime()
This is used in various selftests and will be handy when integrating
those with nolibc.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20250428-nolibc-misc-v2-11-3c043eeab06c@linutronix.de
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
-rw-r--r-- | tools/include/nolibc/time.h | 7 | ||||
-rw-r--r-- | tools/testing/selftests/nolibc/nolibc-test.c | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tools/include/nolibc/time.h b/tools/include/nolibc/time.h index 48f602b661b3..fc387940d51f 100644 --- a/tools/include/nolibc/time.h +++ b/tools/include/nolibc/time.h @@ -108,6 +108,13 @@ int clock_settime(clockid_t clockid, struct timespec *tp) } +static __inline__ +double difftime(time_t time1, time_t time2) +{ + return time1 - time2; +} + + static __attribute__((unused)) time_t time(time_t *tptr) { diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index d73125c41096..665d7631fbc6 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -1304,6 +1304,17 @@ int run_syscall(int min, int max) return ret; } +int test_difftime(void) +{ + if (difftime(200., 100.) != 100.) + return 1; + + if (difftime(100., 200.) != -100.) + return 1; + + return 0; +} + int run_stdlib(int min, int max) { int test; @@ -1426,6 +1437,7 @@ int run_stdlib(int min, int max) CASE_TEST(toupper_noop); EXPECT_EQ(1, toupper('A'), 'A'); break; CASE_TEST(abs); EXPECT_EQ(1, abs(-10), 10); break; CASE_TEST(abs_noop); EXPECT_EQ(1, abs(10), 10); break; + CASE_TEST(difftime); EXPECT_ZR(1, test_difftime()); break; case __LINE__: return ret; /* must be last */ |