Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/46684 )
Change subject: tests: Add test region and symbol macros to <tests/test.h> ......................................................................
tests: Add test region and symbol macros to <tests/test.h>
Some modules require and operate on memory regions and symbols. This macros systematize how they are defined in testing code.
Signed-off-by: Jakub Czapiga jacz@semihalf.com Change-Id: I314028c201732416bb3d5446a4c8585e055073e3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46684 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Julius Werner jwerner@chromium.org Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: Paul Fagerburg pfagerburg@chromium.org --- M tests/include/tests/test.h 1 file changed, 14 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Julius Werner: Looks good to me, approved Angel Pons: Looks good to me, but someone else must approve Paul Fagerburg: Looks good to me, approved
diff --git a/tests/include/tests/test.h b/tests/include/tests/test.h index 4dc9988..ceb9654 100644 --- a/tests/include/tests/test.h +++ b/tests/include/tests/test.h @@ -14,4 +14,18 @@ #include <setjmp.h> #include <cmocka.h>
+/* + * Set symbol value and make it global. + */ +#define TEST_SYMBOL(symbol, address) asm(".set " #symbol ", " #address "\n\t.globl " #symbol) + +/* + * Define memory region for testing purpose. + * + * Create buffer with specified name and size. + * Create end symbol for it. + */ +#define TEST_REGION(region, size) uint8_t _##region[size]; \ + TEST_SYMBOL(_e##region, _##region + size) + #endif /* _TESTS_TEST_H */