tests: Fix detection of expected errors

This commit is contained in:
Jiri Denemark 2010-11-29 14:11:53 +01:00
parent 2f723ea74d
commit 645c92297a
2 changed files with 8 additions and 15 deletions

View File

@ -25,7 +25,7 @@ static char *abs_srcdir;
static int testCompareXMLToXMLFiles(const char *inxml,
const char *outxml,
bool expect_warning) {
bool expect_error) {
char inXmlData[MAX_FILE];
char *inXmlPtr = &(inXmlData[0]);
char outXmlData[MAX_FILE];
@ -33,26 +33,21 @@ static int testCompareXMLToXMLFiles(const char *inxml,
char *actual = NULL;
int ret = -1;
virNWFilterDefPtr dev = NULL;
char *log;
if (virtTestLoadFile(inxml, &inXmlPtr, MAX_FILE) < 0)
goto fail;
if (virtTestLoadFile(outxml, &outXmlPtr, MAX_FILE) < 0)
goto fail;
virResetLastError();
if (!(dev = virNWFilterDefParseString(NULL, inXmlData)))
goto fail;
if ((log = virtTestLogContentAndReset()) == NULL)
if (!!virGetLastError() != expect_error)
goto fail;
if ((*log != '\0') != expect_warning) {
free(log);
goto fail;
}
free(log);
if (expect_warning) {
if (expect_error) {
/* need to suppress the errors */
virResetLastError();
}

View File

@ -84,6 +84,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
free(virtTestLogContentAndReset());
virResetLastError();
if (qemudBuildCommandLine(conn, &driver,
vmdef, &monitor_chr, 0, flags,
@ -91,11 +92,8 @@ static int testCompareXMLToArgvFiles(const char *xml,
NULL, NULL, migrateFrom, NULL) < 0)
goto fail;
if ((log = virtTestLogContentAndReset()) == NULL)
goto fail;
if (!!strstr(log, ": error :") != expectError) {
if (virTestGetDebug())
if (!!virGetLastError() != expectError) {
if (virTestGetDebug() && (log = virtTestLogContentAndReset()))
fprintf(stderr, "\n%s", log);
goto fail;
}