public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: Wei Gao <wegao@suse.com>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v4 1/3] lib: TST_EXP_{FAIL,PASS}_PTR_{NULL,VOID}
Date: Tue, 26 Mar 2024 11:54:38 +0100	[thread overview]
Message-ID: <ZgKpbr1tZwhMvZNF@yuki> (raw)
In-Reply-To: <20240208013224.859-2-wegao@suse.com>

Hi!
> +#define TST_EXP_FAIL_SILENT_PTR_(SCALL, SSCALL, FAIL_PTR_VAL,                  \
> +	ERRNOS, ERRNOS_CNT, ...)                                               \
> +	do {                                                                   \
> +		TESTPTR(SCALL);                                                \
> +		                                                               \
> +		TST_PASS = 0;                                                  \
> +		                                                               \
> +		if (TST_RET_PTR != FAIL_PTR_VAL) {                             \
> +			TST_MSG_(TFAIL, " succeeded", SSCALL, ##__VA_ARGS__);  \
> +		        break;                                                 \
> +		}                                                              \
> +		                                                               \
> +		if (!tst_errno_in_set(TST_ERR, ERRNOS, ERRNOS_CNT)) {          \
> +			char tst_str_buf__[ERRNOS_CNT * 20];                   \
> +			TST_MSGP_(TFAIL | TTERRNO, " expected %s",             \
> +				  tst_errno_names(tst_str_buf__,               \
> +						  ERRNOS, ERRNOS_CNT),         \
> +				  SSCALL, ##__VA_ARGS__);                      \
> +			break;                                                 \
> +		}                                                              \
> +                                                                               \
> +		TST_PASS = 1;                                                  \
> +                                                                               \
> +	} while (0)
> +
>  #define TST_EXP_FAIL_ARR_(SCALL, SSCALL, EXP_ERRS, EXP_ERRS_CNT, ...)          \
>  	do {                                                                   \
>  		TST_EXP_FAIL_SILENT_(TST_RET == 0, SCALL, SSCALL,              \
> @@ -258,6 +283,40 @@ const char *tst_errno_names(char *buf, const int *exp_errs, int exp_errs_cnt);
>  		TST_EXP_FAIL2_ARR_(SCALL, #SCALL, EXP_ERRS,                    \
>  		                  ARRAY_SIZE(EXP_ERRS), ##__VA_ARGS__);
>  
> +#define TST_EXP_FAIL_PTR_NULL(SCALL, EXP_ERR, ...)                             \
> +	do {                                                                   \
> +		int tst_exp_err__ = EXP_ERR;                                   \
> +		TST_EXP_FAIL_SILENT_PTR_(SCALL, #SCALL, NULL,                  \
> +			&tst_exp_err__, 1, ##__VA_ARGS__);                     \
> +		if (TST_PASS)                                                  \
> +			TST_MSG_(TPASS | TTERRNO, " ", #SCALL, ##__VA_ARGS__); \
> +	} while (0)

Given that the if (TST_PASS) message is same in all the cases we could
as well add TST_EX_FAIL_PTR_() and simplify all the
TST_EXP_FAIL_PTR_{NULL,ARR_NULL,VOID,ARR_VOID} to be build on the top of
that.

Other than that it looks good.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  parent reply	other threads:[~2024-03-26 10:55 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-11  1:26 [LTP] [PATCH v1] Add TST_EXP_FAIL_PTR Wei Gao via ltp
2024-01-16 17:49 ` Petr Vorel
2024-01-17  8:07   ` Wei Gao via ltp
2024-01-17  8:04 ` [LTP] [PATCH v2] " Wei Gao via ltp
2024-01-17  9:49   ` Petr Vorel
2024-01-30 12:21     ` Petr Vorel
2024-01-17 12:52   ` [LTP] [PATCH v3 0/2] lib: TST_EXP_FAIL_PTR Wei Gao via ltp
2024-01-17 12:52     ` [LTP] [PATCH v3 1/2] " Wei Gao via ltp
2024-01-23  8:45       ` Petr Vorel
2024-01-23 10:41       ` Cyril Hrubis
2024-01-30 12:20         ` Petr Vorel
2024-01-17 12:52     ` [LTP] [PATCH v3 2/2] getcwd01: Implement .test_variants Wei Gao via ltp
2024-01-23  9:45       ` Petr Vorel
2024-02-08  1:32     ` [LTP] [PATCH v4 0/3] lib: TST_EXP_{FAIL,PASS}_PTR_{NULL,VOID} Wei Gao via ltp
2024-02-08  1:32       ` [LTP] [PATCH v4 1/3] " Wei Gao via ltp
2024-03-20 10:47         ` Petr Vorel
2024-03-26 10:54         ` Cyril Hrubis [this message]
2024-02-08  1:32       ` [LTP] [PATCH v4 2/3] shmat02.c: Use TST_EXP_FAIL_PTR_VOID Wei Gao via ltp
2024-03-20 10:47         ` Petr Vorel
2024-02-08  1:32       ` [LTP] [PATCH v4 3/3] realpath01.c: use TST_EXP_FAIL_PTR_NULL Wei Gao via ltp
2024-03-20 10:47         ` Petr Vorel
2024-03-27  3:49       ` [LTP] [PATCH v5 0/3] lib: TST_EXP_{FAIL,PASS}_PTR_{NULL,VOID} Wei Gao via ltp
2024-03-27  3:49         ` [LTP] [PATCH v5 1/3] " Wei Gao via ltp
2024-03-28 11:29           ` Petr Vorel
2024-03-28 11:49           ` Petr Vorel
2024-03-28 11:57             ` Petr Vorel
2024-03-28 12:11           ` Petr Vorel
2024-03-27  3:49         ` [LTP] [PATCH v5 2/3] shmat02.c: Use TST_EXP_FAIL_PTR_VOID Wei Gao via ltp
2024-03-27  3:49         ` [LTP] [PATCH v5 3/3] realpath01.c: use TST_EXP_FAIL_PTR_NULL Wei Gao via ltp
2024-04-03  3:28         ` [LTP] [PATCH v6 0/3] lib: TST_EXP_{FAIL,PASS}_PTR_{NULL,VOID} Wei Gao via ltp
2024-04-03  3:28           ` [LTP] [PATCH v6 1/3] " Wei Gao via ltp
2024-04-04 13:51             ` Cyril Hrubis
2024-04-04 16:01               ` Petr Vorel
2024-04-05  8:53                 ` Cyril Hrubis
2024-04-05 10:28                   ` Petr Vorel
2024-04-05 11:23                     ` Cyril Hrubis
2024-04-05 14:03                       ` Petr Vorel
2024-04-07 23:31                         ` Wei Gao via ltp
2024-04-03  3:28           ` [LTP] [PATCH v6 2/3] shmat02.c: Use TST_EXP_FAIL_PTR_VOID Wei Gao via ltp
2024-04-03  3:28           ` [LTP] [PATCH v6 3/3] realpath01.c: use TST_EXP_FAIL_PTR_NULL Wei Gao via ltp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZgKpbr1tZwhMvZNF@yuki \
    --to=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=wegao@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox