[libvirt] [PATCH 1/6] tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT

Cole Robinson crobinso at redhat.com
Sat Jan 9 00:13:20 UTC 2016


Since test files are formatted predictably nowadays, we can make
VIR_TEST_REGENERATE_OUTPUT handle most cases for us with a simple
replacement. test-wrap-argv.pl is still canon, but this bit makes
it easier to confirm test output changes during active development.
---
 tests/testutils.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tests/testutils.c b/tests/testutils.c
index 6645d61..0091fcd 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -469,10 +469,19 @@ virtTestDifferenceFullInternal(FILE *stream,
     actualStart = actual;
     actualEnd = actual + (strlen(actual)-1);
 
-    if (regenerate && virTestGetRegenerate() > 0) {
+    if (regenerate && (virTestGetRegenerate() > 0) && expectName && actual) {
+        char *regencontent;
+
+        /* Try to properly indent qemu argv files */
+        if (!(regencontent = virStringReplace(actual, " -", " \\\n-")))
+            return -1;
+
         if (expectName && actual &&
-            virFileWriteStr(expectName, actual, 0666) < 0)
+            virFileWriteStr(expectName, regencontent, 0666) < 0) {
+            VIR_FREE(regencontent);
             return -1;
+        }
+        VIR_FREE(regencontent);
     }
 
     if (!virTestGetDebug())
-- 
2.5.0




More information about the libvir-list mailing list