[LTP] [PATCH v1] Add TST_EXP_FAIL_PTR

Wei Gao wegao@suse.com
Wed Jan 17 09:07:18 CET 2024


On Tue, Jan 16, 2024 at 06:49:26PM +0100, Petr Vorel wrote:
> Hi Wei,
> 
> > Signed-off-by: Wei Gao <wegao@suse.com>
> > ---
> >  include/tst_test_macros.h | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> 
> > This is draft patch and should rebase after following patch merge.
> > https://patchwork.ozlabs.org/project/ltp/patch/20240103115700.14585-1-chrubis@suse.cz/
> 
> Patch was accepted, please rebase. Also, please add at least one test which
> uses it.
> 
> Also, I wonder if we need TST_EXP_PASS_PTR().
Sure, i can create another patch for TST_EXP_PASS_PTR.
> 
> > diff --git a/include/tst_test_macros.h b/include/tst_test_macros.h
> > index 3f4f9f11d..6e45e0b27 100644
> > --- a/include/tst_test_macros.h
> > +++ b/include/tst_test_macros.h
> > @@ -212,6 +212,26 @@ extern void *TST_RET_PTR;
> >  		}                                                              \
> >  	} while (0)
> 
> > +#define TST_EXP_FAIL_SILENT_PTR_(SCALL, SSCALL, ERRNO, ...)             \
> > +	do {                                                                   \
> > +		TESTPTR(SCALL);                                                   \
> > +		                                                               \
> > +		TST_PASS = 0;                                                  \
> > +		                                                               \
> > +		if (TST_RET_PTR) {                                               \
> > +			TST_MSG_(TFAIL, " succeeded", SSCALL, ##__VA_ARGS__);  \
> > +		        break;                                                 \
> > +		}                                                              \
> > +		                                                               \
> > +		if (TST_ERR == (ERRNO)) {                                      \
> > +			TST_PASS = 1;                                          \
> > +		} else {                                                       \
> > +			TST_MSGP_(TFAIL | TTERRNO, " expected %s",             \
> > +				  tst_strerrno(ERRNO),                         \
> > +				  SSCALL, ##__VA_ARGS__);                      \
> > +		}                                                              \
> 
> Maybe follow the pattern of already used tests (break saves else clause)?
>  		if (TST_ERR != (ERRNO)) {                                      \
> 			TST_MSGP_(TFAIL | TTERRNO, " expected %s",             \
> 				  tst_strerrno(ERRNO),                         \
> 				  SSCALL, ##__VA_ARGS__);                      \
> 			break;                                                 \
> 		}                                                              \
>                                                                                \
> 		TST_PASS = 1;                                                  \
> 
> 
> > +	} while (0)
> > +


More information about the ltp mailing list