]> xenbits.xensource.com Git - libvirt.git/commitdiff
tests: Run test-wrap-argv with REGENERATE_OUTPUT
authorCole Robinson <crobinso@redhat.com>
Wed, 13 Jan 2016 01:26:00 +0000 (20:26 -0500)
committerCole Robinson <crobinso@redhat.com>
Fri, 5 Feb 2016 20:07:07 +0000 (15:07 -0500)
To get properly wrapped output

tests/testutils.c

index 61c5b721b903268be7c138999689f8ffe807c764..506eee7743a511ee90c8a3444caad1993b921ad6 100644 (file)
@@ -433,6 +433,32 @@ virtTestCaptureProgramOutput(const char *const argv[] ATTRIBUTE_UNUSED,
 }
 #endif /* !WIN32 */
 
+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;
+
+    if (virFileWriteStr(filename, outbuf, 0666) < 0)
+        goto cleanup;
+
+    ret = 0;
+ cleanup:
+    VIR_FREE(script);
+    virCommandFree(cmd);
+    VIR_FREE(outbuf);
+    return ret;
+}
 
 /**
  * @param stream: output stream to write differences to
@@ -470,17 +496,15 @@ virtTestDifferenceFullInternal(FILE *stream,
     actualEnd = actual + (strlen(actual)-1);
 
     if (expectName && regenerate && (virTestGetRegenerate() > 0)) {
-        char *regencontent;
-
-        /* Try to properly indent qemu argv files */
-        if (!(regencontent = virStringReplace(actual, " -", " \\\n-")))
+        if (virFileWriteStr(expectName, actual, 0666) < 0) {
+            virDispatchError(NULL);
             return -1;
+        }
 
-        if (virFileWriteStr(expectName, regencontent, 0666) < 0) {
-            VIR_FREE(regencontent);
+        if (virTestRewrapFile(expectName) < 0) {
+            virDispatchError(NULL);
             return -1;
         }
-        VIR_FREE(regencontent);
     }
 
     if (!virTestGetDebug())