]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuxmlconftest: Populate output/error file only when needed
authorPeter Krempa <pkrempa@redhat.com>
Tue, 23 Jan 2024 12:35:39 +0000 (13:35 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 24 Jan 2024 08:19:27 +0000 (09:19 +0100)
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>
tests/qemuxmlconftest.c

index 65953b129b0adfc3201ec02f30c71ffac32d2daf..c3acfb59d583163507ab806a12585bcf855b1373 100644 (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);