[libvirt] [PATCH] tests: Use system() for test-wrap-argv.pl

Ján Tomko jtomko at redhat.com
Thu Apr 21 07:24:41 UTC 2016


On Wed, Apr 20, 2016 at 01:33:00PM -0400, Cole Robinson wrote:
> virCommand doesn't buy us anything here, and this simplifies the
> code. There's another usage of system() in testutils.c already FWIW,
> though it predates virCommand
> ---
> Had this sitting in a branch from an earlier discussion... I figure
> system() is safe in the test suite but I'm not going to argue if
> someone feels strongly the other way
> 
>  tests/testutils.c | 26 ++++++--------------------
>  1 file changed, 6 insertions(+), 20 deletions(-)
> 
> diff --git a/tests/testutils.c b/tests/testutils.c
> index 79d0763..7664b06 100644
> --- a/tests/testutils.c
> +++ b/tests/testutils.c
> @@ -432,28 +432,14 @@ virtTestCaptureProgramOutput(const char *const argv[] ATTRIBUTE_UNUSED,
>  static int
>  virTestRewrapFile(const char *filename)
>  {
> -    int ret = -1;
> -    char *outbuf = NULL;
> -    char *script = NULL;
> -    virCommandPtr cmd = NULL;
> -
> -    if (virAsprintf(&script, "%s/test-wrap-argv.pl", abs_srcdir) < 0)
> -        goto cleanup;
> -
> -    cmd = virCommandNewArgList(script, filename, NULL);
> -    virCommandSetOutputBuffer(cmd, &outbuf);
> -    if (virCommandRun(cmd, NULL) < 0)
> -        goto cleanup;
> +    char *cmd;
>  
> -    if (virFileWriteStr(filename, outbuf, 0666) < 0)
> -        goto cleanup;
> +    /* The 'echo' syntax lets us read and write the file in one shot */
> +    if (virAsprintf(&cmd, "echo \"$(%s/test-wrap-argv.pl %s)\" > %s",
> +                    abs_srcdir, filename, filename) < 0)

Eww,

Jan




More information about the libvir-list mailing list