提交 7315189e 编写于 作者: M Michal Privoznik

vboxsnapshotxmltest: Don't write to a file in abs_srcdir

In the test, the snapshot XML is written into a file that's located
under:

  abs_srcdir/vboxsnapshotxmldata/testResult.vbox

However, the abs_srcdir doesn't have to be necessarily writable. It
should have been abs_builddir instead. Moreover, the label in the func
creating the file is called 'fail' while it fulfils the duty of
'cleanup' label.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 e5f5805f
......@@ -59,38 +59,41 @@ testCompareXMLtoXMLFiles(const char *xml)
char *pathResult = NULL;
int ret = -1;
virVBoxSnapshotConfMachinePtr machine = NULL;
if (virAsprintf(&pathResult, "%s/vboxsnapshotxmldata/testResult.vbox",
abs_srcdir) < 0)
if (VIR_STRDUP(pathResult,
abs_builddir "/vboxsnapshotxmldata/testResult.vbox") < 0)
return -1;
if (virFileMakePath(abs_builddir "/vboxsnapshotxmldata") < 0)
goto cleanup;
if (virtTestLoadFile(xml, &xmlData) < 0)
goto fail;
goto cleanup;
if (!(machine = virVBoxSnapshotConfLoadVboxFile(xml, (char*)"")))
goto fail;
goto cleanup;
if (virVBoxSnapshotConfSaveVboxFile(machine, pathResult) < 0)
goto fail;
goto cleanup;
if (virtTestLoadFile(pathResult, &actual) < 0)
goto fail;
if (unlink(pathResult) < 0)
goto fail;
goto cleanup;
if (!(actual = testFilterXML(actual)))
goto fail;
goto cleanup;
if (!(xmlData = testFilterXML(xmlData)))
goto fail;
goto cleanup;
if (STRNEQ(actual, xmlData)) {
virtTestDifference(stderr, xmlData, actual);
goto fail;
goto cleanup;
}
ret = 0;
fail:
cleanup:
unlink(pathResult);
rmdir(abs_builddir "/vboxsnapshotxmldata");
VIR_FREE(xmlData);
VIR_FREE(actual);
virVBoxSnapshotConfMachineFree(machine);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册