qemuxmlconftest: Populate output/error file only when needed

Populate the output filename strings only when the files are expected to
exist, so that other logic can be based on the presence of the strings
rather than having to re-check the test flags for expected state.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
Peter Krempa 2024-01-23 13:35:39 +01:00
parent f997fcca71
commit 3e11939e6e
1 changed files with 9 additions and 4 deletions

View File

@ -585,7 +585,7 @@ testInfoCheckDuplicate(testQemuInfo *info)
if (info->flags & FLAG_ALLOW_DUPLICATE_OUTPUT)
return 0;
if (info->flags & (FLAG_EXPECT_FAILURE | FLAG_EXPECT_PARSE_ERROR))
if (!path)
path = info->errfile;
if (g_hash_table_contains(info->conf->duplicateTests, path)) {
@ -994,9 +994,14 @@ testRun(const char *name,
va_end(ap);
info->infile = g_strdup_printf("%s/qemuxml2argvdata/%s.xml", abs_srcdir, info->name);
info->outfile = g_strdup_printf("%s/qemuxml2argvdata/%s%s.args", abs_srcdir, info->name, suffix);
info->errfile = g_strdup_printf("%s/qemuxml2argvdata/%s%s.err", abs_srcdir, info->name, suffix);
info->out_xml_inactive = g_strdup_printf("%s/qemuxml2xmloutdata/%s%s.xml", abs_srcdir, info->name, suffix);
if (info->flags & (FLAG_EXPECT_FAILURE | FLAG_EXPECT_PARSE_ERROR)) {
info->errfile = g_strdup_printf("%s/qemuxml2argvdata/%s%s.err", abs_srcdir, info->name, suffix);
} else {
info->outfile = g_strdup_printf("%s/qemuxml2argvdata/%s%s.args", abs_srcdir, info->name, suffix);
}
if (!(info->flags & FLAG_EXPECT_PARSE_ERROR))
info->out_xml_inactive = g_strdup_printf("%s/qemuxml2xmloutdata/%s%s.xml", abs_srcdir, info->name, suffix);
virTestRunLog(ret, name_parse, testXMLParse, info);
virTestRunLog(ret, name_xml, testCompareDef2XML, info);