On 01/08/2016 07:13 PM, Cole Robinson wrote:
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())
ACK (although the whole REGENERATE_OUTPUT thing makes me worry that
someone may be lulled into blindly regenerating the test output in some
case where the test really is catching a regression)
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list