[LTP] [PATCH v2 4/5] lib: Implement SAFE_CMD() macro (new API only)
Li Wang
liwang@redhat.com
Mon Mar 30 15:01:18 CEST 2020
On Mon, Mar 30, 2020 at 8:43 PM Petr Vorel <pvorel@suse.cz> wrote:
> Reviewed-by: Li Wang <liwang@redhat.com>
> Reviewed-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> doc/test-writing-guidelines.txt | 3 +++
> include/tst_safe_macros.h | 18 ++++++++++++++++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/doc/test-writing-guidelines.txt
> b/doc/test-writing-guidelines.txt
> index 7069d3c8f..6f1eee490 100644
> --- a/doc/test-writing-guidelines.txt
> +++ b/doc/test-writing-guidelines.txt
> @@ -1283,6 +1283,9 @@ return value is '255' if 'execvp()' failed with
> 'ENOENT' and '254' otherwise.
> 'stdout_path' and 'stderr_path' determine where to redirect the program
> stdout and stderr I/O streams.
>
> +The 'SAFE_CMD()' macro can be used automatic handling non zero exits
> (exits
> +with 'TBROK') or 'ENOENT' (exits with 'TCONF').
> +
> .Example
> [source,c]
>
> -------------------------------------------------------------------------------
> diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
> index d95d26219..38eb67d1d 100644
> --- a/include/tst_safe_macros.h
> +++ b/include/tst_safe_macros.h
> @@ -21,6 +21,7 @@
> #include <grp.h>
>
> #include "safe_macros_fn.h"
> +#include "tst_cmd.h"
>
> #define SAFE_BASENAME(path) \
> safe_basename(__FILE__, __LINE__, NULL, (path))
> @@ -534,4 +535,21 @@ int safe_personality(const char *filename, unsigned
> int lineno,
> void safe_unshare(const char *file, const int lineno, int flags);
> #define SAFE_UNSHARE(flags) safe_unshare(__FILE__, __LINE__, (flags))
>
> +void safe_cmd(const char *file, const int lineno, const char *const
> argv[],
> + const char *stdout_path, const char
> *stderr_path)
> +{
> + int rval;
> +
> + switch ((rval = tst_run_cmd(argv, stdout_path, stderr_path,
> + TST_RUN_CMD_PASS_EXIT_VAL |
> + TST_RUN_CMD_CHECK_CMD))) {
>
This should be TST_CMD_TCONF_ON_MISSING ^.
I'd help to build&run the whole patches tomorrow, anything wrong if I can
find will reply to you then.
--
Regards,
Li Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20200330/d9c5a717/attachment.htm>
More information about the ltp
mailing list