[LTP] [PATCH] test_macros: TST_EXP_EXPR() add auto stringification
Cyril Hrubis
chrubis@suse.cz
Thu Feb 17 15:27:30 CET 2022
This unifies the behavior with the rest of the TST_EXP_*() macros that
auto-stringify their parameters in case that no format string is
supplied.
It's actually useful in cases where there is clear from the variables
what has been asserted such as:
static void run(void)
{
siginfo_t infop;
...
TST_EXP_EXPR(infop.si_pid == child_pid);
...
}
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
include/tst_test_macros.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/tst_test_macros.h b/include/tst_test_macros.h
index 8893dbf0e..3b3b1b17e 100644
--- a/include/tst_test_macros.h
+++ b/include/tst_test_macros.h
@@ -211,7 +211,10 @@ extern void *TST_RET_PTR;
#define TST_EXP_FAIL2_SILENT(SCALL, ERRNO, ...) \
TST_EXP_FAIL_SILENT_(TST_RET >= 0, SCALL, #SCALL, ERRNO, ##__VA_ARGS__)
-#define TST_EXP_EXPR(EXPR, FMT, ...) \
- tst_res_(__FILE__, __LINE__, (EXPR) ? TPASS : TFAIL, "Expect: " FMT, ##__VA_ARGS__);
+#define TST_EXP_EXPR_(EXPR, SEXPR, ...) \
+ tst_res_(__FILE__, __LINE__, (EXPR) ? TPASS : TFAIL, \
+ TST_FMT_("Expect: " TST_2_(dummy, ##__VA_ARGS__, SEXPR), __VA_ARGS__))
+
+#define TST_EXP_EXPR(EXPR, ...) TST_EXP_EXPR_(EXPR, #EXPR, ##__VA_ARGS__)
#endif /* TST_TEST_MACROS_H__ */
--
2.34.1
More information about the ltp
mailing list