[LTP] [PATCH] tst_test_macros.h: Add TST_EXP_VAL macro

Li Wang liwang@redhat.com
Fri Aug 27 11:27:54 CEST 2021


Hi Lianjie,

Some queries:

Do we have test scenarios for making use of these macros?

And can you write a test to verify the macros you added at the same time?
(just like what we had done in test_macros0*.c)

Btw, you should keep the code indent consistent with the original.
(especially for backlash \)


On Fri, Aug 27, 2021 at 10:31 AM 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>
>
> diff --git a/include/tst_test_macros.h b/include/tst_test_macros.h
> index 50598aa15..d23455362 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/20210827/0939a580/attachment-0001.htm>


More information about the ltp mailing list