* [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro
@ 2021-08-30 7:09 zhanglianjie
2021-08-30 9:55 ` Li Wang
2021-08-30 14:17 ` Cyril Hrubis
0 siblings, 2 replies; 3+ messages in thread
From: zhanglianjie @ 2021-08-30 7:09 UTC (permalink / raw)
To: ltp
Add TST_EXP_VAL to determine whether the return value
is equal to the given value.
Signed-off-by: zhanglianjie <zhanglianjie@uniontech.com>
diff --git a/include/tst_test_macros.h b/include/tst_test_macros.h
index 50598aa15..0ccc01f49 100644
--- a/include/tst_test_macros.h
+++ b/include/tst_test_macros.h
@@ -132,6 +132,34 @@ extern void *TST_RET_PTR;
TST_MSG_(TPASS, " passed", #SCALL, ##__VA_ARGS__); \
} while (0) \
+
+#define TST_EXP_VAL_SILENT_(SCALL, SSCALL, VAL, ...) \
+ do { \
+ TEST(SCALL); \
+ \
+ TST_PASS = 0; \
+ \
+ if (TST_RET != VAL) { \
+ TST_MSGP_(TFAIL | TTERRNO, " retval not %ld", \
+ (long )VAL, SSCALL, ##__VA_ARGS__); \
+ break; \
+ } \
+ \
+ TST_PASS = 1; \
+ \
+ } while (0)
+
+#define TST_EXP_VAL_SILENT(SCALL, VAL, ...) TST_EXP_VAL_SILENT_(SCALL, #SCALL, VAL, ##__VA_ARGS__)
+
+#define TST_EXP_VAL(SCALL, VAL, ...) \
+ do { \
+ TST_EXP_VAL_SILENT(SCALL, VAL, ##__VA_ARGS__); \
+ \
+ if (TST_PASS) \
+ TST_MSG_(TPASS, " passed", #SCALL, ##__VA_ARGS__); \
+ \
+ } while(0)
+
#define TST_EXP_FAIL_(PASS_COND, SCALL, SSCALL, ERRNO, ...) \
do { \
TEST(SCALL); \
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro
2021-08-30 7:09 [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro zhanglianjie
@ 2021-08-30 9:55 ` Li Wang
2021-08-30 14:17 ` Cyril Hrubis
1 sibling, 0 replies; 3+ messages in thread
From: Li Wang @ 2021-08-30 9:55 UTC (permalink / raw)
To: ltp
On Mon, Aug 30, 2021 at 3:10 PM zhanglianjie <zhanglianjie@uniontech.com>
wrote:
> Add TST_EXP_VAL to determine whether the return value
> is equal to the given value.
>
> Signed-off-by: zhanglianjie <zhanglianjie@uniontech.com>
>
Reviewed-by: Li Wang <liwang@redhat.com>
>
> diff --git a/include/tst_test_macros.h b/include/tst_test_macros.h
> index 50598aa15..0ccc01f49 100644
> --- a/include/tst_test_macros.h
> +++ b/include/tst_test_macros.h
> @@ -132,6 +132,34 @@ extern void *TST_RET_PTR;
> TST_MSG_(TPASS, " passed", #SCALL,
> ##__VA_ARGS__); \
> } while (0)
> \
>
> +
> +#define TST_EXP_VAL_SILENT_(SCALL, SSCALL, VAL, ...)
> \
> + do {
> \
> + TEST(SCALL);
> \
> +
> \
> + TST_PASS = 0;
> \
> +
> \
> + if (TST_RET != VAL) {
> \
> + TST_MSGP_(TFAIL | TTERRNO, " retval not %ld",
> \
> + (long )VAL, SSCALL, ##__VA_ARGS__);
> \
> + break;
> \
> + }
> \
> +
> \
> + TST_PASS = 1;
> \
> +
> \
> + } while (0)
> +
> +#define TST_EXP_VAL_SILENT(SCALL, VAL, ...) TST_EXP_VAL_SILENT_(SCALL,
> #SCALL, VAL, ##__VA_ARGS__)
> +
> +#define TST_EXP_VAL(SCALL, VAL, ...)
> \
> + do {
> \
> + TST_EXP_VAL_SILENT(SCALL, VAL, ##__VA_ARGS__);
> \
> +
> \
> + if (TST_PASS)
> \
> + TST_MSG_(TPASS, " passed", #SCALL,
> ##__VA_ARGS__); \
> +
> \
> + } while(0)
> +
> #define TST_EXP_FAIL_(PASS_COND, SCALL, SSCALL, ERRNO, ...)
> \
> do {
> \
> TEST(SCALL);
> \
> --
> 2.20.1
>
>
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>
>
--
Regards,
Li Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20210830/f0150db9/attachment.htm>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro
2021-08-30 7:09 [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro zhanglianjie
2021-08-30 9:55 ` Li Wang
@ 2021-08-30 14:17 ` Cyril Hrubis
1 sibling, 0 replies; 3+ messages in thread
From: Cyril Hrubis @ 2021-08-30 14:17 UTC (permalink / raw)
To: ltp
Hi!
> +#define TST_EXP_VAL_SILENT_(SCALL, SSCALL, VAL, ...) \
> + do { \
> + TEST(SCALL); \
> + \
> + TST_PASS = 0; \
> + \
> + if (TST_RET != VAL) { \
> + TST_MSGP_(TFAIL | TTERRNO, " retval not %ld", \
> + (long )VAL, SSCALL, ##__VA_ARGS__); \
> + break; \
> + } \
> + \
> + TST_PASS = 1; \
> + \
> + } while (0)
> +
> +#define TST_EXP_VAL_SILENT(SCALL, VAL, ...) TST_EXP_VAL_SILENT_(SCALL, #SCALL, VAL, ##__VA_ARGS__)
> +
> +#define TST_EXP_VAL(SCALL, VAL, ...) \
> + do { \
> + TST_EXP_VAL_SILENT(SCALL, VAL, ##__VA_ARGS__); \
Shouldn't we call the VAL_SILENT_() variant here and stringify the SCALL
here? Otherwise I guess that this will introduce the same problem I was
fixing in the "stringify early" patch.
Other than this it looks good.
--
Cyril Hrubis
chrubis@suse.cz
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-08-30 14:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-30 7:09 [LTP] [PATCH v2] tst_test_macros.h: Add TST_EXP_VAL macro zhanglianjie
2021-08-30 9:55 ` Li Wang
2021-08-30 14:17 ` Cyril Hrubis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox