From 9f3fdb830f61cd8c8c1f1db9d03cba1c546c1a7e Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sun, 24 Jul 2022 15:07:57 +0200 Subject: user: change the directory structure to prepare for multiple binaries --- src/user/app/init/tests/stress.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/user/app/init/tests/stress.c (limited to 'src/user/app/init/tests/stress.c') diff --git a/src/user/app/init/tests/stress.c b/src/user/app/init/tests/stress.c new file mode 100644 index 0000000..9223d01 --- /dev/null +++ b/src/user/app/init/tests/stress.c @@ -0,0 +1,28 @@ +#define TEST_MACROS +#include +#include +#include +#include + +static void run_forked(void (*fn)()) { + if (!fork()) { + fn(); + _syscall_exit(0); + } else { + /* successful tests must return 0 + * TODO add a better fail msg */ + if (_syscall_await() != 0) test_fail(); + } +} + + +static void stress_fork(void) { + for (size_t i = 0; i < 2048; i++) { + if (!fork()) _syscall_exit(0); + _syscall_await(); + } +} + +void stress_all(void) { + run_forked(stress_fork); +} -- cgit v1.2.3