1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-09-20 05:44:53 +03:00

src/tests: use g_autoptr for virNWFilterDef and virNWFilterRuleDef

Use g_autoptr() for virNWFilterDef and virNWFilterRuleDef and remove
unnecessary label.

Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiang Jiacheng
2023-01-10 19:29:26 +08:00
committed by Ján Tomko
parent 94432a486f
commit e5b065b40e
2 changed files with 26 additions and 40 deletions

View File

@@ -2384,7 +2384,7 @@ virNWFilterRuleParse(xmlNodePtr node)
int priority; int priority;
xmlNodePtr cur; xmlNodePtr cur;
virNWFilterRuleDef *ret; g_autoptr(virNWFilterRuleDef) ret = NULL;
ret = g_new0(virNWFilterRuleDef, 1); ret = g_new0(virNWFilterRuleDef, 1);
@@ -2397,28 +2397,28 @@ virNWFilterRuleParse(xmlNodePtr node)
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", "%s",
_("rule node requires action attribute")); _("rule node requires action attribute"));
goto err_exit; return NULL;
} }
if ((ret->action = virNWFilterRuleActionTypeFromString(action)) < 0) { if ((ret->action = virNWFilterRuleActionTypeFromString(action)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
"%s", "%s",
_("unknown rule action attribute value")); _("unknown rule action attribute value"));
goto err_exit; return NULL;
} }
if (!direction) { if (!direction) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", "%s",
_("rule node requires direction attribute")); _("rule node requires direction attribute"));
goto err_exit; return NULL;
} }
if ((ret->tt = virNWFilterRuleDirectionTypeFromString(direction)) < 0) { if ((ret->tt = virNWFilterRuleDirectionTypeFromString(direction)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
"%s", "%s",
_("unknown rule direction attribute value")); _("unknown rule direction attribute value"));
goto err_exit; return NULL;
} }
ret->priority = MAX_RULE_PRIORITY / 2; ret->priority = MAX_RULE_PRIORITY / 2;
@@ -2455,10 +2455,10 @@ virNWFilterRuleParse(xmlNodePtr node)
if (virNWFilterRuleDetailsParse(cur, if (virNWFilterRuleDetailsParse(cur,
ret, ret,
virAttr[i].att) < 0) { virAttr[i].att) < 0) {
goto err_exit; return NULL;
} }
if (virNWFilterRuleValidate(ret) < 0) if (virNWFilterRuleValidate(ret) < 0)
goto err_exit; return NULL;
break; break;
} }
if (!found) { if (!found) {
@@ -2476,11 +2476,7 @@ virNWFilterRuleParse(xmlNodePtr node)
virNWFilterRuleDefFixup(ret); virNWFilterRuleDefFixup(ret);
return ret; return g_steal_pointer(&ret);
err_exit:
g_clear_pointer(&ret, virNWFilterRuleDefFree);
return NULL;
} }
@@ -2561,7 +2557,7 @@ virNWFilterIsAllowedChain(const char *chainname)
static virNWFilterDef * static virNWFilterDef *
virNWFilterDefParseXML(xmlXPathContextPtr ctxt) virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
{ {
virNWFilterDef *ret; g_autoptr(virNWFilterDef) ret = NULL;
xmlNodePtr curr = ctxt->node; xmlNodePtr curr = ctxt->node;
g_autofree char *uuid = NULL; g_autofree char *uuid = NULL;
g_autofree char *chain = NULL; g_autofree char *chain = NULL;
@@ -2576,7 +2572,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
if (!ret->name) { if (!ret->name) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("filter has no name")); "%s", _("filter has no name"));
goto cleanup; return NULL;
} }
chain_pri_s = virXPathString("string(./@priority)", ctxt); chain_pri_s = virXPathString("string(./@priority)", ctxt);
@@ -2585,7 +2581,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
virReportError(VIR_ERR_INVALID_ARG, virReportError(VIR_ERR_INVALID_ARG,
_("Could not parse chain priority '%s'"), _("Could not parse chain priority '%s'"),
chain_pri_s); chain_pri_s);
goto cleanup; return NULL;
} }
if (chain_priority < NWFILTER_MIN_FILTER_PRIORITY || if (chain_priority < NWFILTER_MIN_FILTER_PRIORITY ||
chain_priority > NWFILTER_MAX_FILTER_PRIORITY) { chain_priority > NWFILTER_MAX_FILTER_PRIORITY) {
@@ -2595,7 +2591,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
chain_priority, chain_priority,
NWFILTER_MIN_FILTER_PRIORITY, NWFILTER_MIN_FILTER_PRIORITY,
NWFILTER_MAX_FILTER_PRIORITY); NWFILTER_MAX_FILTER_PRIORITY);
goto cleanup; return NULL;
} }
} }
@@ -2603,7 +2599,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
if (chain) { if (chain) {
name_prefix = virNWFilterIsAllowedChain(chain); name_prefix = virNWFilterIsAllowedChain(chain);
if (name_prefix == NULL) if (name_prefix == NULL)
goto cleanup; return NULL;
ret->chainsuffix = g_steal_pointer(&chain); ret->chainsuffix = g_steal_pointer(&chain);
if (chain_pri_s) { if (chain_pri_s) {
@@ -2626,13 +2622,13 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
if (virUUIDGenerate(ret->uuid) < 0) { if (virUUIDGenerate(ret->uuid) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("unable to generate uuid")); "%s", _("unable to generate uuid"));
goto cleanup; return NULL;
} }
} else { } else {
if (virUUIDParse(uuid, ret->uuid) < 0) { if (virUUIDParse(uuid, ret->uuid) < 0) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
"%s", _("malformed uuid element")); "%s", _("malformed uuid element"));
goto cleanup; return NULL;
} }
} }
@@ -2645,12 +2641,12 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
if (virXMLNodeNameEqual(curr, "rule")) { if (virXMLNodeNameEqual(curr, "rule")) {
if (!(entry->rule = virNWFilterRuleParse(curr))) { if (!(entry->rule = virNWFilterRuleParse(curr))) {
virNWFilterEntryFree(entry); virNWFilterEntryFree(entry);
goto cleanup; return NULL;
} }
} else if (virXMLNodeNameEqual(curr, "filterref")) { } else if (virXMLNodeNameEqual(curr, "filterref")) {
if (!(entry->include = virNWFilterIncludeParse(curr))) { if (!(entry->include = virNWFilterIncludeParse(curr))) {
virNWFilterEntryFree(entry); virNWFilterEntryFree(entry);
goto cleanup; return NULL;
} }
} }
@@ -2663,11 +2659,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
curr = curr->next; curr = curr->next;
} }
return ret; return g_steal_pointer(&ret);
cleanup:
virNWFilterDefFree(ret);
return NULL;
} }

View File

@@ -16,31 +16,25 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
bool expect_error) bool expect_error)
{ {
g_autofree char *actual = NULL; g_autofree char *actual = NULL;
int ret = -1; g_autoptr(virNWFilterDef) def = NULL;
virNWFilterDef *dev = NULL;
virResetLastError(); virResetLastError();
if (!(dev = virNWFilterDefParse(NULL, inxml, 0))) { if (!(def = virNWFilterDefParse(NULL, inxml, 0))) {
if (expect_error) { if (expect_error) {
virResetLastError(); virResetLastError();
goto done; return 0;
} }
goto fail; return -1;
} }
if (!(actual = virNWFilterDefFormat(dev))) if (!(actual = virNWFilterDefFormat(def)))
goto fail; return -1;
if (virTestCompareToFile(actual, outxml) < 0) if (virTestCompareToFile(actual, outxml) < 0)
goto fail; return -1;
done: return 0;
ret = 0;
fail:
virNWFilterDefFree(dev);
return ret;
} }
typedef struct test_parms { typedef struct test_parms {