Commit f46ddc2c authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Thomas Weißschuh
Browse files

selftests: harness: Add "variant" and "self" to test metadata



To get rid of setjmp()/longjmp(), the variant and self need to be usable
from __bail().

Make them available from the test metadata.

Signed-off-by: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Acked-by: default avatarShuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250505-nolibc-kselftest-harness-v4-11-ee4dd5257135@linutronix.de


Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
parent 5f036a2a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -423,6 +423,8 @@
				self = &self_private; \
			} \
		} \
		_metadata->variant = variant->data; \
		_metadata->self = self; \
		if (setjmp(_metadata->env) == 0) { \
			/* _metadata and potentially self are shared with all forks. */ \
			child = fork(); \
@@ -926,6 +928,8 @@ struct __test_metadata {
	bool aborted;	/* stopped test due to failed ASSERT */
	bool *no_teardown; /* fixture needs teardown */
	jmp_buf env;	/* for exiting out of test early */
	void *self;
	const void *variant;
	struct __test_results *results;
	struct __test_metadata *prev, *next;
};