Commit 843a70a changed test-wrap-argv.pl to use /usr/bin/env perl instead of /usr/bin/perl However when called from qemuxml2argvtest with VIR_TEST_REGENERATE_OUTPUT, PATH is set to '/bin'. Find the path to perl early in virTestMain, in case we are going to need it later after we've overridden PATH. --- tests/testutils.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/testutils.c b/tests/testutils.c index be61e4d..d699e1f 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -83,6 +83,7 @@ static size_t testCounter; static virBitmapPtr testBitmap; char *progname; +static char *perl; bool virTestOOMActive(void) { @@ -441,10 +442,15 @@ virTestRewrapFile(const char *filename) char *script = NULL; virCommandPtr cmd = NULL; + if (!perl) { + fprintf(stderr, "cannot rewrap %s: unable to find perl in path", filename); + return -1; + } + if (virAsprintf(&script, "%s/test-wrap-argv.pl", abs_srcdir) < 0) goto cleanup; - cmd = virCommandNewArgList(script, "--in-place", filename, NULL); + cmd = virCommandNewArgList(perl, script, "--in-place", filename, NULL); if (virCommandRun(cmd, NULL) < 0) goto cleanup; @@ -966,6 +972,9 @@ int virTestMain(int argc, } #endif /* TEST_OOM */ + /* Find perl early because some tests override PATH */ + perl = virFindFileInPath("perl"); + ret = (func)(); virResetLastError(); @@ -974,6 +983,7 @@ int virTestMain(int argc, fprintf(stderr, "%*s", 40 - (int)(testCounter % 40), ""); fprintf(stderr, " %-3zu %s\n", testCounter, ret == 0 ? "OK" : "FAIL"); } + VIR_FREE(perl); return ret; } -- 2.7.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list