diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index ca11e90ebb..a5dccd5afa 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -50,7 +50,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml, bool live) goto fail; if (STRNEQ(outXmlData, actual)) { - virtTestDifference(stderr, outXmlData, actual); + virtTestDifferenceFull(stderr, outXmlData, outxml, actual, inxml); goto fail; } diff --git a/tests/testutils.c b/tests/testutils.c index 9d6980f9ce..9a79f98018 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -450,14 +450,19 @@ virtTestCaptureProgramOutput(const char *const argv[] ATTRIBUTE_UNUSED, /** * @param stream: output stream write to differences to * @param expect: expected output text + * @param expectName: name designator of the expected text * @param actual: actual output text + * @param actualName: name designator of the actual text * - * Display expected and actual output text, trimmed to - * first and last characters at which differences occur + * Display expected and actual output text, trimmed to first and last + * characters at which differences occur. Displays names of the text strings if + * non-NULL. */ -int virtTestDifference(FILE *stream, - const char *expect, - const char *actual) +int virtTestDifferenceFull(FILE *stream, + const char *expect, + const char *expectName, + const char *actual, + const char *actualName) { const char *expectStart; const char *expectEnd; @@ -495,11 +500,15 @@ int virtTestDifference(FILE *stream, } /* Show the trimmed differences */ + if (expectName) + fprintf(stream, "\nIn '%s':", expectName); fprintf(stream, "\nOffset %d\nExpect [", (int) (expectStart - expect)); if ((expectEnd - expectStart + 1) && fwrite(expectStart, (expectEnd-expectStart+1), 1, stream) != 1) return -1; fprintf(stream, "]\n"); + if (actualName) + fprintf(stream, "In '%s':\n", actualName); fprintf(stream, "Actual ["); if ((actualEnd - actualStart + 1) && fwrite(actualStart, (actualEnd-actualStart+1), 1, stream) != 1) @@ -512,6 +521,22 @@ int virtTestDifference(FILE *stream, return 0; } +/** + * @param stream: output stream write to differences to + * @param expect: expected output text + * @param actual: actual output text + * + * Display expected and actual output text, trimmed to + * first and last characters at which differences occur + */ +int virtTestDifference(FILE *stream, + const char *expect, + const char *actual) +{ + return virtTestDifferenceFull(stream, expect, NULL, actual, NULL); +} + + /** * @param stream: output stream write to differences to * @param expect: expected output text diff --git a/tests/testutils.h b/tests/testutils.h index ad28ea78c0..d78818d34e 100644 --- a/tests/testutils.h +++ b/tests/testutils.h @@ -64,6 +64,11 @@ void virtTestClearCommandPath(char *cmdset); int virtTestDifference(FILE *stream, const char *expect, const char *actual); +int virtTestDifferenceFull(FILE *stream, + const char *expect, + const char *expectName, + const char *actual, + const char *actualName); int virtTestDifferenceBin(FILE *stream, const char *expect, const char *actual,