tests: Add virtTestCompareToFile

Replaces a common pattern used in many test files
This commit is contained in:
Cole Robinson
2015-04-23 11:14:26 -04:00
parent bdbe26b504
commit ca32929908
32 changed files with 78 additions and 324 deletions

View File

@@ -596,6 +596,39 @@ int virtTestDifferenceBin(FILE *stream,
return 0;
}
/*
* @param strcontent: String input content
* @param filename: File to compare strcontent against
*/
int
virtTestCompareToFile(const char *strcontent,
const char *filename)
{
int ret = -1;
char *filecontent = NULL;
char *fixedcontent = NULL;
if (virtTestLoadFile(filename, &filecontent) < 0)
goto failure;
if (filecontent[strlen(filecontent) - 1] == '\n' &&
strcontent[strlen(strcontent) - 1] != '\n') {
if (virAsprintf(&fixedcontent, "%s\n", strcontent) < 0)
goto failure;
}
if (STRNEQ(fixedcontent ? fixedcontent : strcontent, filecontent)) {
virtTestDifference(stderr, strcontent, filecontent);
goto failure;
}
ret = 0;
failure:
VIR_FREE(fixedcontent);
VIR_FREE(filecontent);
return ret;
}
static void
virtTestErrorFuncQuiet(void *data ATTRIBUTE_UNUSED,
virErrorPtr err ATTRIBUTE_UNUSED)