summary refs log tree commit diff
path: root/src/settings/plugins
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2016-03-01 16:55:22 +0100
committerMichael Biebl <biebl@debian.org>2016-03-01 16:55:22 +0100
commitc2de0d98ba39e0a1a970d066fd19be786092f376 (patch)
tree3838363c06a6019db6cf1f882ea34ebded63c38b /src/settings/plugins
parent494f296a3baab08522617b24b1f126d8f9a17502 (diff)
Imported Upstream version 1.1.91 upstream/1.1.91
Diffstat (limited to 'src/settings/plugins')
-rw-r--r--src/settings/plugins/ibft/nm-ibft-connection.c2
-rw-r--r--src/settings/plugins/ibft/plugin.c5
-rw-r--r--src/settings/plugins/ibft/reader.c7
-rw-r--r--src/settings/plugins/ibft/tests/test-ibft.c3
-rw-r--r--src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c25
-rw-r--r--src/settings/plugins/ifcfg-rh/plugin.c3
-rw-r--r--src/settings/plugins/ifcfg-rh/reader.c117
-rw-r--r--src/settings/plugins/ifcfg-rh/shvar.c3
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am2
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in2
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-21
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface1
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-13
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-26
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip5
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh-utils.c40
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c7267
-rw-r--r--src/settings/plugins/ifcfg-rh/utils.c16
-rw-r--r--src/settings/plugins/ifcfg-rh/writer.c92
-rw-r--r--src/settings/plugins/ifnet/connection_parser.c3
-rw-r--r--src/settings/plugins/ifnet/net_parser.c5
-rw-r--r--src/settings/plugins/ifnet/net_utils.c10
-rw-r--r--src/settings/plugins/ifnet/nm-ifnet-connection.c14
-rw-r--r--src/settings/plugins/ifnet/plugin.c6
-rw-r--r--src/settings/plugins/ifnet/tests/test-ifnet.c6
-rw-r--r--src/settings/plugins/ifnet/wpa_parser.c6
-rw-r--r--src/settings/plugins/ifupdown/interface_parser.c5
-rw-r--r--src/settings/plugins/ifupdown/nm-ifupdown-connection.c14
-rw-r--r--src/settings/plugins/ifupdown/parser.c3
-rw-r--r--src/settings/plugins/ifupdown/plugin.c13
-rw-r--r--src/settings/plugins/ifupdown/tests/test-ifupdown.c323
-rw-r--r--src/settings/plugins/keyfile/nm-keyfile-connection.c11
-rw-r--r--src/settings/plugins/keyfile/plugin.c11
-rw-r--r--src/settings/plugins/keyfile/reader.c3
-rw-r--r--src/settings/plugins/keyfile/tests/test-keyfile.c918
-rw-r--r--src/settings/plugins/keyfile/utils.c10
-rw-r--r--src/settings/plugins/keyfile/writer.c42
37 files changed, 1942 insertions, 7061 deletions
diff --git a/src/settings/plugins/ibft/nm-ibft-connection.c b/src/settings/plugins/ibft/nm-ibft-connection.c
index c6a9054e..95495b5c 100644
--- a/src/settings/plugins/ibft/nm-ibft-connection.c
+++ b/src/settings/plugins/ibft/nm-ibft-connection.c
@@ -18,7 +18,7 @@
  * Copyright 2014 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <net/ethernet.h>
diff --git a/src/settings/plugins/ibft/plugin.c b/src/settings/plugins/ibft/plugin.c
index 555725d1..6f9b8c82 100644
--- a/src/settings/plugins/ibft/plugin.c
+++ b/src/settings/plugins/ibft/plugin.c
@@ -18,7 +18,7 @@
  * Copyright 2014 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <unistd.h>
@@ -26,9 +26,8 @@
 
 #include <gmodule.h>
 
-#include <nm-setting-connection.h>
+#include "nm-setting-connection.h"
 
-#include "nm-default.h"
 #include "nm-settings-plugin.h"
 #include "NetworkManagerUtils.h"
 
diff --git a/src/settings/plugins/ibft/reader.c b/src/settings/plugins/ibft/reader.c
index 195c2641..c39d875c 100644
--- a/src/settings/plugins/ibft/reader.c
+++ b/src/settings/plugins/ibft/reader.c
@@ -18,7 +18,7 @@
  * Copyright 2014 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -31,7 +31,6 @@
 #include <sys/ioctl.h>
 #include <unistd.h>
 
-#include "nm-default.h"
 #include "nm-core-internal.h"
 #include "nm-platform.h"
 #include "NetworkManagerUtils.h"
@@ -138,14 +137,14 @@ read_ibft_blocks (const char *iscsiadm_path,
 		if (!*iter[0])
 			continue;
 
-		if (!g_ascii_strncasecmp (*iter, TAG_BEGIN, STRLEN (TAG_BEGIN))) {
+		if (!g_ascii_strncasecmp (*iter, TAG_BEGIN, NM_STRLEN (TAG_BEGIN))) {
 			if (block_lines) {
 				PARSE_WARNING ("malformed iscsiadm record: missing END RECORD.");
 				g_ptr_array_unref (block_lines);
 			}
 			/* Start new record */
 			block_lines = g_ptr_array_new_full (15, g_free);
-		} else if (!g_ascii_strncasecmp (*iter, TAG_END, STRLEN (TAG_END))) {
+		} else if (!g_ascii_strncasecmp (*iter, TAG_END, NM_STRLEN (TAG_END))) {
 			if (block_lines) {
 				if (block_lines->len)
 					blocks = g_slist_prepend (blocks, block_lines);
diff --git a/src/settings/plugins/ibft/tests/test-ibft.c b/src/settings/plugins/ibft/tests/test-ibft.c
index c7aef050..a9085478 100644
--- a/src/settings/plugins/ibft/tests/test-ibft.c
+++ b/src/settings/plugins/ibft/tests/test-ibft.c
@@ -18,7 +18,7 @@
  * Copyright 2014 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -33,7 +33,6 @@
 #include "NetworkManagerUtils.h"
 
 #include "reader.h"
-#include "nm-default.h"
 
 #include "nm-test-utils.h"
 
diff --git a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
index 336d9d66..2ee5a0b9 100644
--- a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
+++ b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
@@ -18,25 +18,23 @@
  * Copyright (C) 2008 - 2011 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 
 #include <glib/gstdio.h>
 
-#include <nm-dbus-interface.h>
-#include <nm-setting-connection.h>
-#include <nm-setting-wired.h>
-#include <nm-setting-wireless.h>
-#include <nm-setting-gsm.h>
-#include <nm-setting-cdma.h>
-#include <nm-setting-pppoe.h>
-#include <nm-setting-wireless-security.h>
-#include <nm-setting-8021x.h>
+#include "nm-dbus-interface.h"
+#include "nm-setting-connection.h"
+#include "nm-setting-wired.h"
+#include "nm-setting-wireless.h"
+#include "nm-setting-gsm.h"
+#include "nm-setting-cdma.h"
+#include "nm-setting-pppoe.h"
+#include "nm-setting-wireless-security.h"
+#include "nm-setting-8021x.h"
 #include "nm-platform.h"
 
-#include "nm-default.h"
-
 #include "common.h"
 #include "nm-config.h"
 #include "nm-ifcfg-connection.h"
@@ -518,6 +516,9 @@ dispose (GObject *object)
 
 	g_clear_object (&priv->inotify_helper);
 
+	g_clear_pointer (&priv->unmanaged_spec, g_free);
+	g_clear_pointer (&priv->unrecognized_spec, g_free);
+
 	G_OBJECT_CLASS (nm_ifcfg_connection_parent_class)->dispose (object);
 }
 
diff --git a/src/settings/plugins/ifcfg-rh/plugin.c b/src/settings/plugins/ifcfg-rh/plugin.c
index 5afc46d6..d28e3bf6 100644
--- a/src/settings/plugins/ifcfg-rh/plugin.c
+++ b/src/settings/plugins/ifcfg-rh/plugin.c
@@ -21,7 +21,7 @@
  * Copyright (C) 2007 - 2011 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <unistd.h>
@@ -33,7 +33,6 @@
 
 #include "nm-setting-connection.h"
 
-#include "nm-default.h"
 #include "common.h"
 #include "plugin.h"
 #include "nm-settings-plugin.h"
diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c
index bcb726aa..ca512fc6 100644
--- a/src/settings/plugins/ifcfg-rh/reader.c
+++ b/src/settings/plugins/ifcfg-rh/reader.c
@@ -18,7 +18,7 @@
  * Copyright 2008 - 2015 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -31,25 +31,24 @@
 #include <sys/ioctl.h>
 #include <unistd.h>
 
-#include <nm-connection.h>
-#include <nm-dbus-interface.h>
-#include <nm-setting-connection.h>
-#include <nm-setting-ip4-config.h>
-#include <nm-setting-vlan.h>
-#include <nm-setting-ip6-config.h>
-#include <nm-setting-wired.h>
-#include <nm-setting-wireless.h>
-#include <nm-setting-8021x.h>
-#include <nm-setting-bond.h>
-#include <nm-setting-team.h>
-#include <nm-setting-team-port.h>
-#include <nm-setting-bridge.h>
-#include <nm-setting-bridge-port.h>
-#include <nm-setting-dcb.h>
-#include <nm-setting-generic.h>
-#include "nm-default.h"
+#include "nm-connection.h"
+#include "nm-dbus-interface.h"
+#include "nm-setting-connection.h"
+#include "nm-setting-ip4-config.h"
+#include "nm-setting-vlan.h"
+#include "nm-setting-ip6-config.h"
+#include "nm-setting-wired.h"
+#include "nm-setting-wireless.h"
+#include "nm-setting-8021x.h"
+#include "nm-setting-bond.h"
+#include "nm-setting-team.h"
+#include "nm-setting-team-port.h"
+#include "nm-setting-bridge.h"
+#include "nm-setting-bridge-port.h"
+#include "nm-setting-dcb.h"
+#include "nm-setting-generic.h"
 #include "nm-core-internal.h"
-#include <nm-utils.h>
+#include "nm-utils.h"
 
 #include "nm-platform.h"
 #include "NetworkManagerUtils.h"
@@ -600,8 +599,11 @@ read_route_file_legacy (const char *filename, NMSettingIPConfig *s_ip4, GError *
 			}
 		}
 		dest = g_match_info_fetch (match_info, 1);
-		if (!strcmp (dest, "default"))
-			strcpy (dest,  "0.0.0.0");
+		if (!strcmp (dest, "default")) {
+			g_match_info_free (match_info);
+			PARSE_WARNING ("ignoring manual default route: '%s' (%s)", *iter, filename);
+			continue;
+		}
 		if (!nm_utils_ipaddr_valid (AF_INET, dest)) {
 			g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
 			             "Invalid IP4 route destination address '%s'", dest);
@@ -924,6 +926,7 @@ make_ip4_setting (shvarFile *ifcfg,
 	shvarFile *network_ifcfg;
 	shvarFile *route_ifcfg;
 	gboolean never_default = FALSE;
+	gint64 timeout;
 
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
 
@@ -970,12 +973,7 @@ make_ip4_setting (shvarFile *ifcfg,
 		else
 			method = NM_SETTING_IP4_CONFIG_METHOD_DISABLED;
 	} else if (!g_ascii_strcasecmp (value, "autoip")) {
-		g_free (value);
-		g_object_set (s_ip4,
-		              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL,
-		              NM_SETTING_IP_CONFIG_NEVER_DEFAULT, never_default,
-		              NULL);
-		return NM_SETTING (s_ip4);
+		method = NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL;
 	} else if (!g_ascii_strcasecmp (value, "shared")) {
 		int idx;
 
@@ -1036,7 +1034,7 @@ make_ip4_setting (shvarFile *ifcfg,
 
 		g_object_set (s_ip4,
 		              NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME, svGetValueBoolean (ifcfg, "DHCP_SEND_HOSTNAME", TRUE),
-		              NM_SETTING_IP4_CONFIG_DHCP_TIMEOUT, svGetValueInt64 (ifcfg, "IPV4_DHCP_TIMEOUT", 10, 0, G_MAXUINT32, 0),
+		              NM_SETTING_IP_CONFIG_DHCP_TIMEOUT, svGetValueInt64 (ifcfg, "IPV4_DHCP_TIMEOUT", 10, 0, G_MAXINT32, 0),
 		              NULL);
 
 		value = svGetValue (ifcfg, "DHCP_CLIENT_ID", FALSE);
@@ -1199,6 +1197,11 @@ make_ip4_setting (shvarFile *ifcfg,
 		}
 	}
 
+	timeout = svGetValueInt64 (ifcfg, "ARPING_WAIT", 10, -1,
+	                           NM_SETTING_IP_CONFIG_DAD_TIMEOUT_MAX / 1000, -1);
+	g_object_set (s_ip4, NM_SETTING_IP_CONFIG_DAD_TIMEOUT,
+	              (gint) (timeout <= 0 ? timeout : timeout * 1000), NULL);
+
 	return NM_SETTING (s_ip4);
 
 done:
@@ -2810,7 +2813,7 @@ eap_ttls_reader (const char *eap_method,
 		           || !strcmp (*iter, "eap-gtc")) {
 			if (!eap_simple_reader (*iter, ifcfg, keys, s_8021x, TRUE, error))
 				goto done;
-			g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_AUTHEAP, (*iter + STRLEN ("eap-")), NULL);
+			g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_AUTHEAP, (*iter + NM_STRLEN ("eap-")), NULL);
 		} else {
 			g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
 			             "Unknown IEEE_8021X_INNER_AUTH_METHOD '%s'.",
@@ -3142,8 +3145,7 @@ make_wpa_setting (shvarFile *ifcfg,
 		g_free (allow_rsn);
 	}
 
-	/* coverity[dereference] */
-	if (!strcmp (value, "WPA-PSK")) {
+	if (wpa_psk) {
 		NMSettingSecretFlags psk_flags;
 
 		psk_flags = read_secret_flags (ifcfg, "WPA_PSK_FLAGS");
@@ -3163,7 +3165,7 @@ make_wpa_setting (shvarFile *ifcfg,
 			g_object_set (wsec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-none", NULL);
 		else
 			g_object_set (wsec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-psk", NULL);
-	} else if (!strcmp (value, "WPA-EAP") || !strcmp (value, "IEEE8021X")) {
+	} else if (wpa_eap || ieee8021x) {
 		/* Adhoc mode is mutually exclusive with any 802.1x-based authentication */
 		if (adhoc) {
 			g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
@@ -3324,6 +3326,7 @@ make_wireless_setting (shvarFile *ifcfg,
 	char *value = NULL;
 	gint64 chan = 0;
 	NMSettingMacRandomization mac_randomization = NM_SETTING_MAC_RANDOMIZATION_NEVER;
+	NMSettingWirelessPowersave powersave = NM_SETTING_WIRELESS_POWERSAVE_DEFAULT;
 
 	s_wireless = NM_SETTING_WIRELESS (nm_setting_wireless_new ());
 
@@ -3501,9 +3504,28 @@ make_wireless_setting (shvarFile *ifcfg,
 	              svGetValueBoolean (ifcfg, "SSID_HIDDEN", FALSE),
 	              NULL);
 
+	value = svGetValueFull (ifcfg, "POWERSAVE", FALSE);
+	if (value) {
+		if (!strcmp (value, "default"))
+			powersave = NM_SETTING_WIRELESS_POWERSAVE_DEFAULT;
+		else if (!strcmp (value, "ignore"))
+			powersave = NM_SETTING_WIRELESS_POWERSAVE_IGNORE;
+		else if (!strcmp (value, "disable") || !strcmp (value, "no"))
+			powersave = NM_SETTING_WIRELESS_POWERSAVE_DISABLE;
+		else if (!strcmp (value, "enable") || !strcmp (value, "yes"))
+			powersave = NM_SETTING_WIRELESS_POWERSAVE_ENABLE;
+		else {
+			g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
+			             "Invalid POWERSAVE value '%s'", value);
+			g_free (value);
+			goto error;
+		}
+		g_free (value);
+	}
+
 	g_object_set (s_wireless,
 	              NM_SETTING_WIRELESS_POWERSAVE,
-	              svGetValueBoolean (ifcfg, "POWERSAVE", FALSE) ? 1 : 0,
+	              powersave,
 	              NULL);
 
 	value = svGetValueFull (ifcfg, "MAC_ADDRESS_RANDOMIZATION", FALSE);
@@ -3517,6 +3539,7 @@ make_wireless_setting (shvarFile *ifcfg,
 		else {
 			g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
 			             "Invalid MAC_ADDRESS_RANDOMIZATION value '%s'", value);
+			g_free (value);
 			goto error;
 		}
 		g_free (value);
@@ -4624,7 +4647,7 @@ make_vlan_setting (shvarFile *ifcfg,
 	char *end = NULL;
 	gint vlan_id = -1;
 	guint32 vlan_flags = 0;
-	gint gvrp;
+	gint gvrp, reorder_hdr;
 
 	value = svGetValue (ifcfg, "VLAN_ID", FALSE);
 	if (value) {
@@ -4699,8 +4722,7 @@ make_vlan_setting (shvarFile *ifcfg,
 	g_object_set (s_vlan, NM_SETTING_VLAN_PARENT, parent, NULL);
 	g_clear_pointer (&parent, g_free);
 
-	if (svGetValueBoolean (ifcfg, "REORDER_HDR", FALSE))
-		vlan_flags |= NM_VLAN_FLAG_REORDER_HEADERS;
+	vlan_flags |= NM_VLAN_FLAG_REORDER_HEADERS;
 
 	gvrp = svGetValueBoolean (ifcfg, "GVRP", -1);
 	if (gvrp > 0)
@@ -4708,13 +4730,26 @@ make_vlan_setting (shvarFile *ifcfg,
 
 	value = svGetValue (ifcfg, "VLAN_FLAGS", FALSE);
 	if (value) {
-		/* Prefer GVRP variable; only take VLAN_FLAG=GVRP when GVRP is not specified */
-		if (g_strstr_len (value, -1, "GVRP") && gvrp == -1)
-			vlan_flags |= NM_VLAN_FLAG_GVRP;
-		if (g_strstr_len (value, -1, "LOOSE_BINDING"))
-			vlan_flags |= NM_VLAN_FLAG_LOOSE_BINDING;
+		gs_strfreev char **strv = NULL;
+		char **ptr;
+
+		strv = g_strsplit_set (value, ", ", 0);
+
+		for (ptr = strv; ptr && *ptr; ptr++) {
+			if (nm_streq (*ptr, "GVRP") && gvrp == -1)
+				vlan_flags |= NM_VLAN_FLAG_GVRP;
+			if (nm_streq (*ptr, "LOOSE_BINDING"))
+				vlan_flags |=  NM_VLAN_FLAG_LOOSE_BINDING;
+			if (nm_streq (*ptr, "NO_REORDER_HDR"))
+				vlan_flags &= ~NM_VLAN_FLAG_REORDER_HEADERS;
+		}
 	}
 
+	reorder_hdr = svGetValueBoolean (ifcfg, "REORDER_HDR", -1);
+	if (   reorder_hdr != -1
+	    && reorder_hdr != NM_FLAGS_HAS (vlan_flags, NM_VLAN_FLAG_REORDER_HEADERS))
+		PARSE_WARNING ("REORDER_HDR key is deprecated, use VLAN_FLAGS");
+
 	if (svGetValueBoolean (ifcfg, "MVRP", FALSE))
 		vlan_flags |= NM_VLAN_FLAG_MVRP;
 
diff --git a/src/settings/plugins/ifcfg-rh/shvar.c b/src/settings/plugins/ifcfg-rh/shvar.c
index 43068c67..4e756349 100644
--- a/src/settings/plugins/ifcfg-rh/shvar.c
+++ b/src/settings/plugins/ifcfg-rh/shvar.c
@@ -23,7 +23,7 @@
  *
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -37,7 +37,6 @@
 #include "shvar.h"
 
 #include "nm-core-internal.h"
-#include "nm-default.h"
 
 #define PARSE_WARNING(msg...) nm_log_warn (LOGD_SETTINGS, "    " msg)
 
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
index a1b414fd..36e52af4 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
@@ -12,6 +12,7 @@ EXTRA_DIST = \
 	ifcfg-test-wired-shared-plus-ip \
 	ifcfg-test-wired-dhcp-send-hostname \
 	ifcfg-test-wired-dhcp6-only \
+	ifcfg-test-wired-autoip \
 	ifcfg-test-wired-global-gateway \
 	network-test-wired-global-gateway \
 	ifcfg-test-wired-global-gateway-ignore \
@@ -106,6 +107,7 @@ EXTRA_DIST = \
 	ifcfg-test-vlan-only-device \
 	ifcfg-test-vlan-physdev \
 	ifcfg-test-vlan-reorder-hdr-1 \
+	ifcfg-test-vlan-reorder-hdr-2 \
 	ifcfg-test-vlan-flags-1 \
 	ifcfg-test-vlan-flags-2 \
 	ifcfg-test-wifi-wep-no-keys \
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in
index cae7067e..2152961c 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in
@@ -408,6 +408,7 @@ EXTRA_DIST = \
 	ifcfg-test-wired-shared-plus-ip \
 	ifcfg-test-wired-dhcp-send-hostname \
 	ifcfg-test-wired-dhcp6-only \
+	ifcfg-test-wired-autoip \
 	ifcfg-test-wired-global-gateway \
 	network-test-wired-global-gateway \
 	ifcfg-test-wired-global-gateway-ignore \
@@ -502,6 +503,7 @@ EXTRA_DIST = \
 	ifcfg-test-vlan-only-device \
 	ifcfg-test-vlan-physdev \
 	ifcfg-test-vlan-reorder-hdr-1 \
+	ifcfg-test-vlan-reorder-hdr-2 \
 	ifcfg-test-vlan-flags-1 \
 	ifcfg-test-vlan-flags-2 \
 	ifcfg-test-wifi-wep-no-keys \
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2 b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2
index 3b536a66..2c01be71 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2
@@ -3,7 +3,6 @@ TYPE=Vlan
 DEVICE=super-vlan
 VLAN_ID=44
 PHYSDEV=eth9
-REORDER_HDR=no
 VLAN_FLAGS="GVRP LOOSE_BINDING"
 ONBOOT=yes
 BOOTPROTO=static
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface
index ccd75d7f..d8d9193f 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface
@@ -2,7 +2,6 @@ VLAN=yes
 TYPE=Vlan
 DEVICE=vlan43
 PHYSDEV=eth9
-REORDER_HDR=0
 VLAN_FLAGS=GVRP,LOOSE_BINDING
 VLAN_INGRESS_PRIORITY_MAP=0:1,2:5
 VLAN_EGRESS_PRIORITY_MAP=12:3,14:7,3:1
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1 b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1
index ca38f839..0dc53971 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1
@@ -3,5 +3,4 @@ TYPE=Vlan
 DEVICE=vlan0.3
 PHYSDEV=eth0
 VLAN_ID=3
-REORDER_HDR=1
-
+REORDER_HDR=0
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2 b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2
new file mode 100644
index 00000000..d98a9d36
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2
@@ -0,0 +1,6 @@
+VLAN=yes
+TYPE=Vlan
+DEVICE=vlan0.3
+PHYSDEV=eth0
+VLAN_ID=3
+VLAN_FLAGS="LOOSE_BINDING,NO_REORDER_HDR"
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip
new file mode 100644
index 00000000..dc47126c
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip
@@ -0,0 +1,5 @@
+TYPE=Ethernet
+DEVICE=eth0
+BOOTPROTO=autoip
+IPV4_FAILURE_FATAL=yes
+PEERDNS=no
diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh-utils.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh-utils.c
index 68f236af..5a0f6451 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh-utils.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh-utils.c
@@ -18,7 +18,7 @@
  * Copyright (C) 2008 - 2011 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -39,14 +39,7 @@ test_get_ifcfg_name (const char *desc,
 	const char *result;
 
 	result = utils_get_ifcfg_name (path, only_ifcfg);
-	if (expected == NULL) {
-		ASSERT (result == NULL, desc, "unexpected valid ifcfg name '%s'", result);
-	} else {
-		ASSERT (result != NULL, desc, "failed to create ifcfg name for '%s'", path);
-
-		ASSERT (strcmp (result, expected) == 0,
-		        desc, "unexpected ifcfg name '%s' created for '%s'", result, path);
-	}
+	g_assert_cmpstr (result, ==, expected);
 }
 
 static void
@@ -57,14 +50,7 @@ test_get_ifcfg_path (const char *desc,
 	char *result;
 
 	result = utils_get_ifcfg_path (path);
-	if (expected == NULL) {
-		ASSERT (result == NULL, desc, "unexpected valid ifcfg name '%s'", result);
-	} else {
-		ASSERT (result != NULL, desc, "failed to create ifcfg name for '%s'", path);
-
-		ASSERT (strcmp (result, expected) == 0,
-		        desc, "unexpected ifcfg name '%s' created for '%s'", result, path);
-	}
+	g_assert_cmpstr (result, ==, expected);
 	g_free (result);
 }
 
@@ -76,14 +62,7 @@ test_get_keys_path (const char *desc,
 	char *result;
 
 	result = utils_get_keys_path (path);
-	if (expected == NULL) {
-		ASSERT (result == NULL, desc, "unexpected valid extra path '%s'", result);
-	} else {
-		ASSERT (result != NULL, desc, "failed to create extra path for '%s'", path);
-
-		ASSERT (strcmp (result, expected) == 0,
-		        desc, "unexpected extra path '%s' created for '%s'", result, path);
-	}
+	g_assert_cmpstr (result, ==, expected);
 	g_free (result);
 }
 
@@ -95,14 +74,7 @@ test_get_route_path (const char *desc,
 	char *result;
 
 	result = utils_get_route_path (path);
-	if (expected == NULL) {
-		ASSERT (result == NULL, desc, "unexpected valid extra path '%s'", result);
-	} else {
-		ASSERT (result != NULL, desc, "failed to create extra path for '%s'", path);
-
-		ASSERT (strcmp (result, expected) == 0,
-		        desc, "unexpected extra path '%s' created for '%s'", result, path);
-	}
+	g_assert_cmpstr (result, ==, expected);
 	g_free (result);
 }
 
@@ -112,7 +84,7 @@ test_ignored (const char *desc, const char *path, gboolean expected_ignored)
 	gboolean result;
 
 	result = utils_should_ignore_file (path, FALSE);
-	ASSERT (result == expected_ignored, desc, "unexpected ignore result for path '%s'", path);
+	g_assert (result == expected_ignored);
 }
 
 static void
diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index b7a887d0..8ca5c8bb 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -18,7 +18,7 @@
  * Copyright (C) 2008 - 2011 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -30,22 +30,22 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
-#include <nm-utils.h>
-#include <nm-setting-connection.h>
-#include <nm-setting-wired.h>
-#include <nm-setting-wireless.h>
-#include <nm-setting-wireless-security.h>
-#include <nm-setting-ip4-config.h>
-#include <nm-setting-ip6-config.h>
-#include <nm-setting-8021x.h>
-#include <nm-setting-pppoe.h>
-#include <nm-setting-ppp.h>
-#include <nm-setting-vpn.h>
-#include <nm-setting-gsm.h>
-#include <nm-setting-cdma.h>
-#include <nm-setting-serial.h>
-#include <nm-setting-vlan.h>
-#include <nm-setting-dcb.h>
+#include "nm-utils.h"
+#include "nm-setting-connection.h"
+#include "nm-setting-wired.h"
+#include "nm-setting-wireless.h"
+#include "nm-setting-wireless-security.h"
+#include "nm-setting-ip4-config.h"
+#include "nm-setting-ip6-config.h"
+#include "nm-setting-8021x.h"
+#include "nm-setting-pppoe.h"
+#include "nm-setting-ppp.h"
+#include "nm-setting-vpn.h"
+#include "nm-setting-gsm.h"
+#include "nm-setting-cdma.h"
+#include "nm-setting-serial.h"
+#include "nm-setting-vlan.h"
+#include "nm-setting-dcb.h"
 #include "nm-core-internal.h"
 
 #include "NetworkManagerUtils.h"
@@ -54,36 +54,99 @@
 #include "reader.h"
 #include "writer.h"
 #include "utils.h"
-#include "nm-default.h"
 
 #include "nm-test-utils.h"
 
-typedef struct {
-	const char *name;
-	const NMSettingMacRandomization value;
-	const char *write_expected;
-} WifiMacRandomData;
+/*****************************************************************************/
+
+static NMConnection *
+_connection_from_file (const char *filename,
+                       const char *network_file,
+                       const char *test_type,
+                       char **out_unhandled)
+{
+	NMConnection *connection;
+	GError *error = NULL;
+
+	g_assert (!out_unhandled || !*out_unhandled);
+
+	connection = connection_from_file_test (filename, network_file, test_type, out_unhandled, &error);
+	g_assert_no_error (error);
+
+	if (out_unhandled && *out_unhandled)
+		nmtst_assert_connection_verifies (connection);
+	else
+		nmtst_assert_connection_verifies_without_normalization (connection);
+	return connection;
+}
 
-#if 0
 static void
-connection_diff (NMConnection *a, NMConnection *b)
+_connection_from_file_fail (const char *filename,
+                            const char *network_file,
+                            const char *test_type,
+                            GError **error)
 {
-	GHashTable *hash;
-	GHashTableIter iter, siter;
-	const char *setting_name, *key;
-	GHashTable *setting_hash = NULL;
+	NMConnection *connection;
+	GError *local = NULL;
+	char *unhandled = NULL;
+	char **p_unhandled = (nmtst_get_rand_int () % 2) ? &unhandled : NULL;
 
-	if (!nm_connection_diff (a, b, NM_SETTING_COMPARE_FLAG_EXACT, &hash)) {
-		g_hash_table_iter_init (&iter, hash);
-		while (g_hash_table_iter_next (&iter, (gpointer) &setting_name, (gpointer) &setting_hash)) {
-			g_hash_table_iter_init (&siter, setting_hash);
-			while (g_hash_table_iter_next (&siter, (gpointer) &key, NULL))
-				g_message (":: %s :: %s", setting_name,key);
-		}
-		g_hash_table_destroy (hash);
-	}
+	connection = connection_from_file_test (filename, network_file, test_type, p_unhandled, &local);
+
+	g_assert (!connection);
+	g_assert (local);
+	g_assert (!p_unhandled || !*p_unhandled);
+	g_propagate_error (error, local);
+}
+
+static void
+_writer_new_connection (NMConnection *connection,
+                        const char *ifcfg_dir,
+                        char **out_filename)
+{
+	gboolean success;
+	GError *error = NULL;
+	char *filename = NULL;
+
+	g_assert (NM_IS_CONNECTION (connection));
+	g_assert (ifcfg_dir);
+
+	success = writer_new_connection (connection,
+	                                 ifcfg_dir,
+	                                 &filename,
+	                                 &error);
+	nmtst_assert_success (success, error);
+	g_assert (filename && filename[0]);
+
+	if (out_filename)
+		*out_filename = filename;
+	else
+		g_free (filename);
 }
-#endif
+
+static void
+_writer_new_connection_fail (NMConnection *connection,
+                             const char *ifcfg_dir,
+                             GError **error)
+{
+	gboolean success;
+	GError *local = NULL;
+	char *filename = NULL;
+
+	g_assert (NM_IS_CONNECTION (connection));
+	g_assert (ifcfg_dir);
+
+	success = writer_new_connection (connection,
+	                                 ifcfg_dir,
+	                                 &filename,
+	                                 &local);
+	nmtst_assert_no_success (success, local);
+	g_assert (!filename);
+
+	g_propagate_error (error, local);
+}
+
+/*****************************************************************************/
 
 static gboolean
 verify_cert_or_key (NMSetting8021x *s_compare,
@@ -193,26 +256,17 @@ test_read_basic (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	const char *expected_id = "System test-minimal";
-	guint64 expected_timestamp = 0;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-minimal",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-minimal",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
-	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, expected_timestamp);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-minimal");
+	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, 0);
 	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
@@ -252,22 +306,15 @@ test_read_miscellaneous_variables (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	char *expected_mac_blacklist[3] = { "00:16:41:11:22:88", "00:16:41:11:22:99", "6a:5d:5a:fa:dd:f0" };
 	int mac_blacklist_num, i;
 	guint64 expected_timestamp = 0;
-	gboolean success;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*invalid MAC in HWADDR_BLACKLIST 'XX:aa:invalid'*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-misc-variables",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-misc-variables",
+	                                    NULL, TYPE_ETHERNET, NULL);
 	g_test_assert_expected_messages ();
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
@@ -302,28 +349,18 @@ test_read_variables_corner_cases (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	const char *expected_zone = "'";
-	const char *expected_id = "\"";
-	guint64 expected_timestamp = 0;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-variables-corner-cases-1",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-variables-corner-cases-1",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
-	g_assert_cmpstr (nm_setting_connection_get_zone (s_con), ==, expected_zone);
-	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, expected_timestamp);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "\"");
+	g_assert_cmpstr (nm_setting_connection_get_zone (s_con), ==, "'");
+	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, 0);
 	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRED SETTING ===== */
@@ -351,26 +388,17 @@ test_read_unmanaged (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	char *unhandled_spec = NULL;
-	GError *error = NULL;
-	const char *expected_id = "System test-nm-controlled";
 	guint64 expected_timestamp = 0;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-nm-controlled",
-	                                        NULL, TYPE_ETHERNET,
-	                                        &unhandled_spec,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-nm-controlled",
+	                                    NULL, TYPE_ETHERNET,
+	                                    &unhandled_spec);
 	g_assert_cmpstr (unhandled_spec, ==, "unmanaged:mac:00:11:22:33:f8:9f");
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-nm-controlled");
 	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, expected_timestamp);
 	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
@@ -384,26 +412,17 @@ test_read_unmanaged_unrecognized (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	gs_free char *unhandled_spec = NULL;
-	GError *error = NULL;
-	const char *expected_id = "PigeonNet";
 	guint64 expected_timestamp = 0;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-nm-controlled-unrecognized",
-	                                        NULL, NULL,
-	                                        &unhandled_spec,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-nm-controlled-unrecognized",
+	                                    NULL, NULL,
+	                                    &unhandled_spec);
 	g_assert_cmpstr (unhandled_spec, ==, "unmanaged:interface-name:ipoac0");
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "PigeonNet");
 	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, expected_timestamp);
 
 	g_object_unref (connection);
@@ -415,35 +434,24 @@ test_read_unrecognized (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	gs_free char *unhandled_spec = NULL;
-	GError *error = NULL;
-	const char *expected_id = "U Can't Touch This";
 	guint64 expected_timestamp = 0;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-unrecognized",
-	                                        NULL, NULL,
-	                                        &unhandled_spec,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-unrecognized",
+	                                    NULL, NULL,
+	                                    &unhandled_spec);
 	g_assert_cmpstr (unhandled_spec, ==, "unrecognized:mac:00:11:22:33");
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "U Can't Touch This");
 	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, expected_timestamp);
 
 	g_object_unref (connection);
 }
 
 static void
-test_read_wired_static (const char *file,
-                        const char *expected_id,
-                        gboolean expect_ip6)
+test_read_wired_static (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
@@ -451,20 +459,19 @@ test_read_wired_static (const char *file,
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0xee };
 	NMIPAddress *ip4_addr;
 	NMIPAddress *ip6_addr;
-	gboolean success;
+	const char *file, *expected_id;
+	gpointer expect_ip6_p;
 
-	connection = connection_from_file_test (file, NULL, TYPE_ETHERNET,
-	                                        &unmanaged, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_test_data_unpack (test_data, &file, &expected_id, &expect_ip6_p);
+
+	g_assert (expected_id);
+
+	connection = _connection_from_file (file, NULL, TYPE_ETHERNET,
+	                                    &unmanaged);
 	g_assert_cmpstr (unmanaged, ==, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
@@ -511,7 +518,7 @@ test_read_wired_static (const char *file,
 	/* ===== IPv6 SETTING ===== */
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
 	g_assert (s_ip6);
-	if (expect_ip6) {
+	if (GPOINTER_TO_INT (expect_ip6_p)) {
 		g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
 		g_assert (nm_setting_ip_config_get_may_fail (s_ip6));
 
@@ -550,7 +557,6 @@ test_read_wired_static_no_prefix (gconstpointer user_data)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	NMIPAddress *ip4_addr;
 	char *file, *expected_id;
 
@@ -559,12 +565,8 @@ test_read_wired_static_no_prefix (gconstpointer user_data)
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*missing PREFIX, assuming*");
-	connection = connection_from_file_test (file, NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
+	connection = _connection_from_file (file, NULL, TYPE_ETHERNET, NULL);
 	g_test_assert_expected_messages ();
-	g_assert_no_error (error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
@@ -589,8 +591,6 @@ test_read_wired_static_no_prefix (gconstpointer user_data)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_DHCP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp"
-
 static void
 test_read_wired_dhcp (void)
 {
@@ -599,135 +599,39 @@ test_read_wired_dhcp (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0xee };
-	const char *tmp;
-	const char *expected_id = "System test-wired-dhcp";
-	const char *expected_dhcp_hostname = "foobar";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_DHCP,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-dhcp-read", "failed to read %s: %s", TEST_IFCFG_WIRED_DHCP, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-dhcp-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_DHCP, error->message);
+	const char *mac;
 
-	ASSERT (unmanaged == NULL,
-	        "wired-dhcp-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_DHCP);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-dhcp",
+	                                    NULL, TYPE_ETHERNET,
+	                                    &unmanaged);
+	g_assert (unmanaged == NULL);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-dhcp-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-dhcp-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-dhcp-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* Timestamp */
-	ASSERT (nm_setting_connection_get_timestamp (s_con) == 0,
-	        "wired-dhcp-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "wired-dhcp-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-dhcp");
+	g_assert_cmpuint (nm_setting_connection_get_timestamp (s_con), ==, 0);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-dhcp-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* MAC address */
 	mac = nm_setting_wired_get_mac_address (s_wired);
-	ASSERT (mac != NULL,
-	        "wired-dhcp-verify-wired", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "wired-dhcp-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	tmp = nm_setting_ip_config_get_dhcp_hostname (s_ip4);
-	ASSERT (tmp != NULL,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DHCP_HOSTNAME);
-	ASSERT (strcmp (tmp, expected_dhcp_hostname) == 0,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DHCP_HOSTNAME);
-
-	ASSERT (nm_setting_ip_config_get_ignore_auto_dns (s_ip4) == TRUE,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS);
-
-	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip4) == 2,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 0), "4.2.2.1") == 0,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value #1",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 1), "4.2.2.2") == 0,
-	        "wired-dhcp-verify-ip4", "failed to verify %s: unexpected %s / %s key value #2",
-	        TEST_IFCFG_WIRED_DHCP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+	g_assert_cmpstr (nm_setting_ip_config_get_dhcp_hostname (s_ip4), ==, "foobar");
+	g_assert (nm_setting_ip_config_get_ignore_auto_dns (s_ip4));
+	g_assert_cmpuint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 0), ==, "4.2.2.1");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 1), ==, "4.2.2.2");
 
 	g_object_unref (connection);
 }
@@ -738,19 +642,11 @@ test_read_wired_dhcp_plus_ip (void)
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	GError *error = NULL;
 	NMIPAddress *ip4_addr;
 	NMIPAddress *ip6_addr;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-plus-ip",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-plus-ip",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== IPv4 SETTING ===== */
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
@@ -814,13 +710,10 @@ test_read_wired_shared_plus_ip (void)
 {
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	NMIPAddress *ip4_addr;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-shared-plus-ip",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-shared-plus-ip",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== IPv4 SETTING ===== */
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
@@ -848,14 +741,12 @@ test_read_wired_global_gateway (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	NMIPAddress *ip4_addr;
 	char *unmanaged = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-global-gateway",
-	                                        TEST_IFCFG_DIR"/network-scripts/network-test-wired-global-gateway",
-	                                        TYPE_ETHERNET, &unmanaged, &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-global-gateway",
+	                                    TEST_IFCFG_DIR"/network-scripts/network-test-wired-global-gateway",
+	                                    TYPE_ETHERNET, &unmanaged);
 	g_assert (unmanaged == NULL);
 
 	/* ===== CONNECTION SETTING ===== */
@@ -892,15 +783,14 @@ test_read_wired_global_gateway_ignore (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	char *unmanaged = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*ignoring GATEWAY (/etc/sysconfig/network) for * because the connection has no static addresses");
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-global-gateway-ignore",
-	                                        TEST_IFCFG_DIR"/network-scripts/network-test-wired-global-gateway-ignore",
-	                                        TYPE_ETHERNET, &unmanaged, &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-global-gateway-ignore",
+	                                    TEST_IFCFG_DIR"/network-scripts/network-test-wired-global-gateway-ignore",
+	                                    TYPE_ETHERNET, &unmanaged);
+	g_test_assert_expected_messages ();
 	g_assert (unmanaged == NULL);
 
 	/* ===== CONNECTION SETTING ===== */
@@ -931,13 +821,10 @@ test_read_wired_obsolete_gateway_n (void)
 {
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	NMIPAddress *ip4_addr;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-obsolete-gateway-n",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-obsolete-gateway-n",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== IPv4 SETTING ===== */
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
@@ -963,12 +850,10 @@ test_read_wired_never_default (void)
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-never-default",
-	                                        TEST_IFCFG_DIR"/network-scripts/network-test-wired-never-default",
-	                                        TYPE_ETHERNET, NULL, &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-never-default",
+	                                    TEST_IFCFG_DIR"/network-scripts/network-test-wired-never-default",
+	                                    TYPE_ETHERNET, NULL);
 
 	/* ===== WIRED SETTING ===== */
 	g_assert (nm_connection_get_setting_wired (connection));
@@ -989,221 +874,67 @@ test_read_wired_never_default (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_DEFROUTE_NO TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-defroute-no"
-
 static void
 test_read_wired_defroute_no (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
-	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-defroute-no";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_DEFROUTE_NO,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-defroute-no-read", "failed to read %s: %s", TEST_IFCFG_WIRED_DEFROUTE_NO, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-defroute-no-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_DEFROUTE_NO, error->message);
 
-	ASSERT (unmanaged == NULL,
-	        "wired-defroute-no-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_DEFROUTE_NO);
-
-	/* ===== CONNECTION SETTING ===== */
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-defroute-no",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (unmanaged == NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-defroute-no-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-defroute-no-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-defroute-no-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* ===== WIRED SETTING ===== */
-
-	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-defroute-no-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-defroute-no");
 
-	/* ===== IPv4 SETTING ===== */
+	g_assert (nm_connection_get_setting_wired (connection));
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-defroute-no-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wired-defroute-no-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip4) == TRUE,
-	        "wired-defroute-no-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
-
-	/* ===== IPv6 SETTING ===== */
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+	g_assert (nm_setting_ip_config_get_never_default (s_ip4));
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "wired-defroute-no-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_AUTO) == 0,
-	        "wired-defroute-no-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip6) == TRUE,
-	        "wired-defroute-no-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
+	g_assert (nm_setting_ip_config_get_never_default (s_ip6));
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes"
-#define TEST_NETWORK_WIRED_DEFROUTE_NO_GATEWAYDEV_YES TEST_IFCFG_DIR"/network-scripts/network-test-wired-defroute-no-gatewaydev-yes"
-
 static void
 test_read_wired_defroute_no_gatewaydev_yes (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
-	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-defroute-no-gatewaydev-yes";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	                                        TEST_NETWORK_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-defroute-no-gatewaydev-yes-read",
-	        "failed to read %s: %s",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-defroute-no-gatewaydev-yes-verify",
-	        "failed to verify %s: %s",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify",
-	        "failed to verify %s: unexpected unmanaged value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES);
 
-	/* ===== CONNECTION SETTING ===== */
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes",
+	                                    TEST_IFCFG_DIR"/network-scripts/network-test-wired-defroute-no-gatewaydev-yes",
+	                                    TYPE_ETHERNET,
+	                                    &unmanaged);
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-defroute-no-gatewaydev-yes-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* ===== WIRED SETTING ===== */
-
-	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-defroute-no-gatewaydev-yes");
 
-	/* ===== IPv4 SETTING ===== */
+	g_assert (nm_connection_get_setting_wired (connection));
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip4) == FALSE,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
-
-	/* ===== IPv6 SETTING ===== */
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+	g_assert (nm_setting_ip_config_get_never_default (s_ip4) == FALSE);
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_AUTO) == 0,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip6) == FALSE,
-	        "wired-defroute-no-gatewaydev-yes-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
+	g_assert (nm_setting_ip_config_get_never_default (s_ip6) == FALSE);
 
 	g_object_unref (connection);
 }
@@ -1215,12 +946,10 @@ test_read_wired_static_routes (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
 	NMIPRoute *ip4_route;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-routes",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	nmtst_assert_connection_verifies_without_normalization (connection);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-routes",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
@@ -1256,8 +985,6 @@ test_read_wired_static_routes (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-routes-legacy"
-
 static void
 test_read_wired_static_routes_legacy (void)
 {
@@ -1266,82 +993,31 @@ test_read_wired_static_routes_legacy (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
 	NMIPRoute *ip4_route;
-	const char *expected_id = "System test-wired-static-routes-legacy";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-
-	ASSERT (connection != NULL,
-	        "wired-static-routes-legacy-read",
-	        "failed to read %s: %s",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-static-routes-legacy-verify", "failed to verify %s: %s",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY, error->message);
 
-	ASSERT (unmanaged == NULL,
-	        "wired-static-routes-legacy-verify",
-	        "failed to verify %s: unexpected unmanaged value",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-routes-legacy",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-static-routes-legacy-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-static-routes-legacy-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-static-routes-legacy-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-static-routes-legacy");
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-static-routes-legacy-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-static-routes-legacy-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "wired-static-routes-legacy-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
 
 	/* Routes */
-	ASSERT (nm_setting_ip_config_get_num_routes (s_ip4) == 3,
-	        "wired-static-routes-legacy-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_ROUTES);
+	g_assert_cmpint (nm_setting_ip_config_get_num_routes (s_ip4), ==, 3);
 
 	/* Route #1 */
 	ip4_route = nm_setting_ip_config_get_route (s_ip4, 0);
@@ -1371,82 +1047,45 @@ test_read_wired_static_routes_legacy (void)
 }
 
 static void
-test_read_wired_ipv4_manual (const char *file, const char *expected_id)
+test_read_wired_ipv4_manual (gconstpointer data)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
 	NMIPAddress *ip4_addr;
+	const char *file, *expected_id;
 
-	connection = connection_from_file_test (file,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-ipv4-manual-read", "failed to read %s: %s", file, error->message);
+	nmtst_test_data_unpack (data, &file, &expected_id);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-ipv4-manual-verify", "failed to verify %s: %s", file, error->message);
+	g_assert (expected_id);
 
-	ASSERT (unmanaged == NULL,
-	        "wired-ipv4-manual-verify", "failed to verify %s: unexpected unmanaged value", file);
+	connection = _connection_from_file (file,
+	                                    NULL,
+	                                    TYPE_ETHERNET,
+	                                    &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-ipv4-manual-verify-connection", "failed to verify %s: missing %s setting",
-	        file,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-ipv4-manual-verify-connection", "failed to verify %s: missing %s / %s key",
-	        file,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-ipv4-manual-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        file,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-ipv4-manual-verify-wired", "failed to verify %s: missing %s setting",
-	        file,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-ipv4-manual-verify-ip4", "failed to verify %s: missing %s setting",
-	        file,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "wired-ipv4-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        file,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
 
 	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 3,
-		"wired-ipv4-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-		file,
-		NM_SETTING_IP4_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 3);
 
 	/* Address #1 */
 	ip4_addr = nm_setting_ip_config_get_address (s_ip4, 0);
@@ -1469,8 +1108,6 @@ test_read_wired_ipv4_manual (const char *file, const char *expected_id)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_IPV6_MANUAL TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-manual"
-
 static void
 test_read_wired_ipv6_manual (void)
 {
@@ -1480,151 +1117,51 @@ test_read_wired_ipv6_manual (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-ipv6-manual";
 	NMIPAddress *ip6_addr;
 	NMIPRoute *ip6_route;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*ignoring manual default route*");
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_IPV6_MANUAL,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-manual",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
 	g_test_assert_expected_messages ();
-
-	ASSERT (connection != NULL,
-	        "wired-ipv6-manual-read", "failed to read %s: %s", TEST_IFCFG_WIRED_IPV6_MANUAL, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-ipv6-manual-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_IPV6_MANUAL, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wired-ipv6-manual-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_IPV6_MANUAL);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-ipv6-manual-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-ipv6-manual-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-ipv6-manual-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-ipv6-manual");
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-ipv6-manual-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
+	g_assert (s_ip4);
 
 	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip4) == 2,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 2);
 
 	/* DNS search domains */
-	ASSERT (nm_setting_ip_config_get_num_dns_searches (s_ip4) == 3,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip4, 0);
-	ASSERT (tmp != NULL,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (strcmp (tmp, "lorem.com") == 0,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip4, 1);
-	ASSERT (tmp != NULL,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (strcmp (tmp, "ipsum.org") == 0,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip4, 2);
-	ASSERT (tmp != NULL,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (strcmp (tmp, "dolor.edu") == 0,
-	        "wired-ipv6-manual-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip4), ==, 3);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip4, 0), ==, "lorem.com");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip4, 1), ==, "ipsum.org");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip4, 2), ==, "dolor.edu");
 
 	/* ===== IPv6 SETTING ===== */
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip6) == FALSE,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
-
-	ASSERT (nm_setting_ip_config_get_may_fail (s_ip6) == TRUE,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_MAY_FAIL);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
+	g_assert (!nm_setting_ip_config_get_never_default (s_ip6));
+	g_assert (nm_setting_ip_config_get_may_fail (s_ip6));
 
 	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip6) == 3,
-		"wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-		TEST_IFCFG_WIRED_IPV6_MANUAL,
-		NM_SETTING_IP6_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip6), ==, 3);
 
 	/* Address #1 */
 	ip6_addr = nm_setting_ip_config_get_address (s_ip6, 0);
@@ -1662,39 +1199,18 @@ test_read_wired_ipv6_manual (void)
 	g_assert_cmpint (nm_ip_route_get_metric (ip6_route), ==, 777);
 
 	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip6) == 2,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip6, 0), "1:2:3:4::a") == 0,
-		"wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value #1",
-		TEST_IFCFG_WIRED_IPV6_MANUAL,
-		NM_SETTING_IP6_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip6, 1), "1:2:3:4::b") == 0,
-		"wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value #2",
-		TEST_IFCFG_WIRED_IPV6_MANUAL,
-		NM_SETTING_IP6_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_DNS);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip6), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 0), ==, "1:2:3:4::a");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 1), ==, "1:2:3:4::b");
 
 	/* DNS domains - none as domains are stuffed to 'ipv4' setting */
-	ASSERT (nm_setting_ip_config_get_num_dns_searches (s_ip6) == 0,
-	        "wired-ipv6-manual-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip6), ==, 0);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_IPV6_ONLY TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-only"
-#define TEST_IFCFG_WIRED_IPV6_ONLY_1 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-only-1"
-
 static void
-test_read_wired_ipv6_only (const char *file, const char *expected_id)
+test_read_wired_ipv6_only (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
@@ -1702,91 +1218,44 @@ test_read_wired_ipv6_only (const char *file, const char *expected_id)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
 	NMIPAddress *ip6_addr;
 	const char *method;
+	const char *file, *expected_id;
 
-	connection = connection_from_file_test (file,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-ipv6-only-read", "failed to read %s: %s", file, error->message);
+	nmtst_test_data_unpack (test_data, &file, &expected_id);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-ipv6-only-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_IPV6_ONLY, error->message);
+	g_assert (expected_id);
 
-	ASSERT (unmanaged == NULL,
-	        "wired-ipv6-only-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_IPV6_MANUAL);
+	connection = _connection_from_file (file, NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-ipv6-only-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-ipv6-only-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-ipv6-only-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-ipv6-only-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-ipv6-only-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
+	g_assert (s_ip4);
 
 	method = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0,
-	        "wired-ipv6-only-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert_cmpstr (method, ==, NM_SETTING_IP4_CONFIG_METHOD_DISABLED);
 
 	/* ===== IPv6 SETTING ===== */
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "wired-ipv6-only-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
-	        "wired-ipv6-only-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
 
 	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip6) == 1,
-		"wired-ipv6-only-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-		TEST_IFCFG_WIRED_IPV6_MANUAL,
-		NM_SETTING_IP6_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip6), ==, 1);
 
 	/* Address #1 */
 	ip6_addr = nm_setting_ip_config_get_address (s_ip6, 0);
@@ -1795,17 +1264,8 @@ test_read_wired_ipv6_only (const char *file, const char *expected_id)
 	g_assert_cmpint (nm_ip_address_get_prefix (ip6_addr), ==, 56);
 
 	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip6) == 1,
-	        "wired-ipv6-only-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_IPV6_MANUAL,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip6, 0), "1:2:3:4::a") == 0,
-		"wired-ipv6-only-verify-ip6", "failed to verify %s: unexpected %s / %s key value #1",
-		TEST_IFCFG_WIRED_IPV6_MANUAL,
-		NM_SETTING_IP6_CONFIG_SETTING_NAME,
-		NM_SETTING_IP_CONFIG_DNS);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip6), ==, 1);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 0), ==, "1:2:3:4::a");
 
 	/* DNS domains should be in IPv6, because IPv4 is disabled */
 	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip6), ==, 3);
@@ -1816,8 +1276,6 @@ test_read_wired_ipv6_only (const char *file, const char *expected_id)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_DHCP6_ONLY TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp6-only"
-
 static void
 test_read_wired_dhcp6_only (void)
 {
@@ -1827,89 +1285,57 @@ test_read_wired_dhcp6_only (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-dhcp6-only";
 	const char *method;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_DHCP6_ONLY,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-dhcp6-only-read", "failed to read %s: %s", TEST_IFCFG_WIRED_DHCP6_ONLY, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-dhcp6-only-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_DHCP6_ONLY, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wired-dhcp6-only-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_DHCP6_ONLY);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp6-only", NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-dhcp6-only-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-dhcp6-only-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-dhcp6-only-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-dhcp6-only");
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-dhcp6-only-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-dhcp6-only-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
+	g_assert (s_ip4);
 
 	method = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0,
-	        "wired-dhcp6-only-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert_cmpstr (method, ==, NM_SETTING_IP4_CONFIG_METHOD_DISABLED);
 
 	/* ===== IPv6 SETTING ===== */
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "wired-dhcp6-only-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_DHCP) == 0,
-	        "wired-dhcp6-only-verify-ip6", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_DHCP6_ONLY,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_DHCP);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_ONBOOT_NO TEST_IFCFG_DIR"/network-scripts/ifcfg-test-onboot-no"
+static void
+test_read_wired_autoip (void)
+{
+	gs_unref_object NMConnection *connection = NULL;
+	NMSettingIPConfig *s_ip4;
+	char *unmanaged = NULL;
+
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-autoip",
+	                                    NULL, TYPE_ETHERNET,
+	                                    &unmanaged);
+	g_assert (unmanaged == NULL);
+
+	s_ip4 = nm_connection_get_setting_ip4_config (connection);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL);
+	g_assert (!nm_setting_ip_config_get_may_fail (s_ip4));
+	g_assert (nm_setting_ip_config_get_ignore_auto_dns (s_ip4));
+}
 
 static void
 test_read_onboot_no (void)
@@ -1917,58 +1343,26 @@ test_read_onboot_no (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	char *unmanaged = NULL;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_ONBOOT_NO,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "onboot-no-read", "failed to read %s: %s", TEST_IFCFG_ONBOOT_NO, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "onboot-no-verify", "failed to verify %s: %s", TEST_IFCFG_ONBOOT_NO, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "onboot-no-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_ONBOOT_NO);
-
-	/* ===== CONNECTION SETTING ===== */
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-onboot-no", NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "onboot-no-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_ONBOOT_NO,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == FALSE,
-	        "onboot-no-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_ONBOOT_NO,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert (!nm_setting_connection_get_autoconnect (s_con));
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_NOIP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-noip"
-
 static void
 test_read_noip (void)
 {
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_NOIP,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
-	g_assert_no_error (error);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-noip", NULL, TYPE_ETHERNET, NULL);
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
 	g_assert (s_ip4);
@@ -1983,8 +1377,7 @@ test_read_noip (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2"
-#define TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2_CA_CERT TEST_IFCFG_DIR"/network-scripts/test_ca_cert.pem"
+#define TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2_CA_CERT TEST_IFCFG_DIR "/network-scripts/test_ca_cert.pem"
 
 static void
 test_read_wired_8021x_peap_mschapv2 (void)
@@ -1996,141 +1389,36 @@ test_read_wired_8021x_peap_mschapv2 (void)
 	NMSetting8021x *tmp_8021x;
 	char *unmanaged = NULL;
 	GError *error = NULL;
-	const char *tmp;
-	const char *expected_identity = "David Smith";
-	const char *expected_anon_identity = "somebody";
-	const char *expected_password = "foobar baz";
 	gboolean success = FALSE;
 	const char *expected_ca_cert_path;
 	const char *read_ca_cert_path;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-8021x-peap-mschapv2-read", "failed to read %s: %s", TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-8021x-peap-mschapv2-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wired-8021x-peap-mschapv2-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-8021x-peap-mschapv2-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-8021x-peap-mschapv2-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wired-8021x-peap-mschapv2-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
-	ASSERT (s_8021x != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME);
+	g_assert (s_8021x);
 
-	/* EAP methods */
-	ASSERT (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	tmp = nm_setting_802_1x_get_eap_method (s_8021x, 0);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	ASSERT (strcmp (tmp, "peap") == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-
-	/* Identity */
-	tmp = nm_setting_802_1x_get_identity (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-	ASSERT (strcmp (tmp, expected_identity) == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-
-	/* Anonymous Identity */
-	tmp = nm_setting_802_1x_get_anonymous_identity (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_ANONYMOUS_IDENTITY);
-	ASSERT (strcmp (tmp, expected_anon_identity) == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_ANONYMOUS_IDENTITY);
-
-	/* Password */
-	tmp = nm_setting_802_1x_get_password (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PASSWORD);
-	ASSERT (strcmp (tmp, expected_password) == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PASSWORD);
-
-	/* PEAP version */
-	tmp = nm_setting_802_1x_get_phase1_peapver (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE1_PEAPVER);
-	ASSERT (strcmp (tmp, "1") == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE1_PEAPVER);
-
-	/* PEAP Label */
-	tmp = nm_setting_802_1x_get_phase1_peaplabel (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE1_PEAPLABEL);
-	ASSERT (strcmp (tmp, "1") == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE1_PEAPLABEL);
+	g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
+	g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "peap");
+	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, "David Smith");
+	g_assert_cmpstr (nm_setting_802_1x_get_anonymous_identity (s_8021x), ==, "somebody");
+	g_assert_cmpstr (nm_setting_802_1x_get_password (s_8021x), ==, "foobar baz");
+	g_assert_cmpstr (nm_setting_802_1x_get_phase1_peapver (s_8021x), ==, "1");
+	g_assert_cmpstr (nm_setting_802_1x_get_phase1_peaplabel (s_8021x), ==, "1");
 
 	/* CA Cert */
 	tmp_8021x = (NMSetting8021x *) nm_setting_802_1x_new ();
@@ -2140,61 +1428,35 @@ test_read_wired_8021x_peap_mschapv2 (void)
 	                                         NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                         NULL,
 	                                         &error);
-	ASSERT (success == TRUE,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: could not load CA certificate",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_CA_CERT);
+	g_assert_no_error (error);
+	g_assert (success == TRUE);
+
 	expected_ca_cert_path = nm_setting_802_1x_get_ca_cert_path (tmp_8021x);
-	ASSERT (expected_ca_cert_path != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: failed to get CA certificate",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_CA_CERT);
+	g_assert (expected_ca_cert_path);
 
 	read_ca_cert_path = nm_setting_802_1x_get_ca_cert_path (s_8021x);
-	ASSERT (read_ca_cert_path != NULL,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_CA_CERT);
-
-	ASSERT (strcmp (read_ca_cert_path, expected_ca_cert_path) == 0,
-	        "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: unexpected %s / %s certificate path",
-	        TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_CA_CERT);
+	g_assert (read_ca_cert_path);
+
+	g_assert_cmpstr (read_ca_cert_path, ==, expected_ca_cert_path);
 
 	g_object_unref (tmp_8021x);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_8021X_TLS_AGENT TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-8021x-tls-agent"
-#define TEST_IFCFG_WIRED_8021X_TLS_ALWAYS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-8021x-tls-always"
-
 static void
-test_read_wired_8021x_tls_secret_flags (const char *ifcfg, NMSettingSecretFlags expected_flags)
+test_read_wired_8021x_tls_secret_flags (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMSettingWired *s_wired;
 	NMSetting8021x *s_8021x;
-	GError *error = NULL;
-	const char *expected_identity = "David Smith";
-	gboolean success = FALSE;
 	char *dirname, *tmp;
+	const char *ifcfg;
+	gpointer expected_flags_p;
 
-	connection = connection_from_file_test (ifcfg,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
+	nmtst_test_data_unpack (test_data, &ifcfg, &expected_flags_p);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (ifcfg, NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== WIRED SETTING ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -2205,8 +1467,8 @@ test_read_wired_8021x_tls_secret_flags (const char *ifcfg, NMSettingSecretFlags
 	g_assert (s_8021x);
 	g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
 	g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "tls");
-	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, expected_identity);
-	g_assert_cmpint (nm_setting_802_1x_get_private_key_password_flags (s_8021x), ==, expected_flags);
+	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, "David Smith");
+	g_assert_cmpint (nm_setting_802_1x_get_private_key_password_flags (s_8021x), ==, GPOINTER_TO_INT (expected_flags_p));
 
 	dirname = g_path_get_dirname (ifcfg);
 	tmp = g_build_path ("/", dirname, "test_ca_cert.pem", NULL);
@@ -2229,17 +1491,12 @@ test_read_write_802_1X_subj_matches (void)
 	NMConnection *connection, *reread;
 	NMSetting8021x *s_8021x;
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*missing IEEE_8021X_CA_CERT*peap*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-802-1X-subj-matches",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-802-1X-subj-matches",
+	                                    NULL, TYPE_ETHERNET, NULL);
 	g_test_assert_expected_messages ();
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
@@ -2257,33 +1514,18 @@ test_read_write_802_1X_subj_matches (void)
 	g_assert_cmpstr (nm_setting_802_1x_get_phase2_altsubject_match (s_8021x, 0), ==, "x.yourdomain.tld");
 	g_assert_cmpstr (nm_setting_802_1x_get_phase2_altsubject_match (s_8021x, 1), ==, "y.yourdomain.tld");
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
-	/* re-read the connection for comparison */
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*missing IEEE_8021X_CA_CERT*peap*");
-	reread = connection_from_file_test (written, NULL, TYPE_ETHERNET, NULL,
-	                                    &error);
+	reread = _connection_from_file (written, NULL, TYPE_ETHERNET, NULL);
 	g_test_assert_expected_messages ();
 	unlink (written);
 	g_free (written);
 
-	g_assert_no_error (error);
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	/* Check 802.1X stuff of the re-read connection. */
 	s_8021x = nm_connection_get_setting_802_1x (reread);
@@ -2310,20 +1552,13 @@ test_read_802_1x_ttls_eapgtc (void)
 {
 	NMConnection *connection;
 	NMSetting8021x *s_8021x;
-	GError *error = NULL;
-	gboolean success;
 
 	/* Test that EAP-* inner methods are correctly read into the
 	 * NMSetting8021x::autheap property.
 	 */
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
@@ -2340,76 +1575,32 @@ test_read_802_1x_ttls_eapgtc (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_ALIASES_GOOD TEST_IFCFG_DIR"/network-scripts/ifcfg-aliasem0"
-
 static void
 test_read_wired_aliases_good (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System aliasem0";
 	int expected_num_addresses = 4;
 	const char *expected_address[4] = { "192.168.1.5", "192.168.1.6", "192.168.1.9", "192.168.1.99" };
 	const char *expected_label[4] = { NULL, "aliasem0:1", "aliasem0:2", "aliasem0:99" };
-	const char *expected_gateway = "192.168.1.1";
 	int i, j;
 
-	connection = connection_from_file_test (TEST_IFCFG_ALIASES_GOOD,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "aliases-good-read", "failed to read %s: %s", TEST_IFCFG_ALIASES_GOOD, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "aliases-good-verify", "failed to verify %s: %s", TEST_IFCFG_ALIASES_GOOD, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-aliasem0",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "aliases-good-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "aliases-good-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "aliases-good-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System aliasem0");
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "aliases-good-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "aliases-good-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == expected_num_addresses,
-	        "aliases-good-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_ALIASES_GOOD,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, expected_num_addresses);
 
 	/* Addresses */
 	for (i = 0; i < expected_num_addresses; i++) {
@@ -2441,14 +1632,10 @@ test_read_wired_aliases_good (void)
 	}
 
 	/* Gateway */
-	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip4), ==, expected_gateway);
+	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip4), ==, "192.168.1.1");
 
-	for (i = 0; i < expected_num_addresses; i++) {
-		ASSERT (expected_address[i] == NULL,
-		        "aliases-good-verify-ip4", "failed to verify %s: did not find IP4 address %s",
-		        TEST_IFCFG_ALIASES_GOOD,
-		        expected_address[i]);
-	}
+	for (i = 0; i < expected_num_addresses; i++)
+		g_assert (!expected_address[i]);
 
 	g_object_unref (connection);
 }
@@ -2459,64 +1646,26 @@ test_read_wired_aliases_bad (const char *base, const char *expected_id)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
 	NMIPAddress *ip4_addr;
 
-	connection = connection_from_file_test (base,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_test_assert_expected_messages ();
-	ASSERT (connection != NULL,
-	        "aliases-bad-read", "failed to read %s: %s", base, error->message);
+	g_assert (expected_id);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "aliases-bad-verify", "failed to verify %s: %s", base, error->message);
+	connection = _connection_from_file (base, NULL, TYPE_ETHERNET, NULL);
+	g_test_assert_expected_messages ();
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "aliases-bad-verify-connection", "failed to verify %s: missing %s setting",
-	        base,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "aliases-bad-verify-connection", "failed to verify %s: missing %s / %s key",
-	        base,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "aliases-bad-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        base,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "aliases-bad-verify-ip4", "failed to verify %s: missing %s setting",
-	        base,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "aliases-bad-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        base,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 1,
-	        "aliases-bad-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        base,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
+
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 1);
 
 	/* Addresses */
 	ip4_addr = nm_setting_ip_config_get_address (s_ip4, 0);
@@ -2531,28 +1680,22 @@ test_read_wired_aliases_bad (const char *base, const char *expected_id)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_ALIASES_BAD_1  TEST_IFCFG_DIR"/network-scripts/ifcfg-aliasem1"
-
 static void
 test_read_wired_aliases_bad_1 (void)
 {
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*aliasem1:1*has no DEVICE*");
-	test_read_wired_aliases_bad (TEST_IFCFG_ALIASES_BAD_1, "System aliasem1");
+	test_read_wired_aliases_bad (TEST_IFCFG_DIR "/network-scripts/ifcfg-aliasem1", "System aliasem1");
 }
 
-#define TEST_IFCFG_ALIASES_BAD_2  TEST_IFCFG_DIR"/network-scripts/ifcfg-aliasem2"
-
 static void
 test_read_wired_aliases_bad_2 (void)
 {
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*aliasem2:1*has invalid DEVICE*");
-	test_read_wired_aliases_bad (TEST_IFCFG_ALIASES_BAD_2, "System aliasem2");
+	test_read_wired_aliases_bad (TEST_IFCFG_DIR "/network-scripts/ifcfg-aliasem2", "System aliasem2");
 }
 
-#define TEST_IFCFG_DNS_OPTIONS TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dns-options"
-
 static void
 test_read_dns_options (void)
 {
@@ -2560,17 +1703,11 @@ test_read_dns_options (void)
 	NMSettingIPConfig *s_ip4, *s_ip6;
 	char *unmanaged = NULL;
 	const char *option;
-	GError *error = NULL;
 	const char *options[] = { "ndots:3", "single-request-reopen", "inet6" };
 	guint32 i, options_len = sizeof (options) / sizeof (options[0]);
 
-	connection = connection_from_file_test (TEST_IFCFG_DNS_OPTIONS,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dns-options",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
 	g_assert_cmpstr (unmanaged, ==, NULL);
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
@@ -2610,7 +1747,6 @@ test_write_dns_options (void)
 	char *uuid;
 	NMIPAddress *addr;
 	NMIPAddress *addr6;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 
@@ -2671,25 +1807,13 @@ test_write_dns_options (void)
 	nm_setting_ip_config_add_dns_option (s_ip4, "debug");
 	nm_setting_ip_config_add_dns_option (s_ip6, "timeout:3");
 
-	g_assert (nm_connection_verify (connection, &error));
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert (success);
-	g_assert (testfile);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
 	/* RES_OPTIONS is copied to both IPv4 and IPv6 settings */
@@ -2701,17 +1825,13 @@ test_write_dns_options (void)
 	nm_setting_ip_config_add_dns_option (s_ip6, "debug");
 	nm_setting_ip_config_add_dns_option (s_ip6, "timeout:3");
 
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_WIFI_OPEN TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open"
-
 static void
 test_read_wifi_open (void)
 {
@@ -2720,137 +1840,48 @@ test_read_wifi_open (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4, *s_ip6;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	const char *expected_id = "System blahblah (test-wifi-open)";
-	guint64 expected_timestamp = 0;
 	const char *expected_ssid = "blahblah";
-	const char *expected_mode = "infrastructure";
-	const guint32 expected_channel = 1;
-
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_OPEN,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-open-read", "failed to read %s: %s", TEST_IFCFG_WIFI_OPEN, error->message);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-open-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_OPEN, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-open",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-open-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-open-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-open-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-open)");
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
 	 * the UUID is generated on the full path of the ifcfg file, which can change
 	 * depending on where the tests are run.
 	 */
 
-	/* Timestamp */
-	ASSERT (nm_setting_connection_get_timestamp (s_con) == expected_timestamp,
-	        "wifi-open-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "wifi-open-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
-
+	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, 0);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 	g_assert_cmpint (nm_setting_connection_get_autoconnect_priority (s_con), ==, -1);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-open-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* MAC address */
 	mac = nm_setting_wireless_get_mac_address (s_wireless);
-	ASSERT (mac != NULL,
-	        "wifi-open-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
-
-	ASSERT (nm_setting_wireless_get_mtu (s_wireless) == 0,
-	        "wifi-open-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MTU);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
+
+	g_assert_cmpint (nm_setting_wireless_get_mtu (s_wireless), ==, 0);
 
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-open-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	
-	ASSERT (nm_setting_wireless_get_bssid (s_wireless) == NULL,
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
-
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-open-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-
-	ASSERT (nm_setting_wireless_get_channel (s_wireless) == expected_channel,
-	        "wifi-open-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_CHANNEL);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
+
+	g_assert (!nm_setting_wireless_get_bssid (s_wireless));
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "infrastructure");
+	g_assert_cmpint (nm_setting_wireless_get_channel (s_wireless), ==, 1);
 
 	/* ===== WiFi SECURITY SETTING ===== */
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
@@ -2859,20 +1890,9 @@ test_read_wifi_open (void)
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-open-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
+	g_assert (s_ip4);
 	g_assert_cmpint (nm_setting_ip_config_get_route_metric (s_ip4), ==, 104);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-open-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
 	g_assert( s_ip6);
@@ -2881,242 +1901,95 @@ test_read_wifi_open (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_OPEN_AUTO TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-auto"
-
 static void
 test_read_wifi_open_auto (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System blahblah (test-wifi-open-auto)";
-	const char *expected_mode = "infrastructure";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_OPEN_AUTO,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-open-auto-read", "failed to read %s: %s", TEST_IFCFG_WIFI_OPEN_AUTO, error->message);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-open-auto-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_OPEN_AUTO, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-open-auto",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-open-auto-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-open-auto-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-open-auto-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-open-auto)");
 
 	/* ===== WIRELESS SETTING ===== */
-
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-open-auto-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
-
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-open-auto-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-open-auto-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_AUTO,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
+	g_assert (s_wireless);
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "infrastructure");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_OPEN_SSID_HEX TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-ssid-hex"
-
 static void
 test_read_wifi_open_ssid_hex (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
-	const char *expected_id = "System blahblah (test-wifi-open-ssid-hex)";
 	const char *expected_ssid = "blahblah";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-open-ssid-hex-read", "failed to read %s: %s", TEST_IFCFG_WIFI_OPEN_SSID_HEX, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-open-ssid-hex-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_OPEN_SSID_HEX, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-open-ssid-hex",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-open-ssid-hex-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-open-ssid-hex-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-open-ssid-hex-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-open-ssid-hex)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-open-ssid-hex-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-open-ssid-hex-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-open-ssid-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-open-ssid-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_SSID_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
 
 	g_object_unref (connection);
 }
 
 static void
-test_read_wifi_open_ssid_bad (const char *file, const char *test)
+test_read_wifi_open_ssid_bad (gconstpointer data)
 {
-	NMConnection *connection;
-	GError *error = NULL;
-
-	connection = connection_from_file_test (file,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection == NULL, test, "unexpected success reading %s", file);
-	g_clear_error (&error);
-
+	_connection_from_file_fail ((const char *) data, NULL, TYPE_WIRELESS, NULL);
 }
 
-#define TEST_IFCFG_WIFI_OPEN_SSID_QUOTED TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-ssid-quoted"
-
 static void
 test_read_wifi_open_ssid_quoted (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
-	const char *expected_id = "System foo\"bar\\ (test-wifi-open-ssid-quoted)";
 	const char *expected_ssid = "foo\"bar\\";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-open-ssid-quoted-read", "failed to read %s: %s", TEST_IFCFG_WIFI_OPEN_SSID_QUOTED, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-open-ssid-quoted-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_OPEN_SSID_QUOTED, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-open-ssid-quoted",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-open-ssid-quoted-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-open-ssid-quoted-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-open-ssid-quoted-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System foo\"bar\\ (test-wifi-open-ssid-quoted)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-open-ssid-quoted-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-open-ssid-quoted-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-open-ssid-quoted-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-open-ssid-quoted-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep"
-
 static void
 test_read_wifi_wep (void)
 {
@@ -3125,243 +1998,75 @@ test_read_wifi_wep (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	const char *expected_id = "System blahblah (test-wifi-wep)";
-	guint64 expected_timestamp = 0;
 	const char *expected_ssid = "blahblah";
-	const char *expected_mode = "infrastructure";
-	const guint32 expected_channel = 1;
-	const char *expected_wep_key0 = "0123456789abcdef0123456789";
 	NMWepKeyType key_type;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wep-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wep)");
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
 	 * the UUID is generated on the full path of the ifcfg file, which can change
 	 * depending on where the tests are run.
 	 */
 
-	/* Timestamp */
-	ASSERT (nm_setting_connection_get_timestamp (s_con) == expected_timestamp,
-	        "wifi-wep-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "wifi-wep-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, 0);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* MAC address */
 	mac = nm_setting_wireless_get_mac_address (s_wireless);
-	ASSERT (mac != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
 
 	/* MTU */
-	ASSERT (nm_setting_wireless_get_mtu (s_wireless) == 0,
-	        "wifi-wep-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MTU);
+	g_assert_cmpint (nm_setting_wireless_get_mtu (s_wireless), ==, 0);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-
-	/* BSSID */
-	ASSERT (nm_setting_wireless_get_bssid (s_wireless) == NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
-
-	/* Mode */
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-
-	/* Channel */
-	ASSERT (nm_setting_wireless_get_channel (s_wireless) == expected_channel,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_CHANNEL);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
+
+	g_assert (!nm_setting_wireless_get_bssid (s_wireless));
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "infrastructure");
+	g_assert_cmpint (nm_setting_wireless_get_channel (s_wireless), ==, 1);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
+	g_assert_cmpstr (nm_setting_wireless_security_get_auth_alg (s_wsec), ==, "shared");
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
 
-	/* WEP key type */
 	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
-	ASSERT (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected WEP key type %d",
-	        TEST_IFCFG_WIFI_WEP,
-	        key_type);
-
-	/* WEP key index 0 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-	ASSERT (strcmp (tmp, expected_wep_key0) == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-
-	/* WEP key index 1 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 1);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY1);
-
-	/* WEP key index 2 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 2);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY2);
-
-	/* WEP key index 3 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 3);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY3);
-
-	/* WEP Authentication mode */
-	tmp = nm_setting_wireless_security_get_auth_alg (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
-	ASSERT (strcmp (tmp, "shared") == 0,
-	        "wifi-wep-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
+	g_assert (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY);
+
+	g_assert_cmpstr (nm_setting_wireless_security_get_wep_key (s_wsec, 0), ==, "0123456789abcdef0123456789");
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 1));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 2));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 3));
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wep-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wep-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP_ADHOC TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-adhoc"
-
 static void
 test_read_wifi_wep_adhoc (void)
 {
@@ -3370,225 +2075,68 @@ test_read_wifi_wep_adhoc (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
-	const char *expected_id = "System blahblah (test-wifi-wep-adhoc)";
 	const char *expected_ssid = "blahblah";
-	const char *expected_mode = "adhoc";
-	const char *expected_wep_key0 = "0123456789abcdef0123456789";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_ADHOC,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-adhoc-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP_ADHOC, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-adhoc-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP_ADHOC, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-adhoc",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-adhoc-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-adhoc-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wep-adhoc-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wep-adhoc)");
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
 	 * the UUID is generated on the full path of the ifcfg file, which can change
 	 * depending on where the tests are run.
 	 */
 
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == FALSE,
-	        "wifi-wep-adhoc-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert (!nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-
-	/* BSSID */
-	ASSERT (nm_setting_wireless_get_bssid (s_wireless) == NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
-
-	/* Mode */
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-
-	/* Channel */
-	ASSERT (nm_setting_wireless_get_channel (s_wireless) == 11,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_CHANNEL);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
+
+	g_assert (!nm_setting_wireless_get_bssid (s_wireless));
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "adhoc");
+	g_assert_cmpint (nm_setting_wireless_get_channel (s_wireless), ==, 11);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
+	g_assert (!nm_setting_wireless_security_get_auth_alg (s_wsec));
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
 
-	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
-
-	/* WEP key index 0 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-	ASSERT (strcmp (tmp, expected_wep_key0) == 0,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-
-	/* WEP key index 1 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 1);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY1);
-
-	/* WEP key index 2 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 2);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY2);
-
-	/* WEP key index 3 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 3);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY3);
-
-	/* WEP Authentication mode */
-	tmp = nm_setting_wireless_security_get_auth_alg (s_wsec);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
+	g_assert_cmpstr (nm_setting_wireless_security_get_wep_key (s_wsec, 0), ==, "0123456789abcdef0123456789");
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 1));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 2));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 3));
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	/* Ignore auto DNS */
-	ASSERT (nm_setting_ip_config_get_ignore_auto_dns (s_ip4) == TRUE,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS);
+	g_assert (nm_setting_ip_config_get_ignore_auto_dns (s_ip4));
 
 	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip4) == 2,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 0), "4.2.2.1") == 0,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value #1",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 1), "4.2.2.2") == 0,
-	        "wifi-wep-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value #2",
-	        TEST_IFCFG_WIFI_WEP_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 0), ==, "4.2.2.1");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 1), ==, "4.2.2.2");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP_PASSPHRASE TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-passphrase"
-
 static void
 test_read_wifi_wep_passphrase (void)
 {
@@ -3596,110 +2144,34 @@ test_read_wifi_wep_passphrase (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_wep_key0 = "foobar222blahblah";
-	NMWepKeyType key_type;
-
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-passphrase-read", "failed to read %s: %s",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE, error->message);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-passphrase-verify", "failed to verify %s: %s",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-passphrase",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-passphrase-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_key_type (s_wsec), ==, NM_WEP_KEY_TYPE_PASSPHRASE);
+	g_assert_cmpstr (nm_setting_wireless_security_get_wep_key (s_wsec, 0), ==, "foobar222blahblah");
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 1));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 2));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 3));
 
-	/* WEP key type */
-	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
-	ASSERT (key_type == NM_WEP_KEY_TYPE_PASSPHRASE,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected WEP key type %d",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        key_type);
-
-	/* WEP key index 0 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-	ASSERT (strcmp (tmp, expected_wep_key0) == 0,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-
-	/* WEP key index 1 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 1);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY1);
-
-	/* WEP key index 2 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 2);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY2);
-
-	/* WEP key index 3 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 3);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-passphrase-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_PASSPHRASE,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY3);
-
-	g_object_unref (connection);
-}
-
-#define TEST_IFCFG_WIFI_WEP_40_ASCII TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-40-ascii"
+	g_object_unref (connection);
+}
 
 static void
 test_read_wifi_wep_40_ascii (void)
@@ -3708,108 +2180,38 @@ test_read_wifi_wep_40_ascii (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_wep_key0 = "Lorem";
 	NMWepKeyType key_type;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_40_ASCII,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-40-ascii-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP_40_ASCII, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-40-ascii-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP_40_ASCII, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-40-ascii",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-40-ascii-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
 
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
+	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
+	g_assert (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY);
 
-	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
+	g_assert_cmpstr (nm_setting_wireless_security_get_wep_key (s_wsec, 0), ==, "Lorem");
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 1));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 2));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 3));
 
-	/* WEP key type */
-	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
-	ASSERT (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected WEP key type %d",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        key_type);
-
-	/* WEP key index 0 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-	ASSERT (strcmp (tmp, expected_wep_key0) == 0,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-
-	/* WEP key index 1 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 1);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY1);
-
-	/* WEP key index 2 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 2);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY2);
-
-	/* WEP key index 3 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 3);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_40_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY3);
-
-	g_object_unref (connection);
-}
-
-#define TEST_IFCFG_WIFI_WEP_104_ASCII TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-104-ascii"
+	g_object_unref (connection);
+}
 
 static void
 test_read_wifi_wep_104_ascii (void)
@@ -3818,108 +2220,38 @@ test_read_wifi_wep_104_ascii (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_wep_key0 = "LoremIpsumSit";
 	NMWepKeyType key_type;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_104_ASCII,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-104-ascii-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP_104_ASCII, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-104-ascii-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP_104_ASCII, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-104-ascii",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-104-ascii-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
 
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
+	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
+	g_assert (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY);
 
-	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
+	g_assert_cmpstr (nm_setting_wireless_security_get_wep_key (s_wsec, 0), ==, "LoremIpsumSit");
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 1));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 2));
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 3));
 
-	/* WEP key type */
-	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
-	ASSERT (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected WEP key type %d",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        key_type);
-
-	/* WEP key index 0 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-	ASSERT (strcmp (tmp, expected_wep_key0) == 0,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
-
-	/* WEP key index 1 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 1);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY1);
-
-	/* WEP key index 2 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 2);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY2);
-
-	/* WEP key index 3 */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 3);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_104_ASCII,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY3);
-
-	g_object_unref (connection);
-}
-
-#define TEST_IFCFG_WIFI_LEAP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-leap"
+	g_object_unref (connection);
+}
 
 static void
 test_read_wifi_leap (void)
@@ -3928,133 +2260,45 @@ test_read_wifi_leap (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System blahblah (test-wifi-leap)";
-	const char *expected_identity = "Bill Smith";
-	const char *expected_password = "foobarblah";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_LEAP,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-leap-read", "failed to read %s: %s", TEST_IFCFG_WIFI_LEAP, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-leap-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_LEAP, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-leap",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-leap-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-leap-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-leap-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-leap)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "ieee8021x");
+	g_assert_cmpstr (nm_setting_wireless_security_get_auth_alg (s_wsec), ==, "leap");
+	g_assert_cmpstr (nm_setting_wireless_security_get_leap_username (s_wsec), ==, "Bill Smith");
+	g_assert_cmpstr (nm_setting_wireless_security_get_leap_password (s_wsec), ==, "foobarblah");
 
-	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "ieee8021x") == 0,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* WEP Authentication mode */
-	tmp = nm_setting_wireless_security_get_auth_alg (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
-	ASSERT (strcmp (tmp, "leap") == 0,
-	        "wifi-leap-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
-
-	/* LEAP Username */
-	tmp = nm_setting_wireless_security_get_leap_username (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME);
-	ASSERT (strcmp (tmp, expected_identity) == 0,
-	        "wifi-leap-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME);
-
-	/* LEAP Password */
-	tmp = nm_setting_wireless_security_get_leap_password (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-leap-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD);
-	ASSERT (strcmp (tmp, expected_password) == 0,
-	        "wifi-leap-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_LEAP,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD);
-
-	g_object_unref (connection);
-}
-
-#define TEST_IFCFG_WIFI_LEAP_AGENT TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-leap-agent"
-#define TEST_IFCFG_WIFI_LEAP_ALWAYS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-leap-always-ask"
-
-static void
-test_read_wifi_leap_secret_flags (const char *file, NMSettingSecretFlags expected_flags)
+	g_object_unref (connection);
+}
+
+static void
+test_read_wifi_leap_secret_flags (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMSettingWireless *s_wifi;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *expected_identity = "Bill Smith";
-	gboolean success;
+	const char *file;
+	gpointer expected_flags_p;
 
-	connection = connection_from_file_test (file,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
+	nmtst_test_data_unpack (test_data, &file, &expected_flags_p);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (file, NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== WIRELESS SETTING ===== */
 	s_wifi = nm_connection_get_setting_wireless (connection);
@@ -4066,16 +2310,14 @@ test_read_wifi_leap_secret_flags (const char *file, NMSettingSecretFlags expecte
 
 	g_assert (g_strcmp0 (nm_setting_wireless_security_get_key_mgmt (s_wsec), "ieee8021x") == 0);
 	g_assert (g_strcmp0 (nm_setting_wireless_security_get_auth_alg (s_wsec), "leap") == 0);
-	g_assert (g_strcmp0 (nm_setting_wireless_security_get_leap_username (s_wsec), expected_identity) == 0);
+	g_assert (g_strcmp0 (nm_setting_wireless_security_get_leap_username (s_wsec), "Bill Smith") == 0);
 	/* password blank as it's not system-owned */
-	g_assert (nm_setting_wireless_security_get_leap_password_flags (s_wsec) == expected_flags);
+	g_assert (nm_setting_wireless_security_get_leap_password_flags (s_wsec) == GPOINTER_TO_INT (expected_flags_p));
 	g_assert (nm_setting_wireless_security_get_leap_password (s_wsec) == NULL);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk"
-
 static void
 test_read_wifi_wpa_psk (void)
 {
@@ -4084,18 +2326,10 @@ test_read_wifi_wpa_psk (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	const char *expected_id = "System blahblah (test-wifi-wpa-psk)";
-	guint64 expected_timestamp = 0;
 	const char *expected_ssid = "blahblah";
-	const char *expected_mode = "infrastructure";
-	const guint32 expected_channel = 1;
-	const char *expected_key_mgmt = "wpa-psk";
-	const char *expected_psk = "I wonder what the king is doing tonight?";
 	guint32 n, i;
 	gboolean found_pair_tkip = FALSE;
 	gboolean found_pair_ccmp = FALSE;
@@ -4106,204 +2340,70 @@ test_read_wifi_wpa_psk (void)
 	gboolean found_proto_wpa = FALSE;
 	gboolean found_proto_rsn = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-psk-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_PSK, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-psk-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_PSK, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wpa-psk-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wpa-psk-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wpa-psk)");
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
 	 * the UUID is generated on the full path of the ifcfg file, which can change
 	 * depending on where the tests are run.
 	 */
 
-	/* Timestamp */
-	ASSERT (nm_setting_connection_get_timestamp (s_con) == expected_timestamp,
-	        "wifi-wpa-psk-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "wifi-wpa-psk-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert_cmpint (nm_setting_connection_get_timestamp (s_con), ==, 0);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
-	/* MAC address */
 	mac = nm_setting_wireless_get_mac_address (s_wireless);
-	ASSERT (mac != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MAC_ADDRESS);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
 
-	/* MTU */
-	ASSERT (nm_setting_wireless_get_mtu (s_wireless) == 0,
-	        "wifi-wpa-psk-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MTU);
+	g_assert_cmpint (nm_setting_wireless_get_mtu (s_wireless), ==, 0);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-
-	/* BSSID */
-	ASSERT (nm_setting_wireless_get_bssid (s_wireless) == NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
-
-	/* Mode */
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-
-	/* Channel */
-	ASSERT (nm_setting_wireless_get_channel (s_wireless) == expected_channel,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_CHANNEL);
+	g_assert (ssid);
+	g_assert_cmpmem (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid), expected_ssid, strlen (expected_ssid));
+
+	g_assert (!nm_setting_wireless_get_bssid (s_wireless));
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "infrastructure");
+	g_assert_cmpint (nm_setting_wireless_get_channel (s_wireless), ==, 1);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* Key management */
-	tmp = nm_setting_wireless_security_get_key_mgmt (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-	ASSERT (strcmp (tmp, expected_key_mgmt) == 0,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* PSK */
-	tmp = nm_setting_wireless_security_get_psk (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-	ASSERT (strcmp (tmp, expected_psk) == 0,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-
-	/* WEP Authentication mode */
-	tmp = nm_setting_wireless_security_get_auth_alg (s_wsec);
-	ASSERT (tmp == NULL,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_AUTH_ALG);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "wpa-psk");
+	g_assert_cmpstr (nm_setting_wireless_security_get_psk (s_wsec), ==, "I wonder what the king is doing tonight?");
+	g_assert (!nm_setting_wireless_security_get_auth_alg (s_wsec));
 
 	/* Pairwise ciphers */
 	n = nm_setting_wireless_security_get_num_pairwise (s_wsec);
-	ASSERT (n == 2,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PAIRWISE);
+	g_assert_cmpint (n, ==, 2);
 	for (i = 0; i < n; i++) {
-		tmp = nm_setting_wireless_security_get_pairwise (s_wsec, i);
-		ASSERT (tmp, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing pairwise cipher",
-		        TEST_IFCFG_WIFI_WPA_PSK);
+		const char * tmp = nm_setting_wireless_security_get_pairwise (s_wsec, i);
+		g_assert (tmp);
 		if (strcmp (tmp, "tkip") == 0)
 			found_pair_tkip = TRUE;
 		else if (strcmp (tmp, "ccmp") == 0)
 			found_pair_ccmp = TRUE;
 	}
-	ASSERT (found_pair_tkip, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing pairwise TKIP cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
-	ASSERT (found_pair_ccmp, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing pairwise CCMP cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
+	g_assert (found_pair_tkip);
+	g_assert (found_pair_ccmp);
 
 	/* Group ciphers */
 	n = nm_setting_wireless_security_get_num_groups (s_wsec);
-	ASSERT (n == 4,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_GROUP);
+	g_assert_cmpint (n, ==, 4);
 	for (i = 0; i < n; i++) {
-		tmp = nm_setting_wireless_security_get_group (s_wsec, i);
-		ASSERT (tmp, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing group cipher",
-		        TEST_IFCFG_WIFI_WPA_PSK);
+		const char *tmp = nm_setting_wireless_security_get_group (s_wsec, i);
+		g_assert (tmp);
 		if (strcmp (tmp, "tkip") == 0)
 			found_group_tkip = TRUE;
 		else if (strcmp (tmp, "ccmp") == 0)
@@ -4313,57 +2413,34 @@ test_read_wifi_wpa_psk (void)
 		else if (strcmp (tmp, "wep104") == 0)
 			found_group_wep104 = TRUE;
 	}
-	ASSERT (found_group_tkip, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing group TKIP cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
-	ASSERT (found_group_ccmp, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing group CCMP cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
-	ASSERT (found_group_wep40, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing group WEP-40 cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
-	ASSERT (found_group_wep104, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing group WEP-104 cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK);
+	g_assert (found_group_tkip);
+	g_assert (found_group_ccmp);
+	g_assert (found_group_wep40);
+	g_assert (found_group_wep104);
 
 	/* Protocols */
 	n = nm_setting_wireless_security_get_num_protos (s_wsec);
-	ASSERT (n == 2,
-	        "wifi-wpa-psk-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PROTO);
+	g_assert_cmpint (n, ==, 2);
 	for (i = 0; i < n; i++) {
-		tmp = nm_setting_wireless_security_get_proto (s_wsec, i);
-		ASSERT (tmp, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing protocol",
-		        TEST_IFCFG_WIFI_WPA_PSK);
+		const char *tmp = nm_setting_wireless_security_get_proto (s_wsec, i);
+		g_assert (tmp);
 		if (strcmp (tmp, "wpa") == 0)
 			found_proto_wpa = TRUE;
 		else if (strcmp (tmp, "rsn") == 0)
 			found_proto_rsn = TRUE;
 	}
-	ASSERT (found_proto_wpa, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing protoocl WPA",
-	        TEST_IFCFG_WIFI_WPA_PSK);
-	ASSERT (found_proto_rsn, "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing protocol RSN",
-	        TEST_IFCFG_WIFI_WPA_PSK);
+	g_assert (found_proto_wpa);
+	g_assert (found_proto_rsn);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wpa-psk-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wpa-psk-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK_2 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk-2"
-
 static void
 test_read_wifi_wpa_psk_2 (void)
 {
@@ -4371,77 +2448,30 @@ test_read_wifi_wpa_psk_2 (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System ipsum (test-wifi-wpa-psk-2)";
-	const char *expected_psk = "They're really saying I love you. >>`<< \\";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK_2,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-psk-2-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_PSK_2, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-psk-2-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_PSK_2, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk-2",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wpa-psk-2-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-2-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wpa-psk-2-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System ipsum (test-wifi-wpa-psk-2)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-psk-2-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wpa-psk-2-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* PSK */
-	tmp = nm_setting_wireless_security_get_psk (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-2-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-	ASSERT (strcmp (tmp, expected_psk) == 0,
-	        "wifi-wpa-psk-2-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_2,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_psk (s_wsec), ==, "They're really saying I love you. >>`<< \\");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted"
-
 static void
 test_read_wifi_wpa_psk_unquoted (void)
 {
@@ -4449,100 +2479,41 @@ test_read_wifi_wpa_psk_unquoted (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System blahblah (test-wifi-wpa-psk-unquoted)";
-	const char *expected_psk = "54336845e2f3f321c4c7";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-psk-unquoted-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-psk-unquoted-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wpa-psk-unquoted-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-unquoted-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wpa-psk-unquoted-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wpa-psk-unquoted)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* PSK */
-	tmp = nm_setting_wireless_security_get_psk (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-	ASSERT (strcmp (tmp, expected_psk) == 0,
-	        "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_psk (s_wsec), ==, "54336845e2f3f321c4c7");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED2 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2"
-
 static void
 test_read_wifi_wpa_psk_unquoted2 (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
-
 	/* Ensure a quoted 64-character WPA passphrase will fail since passphrases
 	 * must be between 8 and 63 ASCII characters inclusive per the WPA spec.
 	 */
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED2,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection == NULL,
-	        "wifi-wpa-psk-unquoted-read", "unexpected success reading %s", TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED2);
-	g_clear_error (&error);
-
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2",
+	                            NULL, TYPE_WIRELESS, NULL);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK_ADHOC TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk-adhoc"
-
 static void
 test_read_wifi_wpa_psk_adhoc (void)
 {
@@ -4551,163 +2522,48 @@ test_read_wifi_wpa_psk_adhoc (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System blahblah (test-wifi-wpa-psk-adhoc)";
-	const char *expected_mode = "adhoc";
-	const char *expected_key_mgmt = "wpa-none";
-	const char *expected_psk = "I wonder what the king is doing tonight?";
-	const char *expected_group = "ccmp";
-	const char *expected_proto = "wpa";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-psk-adhoc-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_PSK_ADHOC, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-psk-adhoc-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_PSK_ADHOC, error->message);
+
+	connection = _connection_from_file(TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk-adhoc",
+	                                   NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wpa-psk-adhoc-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wpa-psk-adhoc-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wpa-psk-adhoc)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
-
-	/* Mode */
-	tmp = nm_setting_wireless_get_mode (s_wireless);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
-	ASSERT (strcmp (tmp, expected_mode) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_MODE);
+	g_assert (s_wireless);
+
+	g_assert_cmpstr (nm_setting_wireless_get_mode (s_wireless), ==, "adhoc");
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "wpa-none");
+	g_assert_cmpstr (nm_setting_wireless_security_get_psk (s_wsec), ==, "I wonder what the king is doing tonight?");
 
-	/* Key management */
-	tmp = nm_setting_wireless_security_get_key_mgmt (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-	ASSERT (strcmp (tmp, expected_key_mgmt) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* PSK */
-	tmp = nm_setting_wireless_security_get_psk (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-	ASSERT (strcmp (tmp, expected_psk) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-
-	/* Pairwise cipher: unused in adhoc mode */
-	ASSERT (nm_setting_wireless_security_get_num_pairwise (s_wsec) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PAIRWISE);
-
-	/* Group cipher */
-	ASSERT (nm_setting_wireless_security_get_num_groups (s_wsec) == 1,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_GROUP);
-
-	tmp = nm_setting_wireless_security_get_group (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing group cipher",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC);
-	ASSERT (strcmp (tmp, expected_group) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_GROUP);
+	/* Pairwise cipher is unused in adhoc mode */
+	g_assert_cmpint (nm_setting_wireless_security_get_num_pairwise (s_wsec), ==, 0);
 
-	/* Protocols */
-	ASSERT (nm_setting_wireless_security_get_num_protos (s_wsec) == 1,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PROTO);
-	tmp = nm_setting_wireless_security_get_proto (s_wsec, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing proto",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC);
-	ASSERT (strcmp (tmp, expected_proto) == 0,
-	        "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PROTO);
+	g_assert_cmpint (nm_setting_wireless_security_get_num_groups (s_wsec), ==, 1);
+	g_assert_cmpstr (nm_setting_wireless_security_get_group (s_wsec, 0), ==, "ccmp");
+
+	g_assert_cmpint (nm_setting_wireless_security_get_num_protos (s_wsec), ==, 1);
+	g_assert_cmpstr (nm_setting_wireless_security_get_proto (s_wsec, 0), ==, "wpa");
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wpa-psk-adhoc-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wpa-psk-adhoc-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_PSK_HEX TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-psk-hex"
-
 static void
 test_read_wifi_wpa_psk_hex (void)
 {
@@ -4716,129 +2572,47 @@ test_read_wifi_wpa_psk_hex (void)
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
-	GError *error = NULL;
-	const char *tmp;
 	GBytes *ssid;
-	const char *expected_id = "System blahblah (test-wifi-wpa-psk-hex)";
 	const char *expected_ssid = "blahblah";
-	const char *expected_key_mgmt = "wpa-psk";
-	const char *expected_psk = "1da190379817bc360dda52e85c388c439a21ea5c7bf819c64e9da051807deae6";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-psk-hex-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_PSK_HEX, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-psk-hex-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_PSK_HEX, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-psk-hex",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wpa-psk-hex-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-hex-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wpa-psk-hex-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System blahblah (test-wifi-wpa-psk-hex)");
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
-	/* SSID */
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (g_bytes_get_size (ssid) == strlen (expected_ssid),
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value length",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
-	ASSERT (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
+	g_assert (ssid);
+	g_assert_cmpint (g_bytes_get_size (ssid), ==, strlen (expected_ssid));
+	g_assert (memcmp (g_bytes_get_data (ssid, NULL), expected_ssid, strlen (expected_ssid)) == 0);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
-
-	/* Key management */
-	tmp = nm_setting_wireless_security_get_key_mgmt (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-	ASSERT (strcmp (tmp, expected_key_mgmt) == 0,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-
-	/* PSK */
-	tmp = nm_setting_wireless_security_get_psk (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
-	ASSERT (strcmp (tmp, expected_psk) == 0,
-	        "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_PSK);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "wpa-psk");
+	g_assert_cmpstr (nm_setting_wireless_security_get_psk (s_wsec), ==, "1da190379817bc360dda52e85c388c439a21ea5c7bf819c64e9da051807deae6");
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wpa-psk-hex-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wpa-psk-hex-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK_HEX,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_EAP_TLS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-eap-tls"
-#define TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT TEST_IFCFG_DIR"/network-scripts/test_ca_cert.pem"
-#define TEST_IFCFG_WIFI_WPA_EAP_TLS_CLIENT_CERT TEST_IFCFG_DIR"/network-scripts/test1_key_and_cert.pem"
-#define TEST_IFCFG_WIFI_WPA_EAP_TLS_PRIVATE_KEY TEST_IFCFG_DIR"/network-scripts/test1_key_and_cert.pem"
+#define TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT TEST_IFCFG_DIR "/network-scripts/test_ca_cert.pem"
+#define TEST_IFCFG_WIFI_WPA_EAP_TLS_CLIENT_CERT TEST_IFCFG_DIR "/network-scripts/test1_key_and_cert.pem"
+#define TEST_IFCFG_WIFI_WPA_EAP_TLS_PRIVATE_KEY TEST_IFCFG_DIR "/network-scripts/test1_key_and_cert.pem"
 
 static void
 test_read_wifi_wpa_eap_tls (void)
@@ -4848,86 +2622,29 @@ test_read_wifi_wpa_eap_tls (void)
 	NMSettingIPConfig *s_ip4;
 	NMSetting8021x *s_8021x;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp, *password;
-	const char *expected_identity = "Bill Smith";
 	const char *expected_privkey_password = "test1";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-eap-tls-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_EAP_TLS, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-eap-tls-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_EAP_TLS, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wifi-wpa-eap-tls-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIFI_WPA_EAP_TLS);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-eap-tls",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-eap-tls-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wpa-eap-tls-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wpa-eap-tls-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
-	ASSERT (s_8021x != NULL,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME);
-
-	/* EAP methods */
-	ASSERT (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	tmp = nm_setting_802_1x_get_eap_method (s_8021x, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	ASSERT (strcmp (tmp, "tls") == 0,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-
-	/* Identity */
-	tmp = nm_setting_802_1x_get_identity (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-	ASSERT (strcmp (tmp, expected_identity) == 0,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
+	g_assert (s_8021x);
+	g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
+	g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "tls");
+	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, "Bill Smith");
 
 	/* CA Cert */
 	verify_cert_or_key (s_8021x,
@@ -4942,18 +2659,7 @@ test_read_wifi_wpa_eap_tls (void)
 	                    NM_SETTING_802_1X_CLIENT_CERT);
 
 	/* Private Key Password */
-	password = nm_setting_802_1x_get_private_key_password (s_8021x);
-	ASSERT (password != NULL,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD);
-
-	ASSERT (strcmp (password, expected_privkey_password) == 0,
-	        "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD);
+	g_assert_cmpstr (nm_setting_802_1x_get_private_key_password (s_8021x), ==, expected_privkey_password);
 
 	/* Private key */
 	verify_cert_or_key (s_8021x,
@@ -4964,8 +2670,6 @@ test_read_wifi_wpa_eap_tls (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls"
-#define TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS_CA_CERT TEST_IFCFG_DIR"/network-scripts/test_ca_cert.pem"
 /* Also use TLS defines from the previous test */
 
 static void
@@ -4976,92 +2680,38 @@ test_read_wifi_wpa_eap_ttls_tls (void)
 	NMSettingIPConfig *s_ip4;
 	NMSetting8021x *s_8021x;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp, *password;
-	const char *expected_identity = "Chuck Shumer";
 	const char *expected_privkey_password = "test1";
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wpa-eap-ttls-tls-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wpa-eap-ttls-tls-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wifi-wpa-eap-ttls-tls-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls",
+	                                    NULL, TYPE_WIRELESS, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wpa-eap-ttls-tls-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
-	ASSERT (s_8021x != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME);
-
-	/* EAP methods */
-	ASSERT (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	tmp = nm_setting_802_1x_get_eap_method (s_8021x, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	ASSERT (strcmp (tmp, "ttls") == 0,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
+	g_assert (s_8021x);
+	g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
+	g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "ttls");
+	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, "Chuck Shumer");
 
 	/* CA Cert */
 	verify_cert_or_key (s_8021x,
-	                    TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS_CA_CERT,
+	                    TEST_IFCFG_DIR "/network-scripts/test_ca_cert.pem",
 	                    NULL,
 	                    NM_SETTING_802_1X_CA_CERT);
 
 	/* Inner auth method */
-	tmp = nm_setting_802_1x_get_phase2_autheap (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_AUTHEAP);
-	ASSERT (strcmp (tmp, "tls") == 0,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_AUTHEAP);
+	g_assert_cmpstr (nm_setting_802_1x_get_phase2_autheap (s_8021x), ==, "tls");
 
 	/* Inner CA Cert */
 	verify_cert_or_key (s_8021x,
@@ -5076,18 +2726,7 @@ test_read_wifi_wpa_eap_ttls_tls (void)
 	                    NM_SETTING_802_1X_PHASE2_CLIENT_CERT);
 
 	/* Inner Private Key Password */
-	password = nm_setting_802_1x_get_phase2_private_key_password (s_8021x);
-	ASSERT (password != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD);
-
-	ASSERT (strcmp (password, expected_privkey_password) == 0,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD);
+	g_assert_cmpstr (nm_setting_802_1x_get_phase2_private_key_password (s_8021x), ==, expected_privkey_password);
 
 	/* Inner private key */
 	verify_cert_or_key (s_8021x,
@@ -5095,24 +2734,9 @@ test_read_wifi_wpa_eap_ttls_tls (void)
 	                    expected_privkey_password,
 	                    NM_SETTING_802_1X_PHASE2_PRIVATE_KEY);
 
-	/* Identity */
-	tmp = nm_setting_802_1x_get_identity (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-	ASSERT (strcmp (tmp, expected_identity) == 0,
-	        "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_DYNAMIC_WEP_LEAP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-dynamic-wep-leap"
-
 static void
 test_read_wifi_dynamic_wep_leap (void)
 {
@@ -5120,20 +2744,9 @@ test_read_wifi_dynamic_wep_leap (void)
 	NMSettingWireless *s_wifi;
 	NMSettingWirelessSecurity *s_wsec;
 	NMSetting8021x *s_8021x;
-	gboolean success;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_DYNAMIC_WEP_LEAP,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-dynamic-wep-leap",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== WIRELESS SETTING ===== */
 
@@ -5171,9 +2784,6 @@ test_read_wifi_dynamic_wep_leap (void)
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-eap-ttls-chap"
-#define TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP_CA_CERT TEST_IFCFG_DIR"/network-scripts/test_ca_cert.pem"
-
 static void
 test_read_wifi_wep_eap_ttls_chap (void)
 {
@@ -5183,139 +2793,44 @@ test_read_wifi_wep_eap_ttls_chap (void)
 	NMSettingIPConfig *s_ip4;
 	NMSetting8021x *s_8021x;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_password = "foobar baz";
-	const char *expected_identity = "David Smith";
-	const char *expected_key_mgmt = "ieee8021x";
-
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-eap-ttls-chap-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-eap-ttls-chap-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP, error->message);
 
-	ASSERT (unmanaged == NULL,
-	        "wifi-wep-eap-ttls-chap-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-eap-ttls-chap",
+	                                    NULL, TYPE_WIRELESS, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "wifi-wep-eap-ttls-chap-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	/* ===== 802.1x SETTING ===== */
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-wireless-security", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME);
-
-	/* Key management */
-	tmp = nm_setting_wireless_security_get_key_mgmt (s_wsec);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-wireless-security", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
-	ASSERT (strcmp (tmp, expected_key_mgmt) == 0,
-	        "wifi-wep-eap-ttls-chap-verify-wireless-security", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WPA_PSK,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
+	g_assert (s_wsec);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "ieee8021x");
 
 	/* ===== 802.1x SETTING ===== */
 	s_8021x = nm_connection_get_setting_802_1x (connection);
-	ASSERT (s_8021x != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME);
+	g_assert (s_8021x);
 
 	/* EAP methods */
-	ASSERT (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	tmp = nm_setting_802_1x_get_eap_method (s_8021x, 0);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
-	ASSERT (strcmp (tmp, "ttls") == 0,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_EAP);
+	g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
+	g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "ttls");
 
 	/* CA Cert */
 	verify_cert_or_key (s_8021x,
-	                    TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP_CA_CERT,
+	                    TEST_IFCFG_DIR "/network-scripts/test_ca_cert.pem",
 	                    NULL,
 	                    NM_SETTING_802_1X_CA_CERT);
 
-	/* Inner auth method */
-	tmp = nm_setting_802_1x_get_phase2_auth (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s / %s eap method",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_AUTH);
-	ASSERT (strcmp (tmp, "chap") == 0,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PHASE2_AUTH);
-
-	/* Password */
-	tmp = nm_setting_802_1x_get_identity (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-	ASSERT (strcmp (tmp, expected_identity) == 0,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_IDENTITY);
-
-	/* Password */
-	tmp = nm_setting_802_1x_get_password (s_8021x);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PASSWORD);
-	ASSERT (strcmp (tmp, expected_password) == 0,
-	        "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
-	        NM_SETTING_802_1X_SETTING_NAME,
-	        NM_SETTING_802_1X_PASSWORD);
+	g_assert_cmpstr (nm_setting_802_1x_get_phase2_auth (s_8021x), ==, "chap");
+	g_assert_cmpstr (nm_setting_802_1x_get_identity (s_8021x), ==, "David Smith");
+	g_assert_cmpstr (nm_setting_802_1x_get_password (s_8021x), ==, "foobar baz");
 
 	g_object_unref (connection);
 }
@@ -5326,17 +2841,9 @@ test_read_wired_wake_on_lan (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
-	gboolean success;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-wake-on-lan",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-wake-on-lan",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -5363,17 +2870,9 @@ test_read_wifi_hidden (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wifi;
-	gboolean success;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-hidden",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-hidden",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -5393,7 +2892,6 @@ test_write_wifi_hidden (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wifi;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	shvarFile *f;
 	GBytes *ssid;
@@ -5427,17 +2925,11 @@ test_write_wifi_hidden (void)
 
 	g_bytes_unref (ssid);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -5450,21 +2942,10 @@ test_write_wifi_hidden (void)
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_WIRELESS,
-	                                    NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -5474,26 +2955,23 @@ test_write_wifi_hidden (void)
 static void
 test_read_wifi_mac_random (gconstpointer user_data)
 {
-	const WifiMacRandomData *test_data = user_data;
 	NMConnection *connection;
 	NMSettingWireless *s_wifi;
-	gboolean success;
-	GError *error = NULL;
 	char *path;
+	const char *name;
+	gpointer value_p;
+	NMSettingMacRandomization value;
 
-	path = g_strdup_printf (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-mac-random-%s", test_data->name);
-	connection = connection_from_file_test (path, NULL, TYPE_WIRELESS, NULL, &error);
-	g_free (path);
-	g_assert_no_error (error);
-	g_assert (connection);
+	nmtst_test_data_unpack (user_data, &name, &value_p);
+	value = GPOINTER_TO_INT (value_p);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	path = g_strdup_printf (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-mac-random-%s", name);
+	connection = _connection_from_file (path, NULL, TYPE_WIRELESS, NULL);
+	g_free (path);
 
 	s_wifi = nm_connection_get_setting_wireless (connection);
 	g_assert (s_wifi);
-	g_assert_cmpint (nm_setting_wireless_get_mac_address_randomization (s_wifi), ==, test_data->value);
+	g_assert_cmpint (nm_setting_wireless_get_mac_address_randomization (s_wifi), ==, value);
 
 	g_object_unref (connection);
 }
@@ -5501,16 +2979,22 @@ test_read_wifi_mac_random (gconstpointer user_data)
 static void
 test_write_wifi_mac_random (gconstpointer user_data)
 {
-	const WifiMacRandomData *test_data = user_data;
 	NMConnection *connection, *reread;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wifi;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	shvarFile *f;
 	GBytes *ssid;
 	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
+	const char *name, *write_expected;
+	gpointer value_p;
+	NMSettingMacRandomization value;
+
+	nmtst_test_data_unpack (user_data, &name, &value_p, &write_expected);
+	value = GPOINTER_TO_INT (value_p);
+
+	g_assert (write_expected);
 
 	connection = nm_simple_connection_new ();
 
@@ -5519,7 +3003,7 @@ test_write_wifi_mac_random (gconstpointer user_data)
 	nm_connection_add_setting (connection, NM_SETTING (s_con));
 
 	uuid = nm_utils_uuid_generate ();
-	val = g_strdup_printf ("Test Write WiFi MAC %s", test_data->name);
+	val = g_strdup_printf ("Test Write WiFi MAC %s", name);
 	g_object_set (s_con,
 	              NM_SETTING_CONNECTION_ID, val,
 	              NM_SETTING_CONNECTION_UUID, uuid,
@@ -5536,21 +3020,15 @@ test_write_wifi_mac_random (gconstpointer user_data)
 	g_object_set (s_wifi,
 	              NM_SETTING_WIRELESS_SSID, ssid,
 	              NM_SETTING_WIRELESS_MODE, "infrastructure",
-	              NM_SETTING_WIRELESS_MAC_ADDRESS_RANDOMIZATION, test_data->value,
+	              NM_SETTING_WIRELESS_MAC_ADDRESS_RANDOMIZATION, value,
 	              NULL);
 	g_bytes_unref (ssid);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-		                             TEST_SCRATCH_DIR "/network-scripts/",
-		                             &testfile,
-		                             &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -5558,24 +3036,14 @@ test_write_wifi_mac_random (gconstpointer user_data)
 
 	/* re-read the file to check that what key was written. */
 	val = svGetValue (f, "MAC_ADDRESS_RANDOMIZATION", FALSE);
-	g_assert_cmpstr (val, ==, test_data->write_expected);
+	g_assert_cmpstr (val, ==, write_expected);
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_WIRELESS, NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
 
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -5590,7 +3058,6 @@ test_write_wired_wake_on_lan (void)
 	NMSettingWired *s_wired;
 	NMSettingWiredWakeOnLan wol;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	shvarFile *f;
 
@@ -5621,17 +3088,11 @@ test_write_wired_wake_on_lan (void)
 	              NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD, "00:00:00:11:22:33",
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -5645,21 +3106,10 @@ test_write_wired_wake_on_lan (void)
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_ETHERNET,
-	                                    NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -5672,17 +3122,9 @@ test_read_wifi_band_a (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wifi;
-	gboolean success;
-	GError *error = NULL;
-
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-a",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-a",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -5702,7 +3144,6 @@ test_write_wifi_band_a (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wifi;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	shvarFile *f;
 	GBytes *ssid;
@@ -5736,17 +3177,11 @@ test_write_wifi_band_a (void)
 
 	g_bytes_unref (ssid);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -5759,21 +3194,10 @@ test_write_wifi_band_a (void)
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_WIRELESS,
-	                                    NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -5783,31 +3207,23 @@ test_write_wifi_band_a (void)
 static void
 test_read_wifi_band_a_channel_mismatch (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert (connection == NULL);
+	_connection_from_file_fail (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch",
+	                            NULL, TYPE_WIRELESS, &error);
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
-	g_clear_error (&error);
 }
 
 static void
 test_read_wifi_band_bg_channel_mismatch (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch",
-	                                        NULL, TYPE_WIRELESS, NULL, &error);
-	g_assert (connection == NULL);
+	_connection_from_file_fail (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch",
+	                            NULL, TYPE_WIRELESS, &error);
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
-	g_clear_error (&error);
 }
 
-#define TEST_IFCFG_WIRED_QETH_STATIC TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-qeth-static"
-
 static void
 test_read_wired_qeth_static (void)
 {
@@ -5816,156 +3232,48 @@ test_read_wired_qeth_static (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-qeth-static";
-	const char *mac;
-	const char *expected_channel0 = "0.0.0600";
-	const char *expected_channel1 = "0.0.0601";
-	const char *expected_channel2 = "0.0.0602";
 	const char * const *subchannels;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_QETH_STATIC,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wired-qeth-static-read", "failed to read %s: %s", TEST_IFCFG_WIRED_QETH_STATIC, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wired-qeth-static-verify", "failed to verify %s: %s", TEST_IFCFG_WIRED_QETH_STATIC, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "wired-qeth-static-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_WIRED_QETH_STATIC);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-qeth-static",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wired-qeth-static-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wired-qeth-static-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wired-qeth-static-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-qeth-static");
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
-	/* MAC address */
-	mac = nm_setting_wired_get_mac_address (s_wired);
-	ASSERT (mac == NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected %s / %s key",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
+	g_assert (!nm_setting_wired_get_mac_address (s_wired));
 
 	/* Subchannels */
 	subchannels = nm_setting_wired_get_s390_subchannels (s_wired);
-	ASSERT (subchannels != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_S390_SUBCHANNELS);
-	ASSERT (subchannels[0] && subchannels[1] && subchannels[2] && !subchannels[3],
-	        "wired-qeth-static-verify-wired", "failed to verify %s: invalid %s / %s key (not 3 elements)",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_S390_SUBCHANNELS);
-
-	ASSERT (strcmp (subchannels[0], expected_channel0) == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected subchannel #0",
-	        TEST_IFCFG_WIRED_QETH_STATIC);
-	ASSERT (strcmp (subchannels[1], expected_channel1) == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected subchannel #1",
-	        TEST_IFCFG_WIRED_QETH_STATIC);
-	ASSERT (strcmp (subchannels[2], expected_channel2) == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected subchannel #2",
-	        TEST_IFCFG_WIRED_QETH_STATIC);
-
-	/* Nettype */
-	tmp = nm_setting_wired_get_s390_nettype (s_wired);
-	ASSERT (tmp != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_S390_NETTYPE);
-	ASSERT (strcmp (tmp, "qeth") == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_S390_NETTYPE);
-
-	/* port name */
-	tmp = nm_setting_wired_get_s390_option_by_key (s_wired, "portname");
-	ASSERT (tmp != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s s390 option 'portname'",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
-	ASSERT (strcmp (tmp, "OSAPORT") == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected %s s390 option 'portname' value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
-
-	/* port number */
-	tmp = nm_setting_wired_get_s390_option_by_key (s_wired, "portno");
-	ASSERT (tmp != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s s390 option 'portno'",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
-	ASSERT (strcmp (tmp, "0") == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected %s s390 option 'portno' value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
-
-	/* layer */
-	tmp = nm_setting_wired_get_s390_option_by_key (s_wired, "layer2");
-	ASSERT (tmp != NULL,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: missing %s s390 option 'layer2'",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
-	ASSERT (strcmp (tmp, "1") == 0,
-	        "wired-qeth-static-verify-wired", "failed to verify %s: unexpected %s s390 option 'layer2' value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (subchannels);
+	g_assert (subchannels[0] && subchannels[1] && subchannels[2] && !subchannels[3]);
+
+	g_assert_cmpstr (subchannels[0], ==, "0.0.0600");
+	g_assert_cmpstr (subchannels[1], ==, "0.0.0601");
+	g_assert_cmpstr (subchannels[2], ==, "0.0.0602");
+
+	g_assert_cmpstr (nm_setting_wired_get_s390_nettype (s_wired), ==, "qeth");
+	g_assert_cmpstr (nm_setting_wired_get_s390_option_by_key (s_wired, "portname"), ==, "OSAPORT");
+	g_assert_cmpstr (nm_setting_wired_get_s390_option_by_key (s_wired, "portno"), ==, "0");
+	g_assert_cmpstr (nm_setting_wired_get_s390_option_by_key (s_wired, "layer2"), ==, "1");
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "wired-qeth-static-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "wired-qeth-static-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIRED_QETH_STATIC,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIRED_CTC_STATIC TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ctc-static"
-
 static void
 test_read_wired_ctc_static (void)
 {
@@ -5973,31 +3281,16 @@ test_read_wired_ctc_static (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	char *unmanaged = NULL;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System test-wired-ctc-static";
-	const char *expected_channel0 = "0.0.1b00";
-	const char *expected_channel1 = "0.0.1b01";
 	const char * const *subchannels;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIRED_CTC_STATIC,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        &unmanaged,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-ctc-static",
+	                                    NULL, TYPE_ETHERNET, &unmanaged);
 	g_assert (unmanaged == NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con != NULL);
-	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, expected_id);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System test-wired-ctc-static");
 
 	/* ===== WIRED SETTING ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -6010,22 +3303,15 @@ test_read_wired_ctc_static (void)
 	g_assert (subchannels != NULL);
 	g_assert (subchannels[0] && subchannels[1] && !subchannels[2]);
 
-	g_assert_cmpstr (subchannels[0], ==, expected_channel0);
-	g_assert_cmpstr (subchannels[1], ==, expected_channel1);
+	g_assert_cmpstr (subchannels[0], ==, "0.0.1b00");
+	g_assert_cmpstr (subchannels[1], ==, "0.0.1b01");
 
-	/* Nettype */
 	g_assert_cmpstr (nm_setting_wired_get_s390_nettype (s_wired), ==, "ctc");
-
-	/* port name */
-	tmp = nm_setting_wired_get_s390_option_by_key (s_wired, "ctcprot");
-	g_assert (tmp != NULL);
-	g_assert_cmpstr (tmp, ==, "0");
+	g_assert_cmpstr (nm_setting_wired_get_s390_option_by_key (s_wired, "ctcprot"), ==, "0");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP_NO_KEYS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-no-keys"
-
 static void
 test_read_wifi_wep_no_keys (void)
 {
@@ -6033,42 +3319,16 @@ test_read_wifi_wep_no_keys (void)
 	NMSettingConnection *s_con;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "System foobar (test-wifi-wep-no-keys)";
 	NMWepKeyType key_type;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "wifi-wep-no-keys-read", "failed to read %s: %s", TEST_IFCFG_WIFI_WEP_NO_KEYS, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "wifi-wep-no-keys-verify", "failed to verify %s: %s", TEST_IFCFG_WIFI_WEP_NO_KEYS, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-no-keys",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "wifi-wep-no-keys-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "wifi-wep-no-keys-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "wifi-wep-no-keys-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System foobar (test-wifi-wep-no-keys)");
 
 	/* UUID can't be tested if the ifcfg does not contain the UUID key, because
 	 * the UUID is generated on the full path of the ifcfg file, which can change
@@ -6078,135 +3338,79 @@ test_read_wifi_wep_no_keys (void)
 	/* ===== WIRELESS SETTING ===== */
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
+	g_assert (s_wireless);
 
 	/* ===== WIRELESS SECURITY SETTING ===== */
 
 	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	ASSERT (s_wsec != NULL,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
+	g_assert (s_wsec);
 
 	/* Key management */
-	ASSERT (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
+	g_assert_cmpstr (nm_setting_wireless_security_get_key_mgmt (s_wsec), ==, "none");
 
 	/* WEP key index */
-	ASSERT (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec) == 0,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX);
+	g_assert_cmpint (nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec), ==, 0);
 
 	/* WEP key type */
 	key_type = nm_setting_wireless_security_get_wep_key_type (s_wsec);
-	ASSERT (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: unexpected WEP key type %d",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        key_type);
+	g_assert (key_type == NM_WEP_KEY_TYPE_UNKNOWN || key_type == NM_WEP_KEY_TYPE_KEY);
 
 	/* WEP key index 0; we don't expect it to be filled */
-	tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
-	ASSERT (tmp == NULL,
-	        "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_WIFI_WEP_NO_KEYS,
-	        NM_SETTING_WIRELESS_SECURITY_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SECURITY_WEP_KEY0);
+	g_assert (!nm_setting_wireless_security_get_wep_key (s_wsec, 0));
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_PERMISSIONS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-permissions"
-
 static void
 test_read_permissions (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	gboolean success;
-	GError *error = NULL;
 	guint32 num;
 	const char *tmp;
 
-	connection = connection_from_file_test (TEST_IFCFG_PERMISSIONS,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "permissions-read", "failed to read %s: %s", TEST_IFCFG_PERMISSIONS, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "permissions-verify", "failed to verify %s: %s", TEST_IFCFG_PERMISSIONS, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-permissions",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "permissions-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_PERMISSIONS,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
 	num = nm_setting_connection_get_num_permissions (s_con);
-	ASSERT (num == 3,
-	        "permissions-verify-permissions", "unexpected number of permissions (%d, expected 3)",
-	        num);
+	g_assert_cmpint (num, ==, 3);
 
 	/* verify each permission */
 	tmp = NULL;
 	success = nm_setting_connection_get_permission (s_con, 0, NULL, &tmp, NULL);
-	ASSERT (success == TRUE,
-	        "permissions-verify-permissions", "unexpected failure getting permission #1");
-	ASSERT (strcmp (tmp, "dcbw") == 0,
-	        "permissions-verify-permissions", "unexpected permission #1");
+	g_assert (success);
+	g_assert_cmpstr (tmp, ==, "dcbw");
 
 	tmp = NULL;
 	success = nm_setting_connection_get_permission (s_con, 1, NULL, &tmp, NULL);
-	ASSERT (success == TRUE,
-	        "permissions-verify-permissions", "unexpected failure getting permission #2");
-	ASSERT (strcmp (tmp, "ssmith") == 0,
-	        "permissions-verify-permissions", "unexpected permission #2");
+	g_assert (success);
+	g_assert_cmpstr (tmp, ==, "ssmith");
 
 	tmp = NULL;
 	success = nm_setting_connection_get_permission (s_con, 2, NULL, &tmp, NULL);
-	ASSERT (success == TRUE,
-	        "permissions-verify-permissions", "unexpected failure getting permission #3");
-	ASSERT (strcmp (tmp, "johnny5") == 0,
-	        "permissions-verify-permissions", "unexpected permission #3");
+	g_assert (success);
+	g_assert_cmpstr (tmp, ==, "johnny5");
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_WIFI_WEP_AGENT_KEYS TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-wep-agent-keys"
-
 static void
 test_read_wifi_wep_agent_keys (void)
 {
 	NMConnection *connection;
 	NMSettingWireless *s_wifi;
 	NMSettingWirelessSecurity *s_wsec;
-	GError *error = NULL;
 	NMWepKeyType key_type;
-	gboolean success;
 	NMSettingSecretFlags flags;
 
-	connection = connection_from_file_test (TEST_IFCFG_WIFI_WEP_AGENT_KEYS,
-	                                        NULL,
-	                                        TYPE_WIRELESS,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection != NULL);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-wep-agent-keys",
+	                                    NULL, TYPE_WIRELESS, NULL);
 
 	/* Ensure the connection is still marked for wifi security even though
 	 * we don't have any WEP keys because they are agent owned.
@@ -6244,21 +3448,10 @@ test_write_wired_static (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4, *reread_s_ip4;
 	NMSettingIPConfig *s_ip6, *reread_s_ip6;
-	static const char *mac = "31:33:33:37:be:cd";
-	guint32 mtu = 1492;
 	char *uuid;
-	const char *dns1 = "4.2.2.1";
-	const char *dns2 = "4.2.2.2";
-	const char *dns_search1 = "foobar.com";
-	const char *dns_search2 = "lab.foobar.com";
-	const char *dns_search3 = "foobar6.com";
-	const char *dns_search4 = "lab6.foobar.com";
-	const char *dns6_1 = "fade:0102:0103::face";
-	const char *dns6_2 = "cafe:ffff:eeee:dddd:cccc:bbbb:aaaa:feed";
 	NMIPAddress *addr;
 	NMIPAddress *addr6;
 	NMIPRoute *route6;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *route6file = NULL;
@@ -6283,8 +3476,8 @@ test_write_wired_static (void)
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
 	g_object_set (s_wired,
-	              NM_SETTING_WIRED_MAC_ADDRESS, mac,
-	              NM_SETTING_WIRED_MTU, mtu,
+	              NM_SETTING_WIRED_MAC_ADDRESS, "31:33:33:37:be:cd",
+	              NM_SETTING_WIRED_MTU, (guint32) 1492,
 	              NULL);
 
 	/* IP4 setting */
@@ -6308,11 +3501,11 @@ test_write_wired_static (void)
 	nm_setting_ip_config_add_address (s_ip4, addr);
 	nm_ip_address_unref (addr);
 
-	nm_setting_ip_config_add_dns (s_ip4, dns1);
-	nm_setting_ip_config_add_dns (s_ip4, dns2);
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.1");
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.2");
 
-	nm_setting_ip_config_add_dns_search (s_ip4, dns_search1);
-	nm_setting_ip_config_add_dns_search (s_ip4, dns_search2);
+	nm_setting_ip_config_add_dns_search (s_ip4, "foobar.com");
+	nm_setting_ip_config_add_dns_search (s_ip4, "lab.foobar.com");
 
 	/* IP6 setting */
 	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -6354,47 +3547,26 @@ test_write_wired_static (void)
 	nm_ip_route_unref (route6);
 
 	/* DNS servers */
-	nm_setting_ip_config_add_dns (s_ip6, dns6_1);
-	nm_setting_ip_config_add_dns (s_ip6, dns6_2);
+	nm_setting_ip_config_add_dns (s_ip6, "fade:0102:0103::face");
+	nm_setting_ip_config_add_dns (s_ip6, "cafe:ffff:eeee:dddd:cccc:bbbb:aaaa:feed");
 
 	/* DNS domains */
-	nm_setting_ip_config_add_dns_search (s_ip6, dns_search3);
-	nm_setting_ip_config_add_dns_search (s_ip6, dns_search4);
+	nm_setting_ip_config_add_dns_search (s_ip6, "foobar6.com");
+	nm_setting_ip_config_add_dns_search (s_ip6, "lab6.foobar.com");
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-static-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-static-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wired-static-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	/* reread will be normalized, so we must normalize connection too. */
 	nm_connection_normalize (connection, NULL, NULL, NULL);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-static-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-static-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	/* FIXME: currently DNS domains from IPv6 setting are stored in 'DOMAIN' key in ifcfg-file 
+	/* FIXME: currently DNS domains from IPv6 setting are stored in 'DOMAIN' key in ifcfg-file
 	 * However after re-reading they are dropped into IPv4 setting.
 	 * So, in order to comparison succeeded, move DNS domains back to IPv6 setting.
 	 */
@@ -6429,8 +3601,6 @@ test_write_wired_dhcp (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -6464,9 +3634,7 @@ test_write_wired_dhcp (void)
 	              NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-dhcp-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
 	/* IP6 setting */
 	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -6477,37 +3645,14 @@ test_write_wired_dhcp (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-dhcp-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wired-dhcp-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-dhcp-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-dhcp-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wired-dhcp-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -6519,39 +3664,19 @@ test_write_wired_dhcp_plus_ip (void)
 {
 	NMConnection *connection, *reread;
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-plus-ip",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-plus-ip",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (written, NULL, TYPE_ETHERNET, NULL,
-	                                    &error);
+	reread = _connection_from_file (written, NULL, TYPE_ETHERNET, NULL);
 	unlink (written);
 	g_free (written);
 
-	g_assert_no_error (error);
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -6565,14 +3690,9 @@ test_read_write_wired_dhcp_send_hostname (void)
 	NMSettingIPConfig *s_ip6;
 	const char * dhcp_hostname = "kamil-patka";
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-send-hostname",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-dhcp-send-hostname",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* Check dhcp-hostname and dhcp-send-hostname */
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
@@ -6588,30 +3708,15 @@ test_read_write_wired_dhcp_send_hostname (void)
 	g_object_set (s_ip4, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME, dhcp_hostname, NULL);
 	g_object_set (s_ip6, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME, dhcp_hostname, NULL);
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (written, NULL, TYPE_ETHERNET, NULL,
-	                                    &error);
+	reread = _connection_from_file (written, NULL, TYPE_ETHERNET, NULL);
 	unlink (written);
 	g_free (written);
 
-	g_assert_no_error (error);
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	/* Check dhcp-hostname and dhcp-send-hostname from the re-read connection. */
 	s_ip4 = nm_connection_get_setting_ip4_config (reread);
@@ -6635,11 +3740,8 @@ test_write_wired_static_ip6_only (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	static const char *mac = "31:33:33:37:be:cd";
 	char *uuid;
-	const char *dns6 = "fade:0102:0103::face";
 	NMIPAddress *addr6;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 
@@ -6662,7 +3764,7 @@ test_write_wired_static_ip6_only (void)
 	s_wired = (NMSettingWired *) nm_setting_wired_new ();
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
-	g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, mac, NULL);
+	g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, "31:33:33:37:be:cd", NULL);
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
@@ -6687,43 +3789,18 @@ test_write_wired_static_ip6_only (void)
 	nm_ip_address_unref (addr6);
 
 	/* DNS server */
-	nm_setting_ip_config_add_dns (s_ip6, dns6);
-
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-static-ip6-only-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nm_setting_ip_config_add_dns (s_ip6, "fade:0102:0103::face");
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-static-ip6-only-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wired-static-ip6-only-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-static-ip6-only-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-static-ip6-only-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wired-static-ip6-only-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -6747,11 +3824,8 @@ test_write_wired_static_ip6_only_gw (gconstpointer user_data)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	static const char *mac = "31:33:33:37:be:cd";
 	char *uuid;
-	const char *dns6 = "fade:0102:0103::face";
 	NMIPAddress *addr6;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *id = NULL;
@@ -6779,7 +3853,7 @@ test_write_wired_static_ip6_only_gw (gconstpointer user_data)
 	s_wired = (NMSettingWired *) nm_setting_wired_new ();
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
-	g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, mac, NULL);
+	g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, "31:33:33:37:be:cd", NULL);
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
@@ -6805,32 +3879,17 @@ test_write_wired_static_ip6_only_gw (gconstpointer user_data)
 	nm_ip_address_unref (addr6);
 
 	/* DNS server */
-	nm_setting_ip_config_add_dns (s_ip6, dns6);
+	nm_setting_ip_config_add_dns (s_ip6, "fade:0102:0103::face");
 
-	g_assert (nm_connection_verify (connection, &error));
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	{
 		/* re-read the file to check that what key was written. */
@@ -6851,7 +3910,7 @@ test_write_wired_static_ip6_only_gw (gconstpointer user_data)
 	g_assert (addr6);
 
 	/* assert that the gateway was written and reloaded as expected */
-	if (!gateway6) {
+	if (!gateway6 || !strcmp (gateway6, "::")) {
 		g_assert (nm_setting_ip_config_get_gateway (s_ip6) == NULL);
 		g_assert (written_ifcfg_gateway == NULL);
 	} else {
@@ -6866,8 +3925,6 @@ test_write_wired_static_ip6_only_gw (gconstpointer user_data)
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY TEST_IFCFG_DIR"/network-scripts/ifcfg-test-static-routes-legacy"
-
 static void
 test_read_write_static_routes_legacy (void)
 {
@@ -6878,114 +3935,52 @@ test_read_write_static_routes_legacy (void)
 	char *testfile = NULL;
 	char *routefile = NULL;
 	char *route6file = NULL;
-	gboolean success;
-	GError *error = NULL;
 	const char *tmp;
 
-	connection = connection_from_file_test (TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "read-write-static-routes-legacy-read", "failed to read %s: %s",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "read-write-static-routes-legacy-verify", "failed to verify %s: %s",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-static-routes-legacy",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	/* ===== CONNECTION SETTING ===== */
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "read-write-static-routes-legacy-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
 	/* ID */
 	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "read-write-static-routes-legacy-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
+	g_assert (tmp);
 
 	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "read_write-static-routes-legacy-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRED SETTING ===== */
 
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "read-write-static-routes-legacy-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
 
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "read-write-static-routes-legacy-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "read-write-static-routes-legacy-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_never_default (s_ip4) == FALSE,
-	        "read-write-static-routes-legacy-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_NEVER_DEFAULT);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+
+	g_assert (!nm_setting_ip_config_get_never_default (s_ip4));
 
 	/* Save the ifcfg; use a special different scratch dir to ensure that
 	 * we can clean up after the written connection in both the original
 	 * source tree and for 'make distcheck'.
 	 */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/tmp",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "read-write-static-routes-legacy-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "read-write-static-routes-legacy-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/tmp",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 	routefile = utils_get_route_path (testfile);
 	unlink (routefile);
 	route6file = utils_get_route6_path (testfile);
 	unlink (route6file);
 
-	ASSERT (reread != NULL,
-	        "read-write-static-routes-legacy-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "read-write-static-routes-legacy-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "read-write-static-routes-legacy-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (routefile);
@@ -7003,16 +3998,9 @@ test_write_wired_static_routes (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	static const char *mac = "31:33:33:37:be:cd";
-	guint32 mtu = 1492;
 	char *uuid;
-	const char *dns1 = "4.2.2.1";
-	const char *dns2 = "4.2.2.2";
-	const char *dns_search1 = "foobar.com";
-	const char *dns_search2 = "lab.foobar.com";
 	NMIPAddress *addr;
 	NMIPRoute *route;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *routefile = NULL;
@@ -7037,8 +4025,8 @@ test_write_wired_static_routes (void)
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
 	g_object_set (s_wired,
-	              NM_SETTING_WIRED_MAC_ADDRESS, mac,
-	              NM_SETTING_WIRED_MTU, mtu,
+	              NM_SETTING_WIRED_MAC_ADDRESS, "31:33:33:37:be:cd",
+	              NM_SETTING_WIRED_MTU, (guint32) 1492,
 	              NULL);
 
 	/* IP4 setting */
@@ -7071,11 +4059,11 @@ test_write_wired_static_routes (void)
 	nm_setting_ip_config_add_route (s_ip4, route);
 	nm_ip_route_unref (route);
 
-	nm_setting_ip_config_add_dns (s_ip4, dns1);
-	nm_setting_ip_config_add_dns (s_ip4, dns2);
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.1");
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.2");
 
-	nm_setting_ip_config_add_dns_search (s_ip4, dns_search1);
-	nm_setting_ip_config_add_dns_search (s_ip4, dns_search2);
+	nm_setting_ip_config_add_dns_search (s_ip4, "foobar.com");
+	nm_setting_ip_config_add_dns_search (s_ip4, "lab.foobar.com");
 
 	/* IP6 setting */
 	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -7086,44 +4074,19 @@ test_write_wired_static_routes (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-static-routes-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-static-routes-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wired-static-routes-write", "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-static-routes-write-reread", "failed to read %s: %s", testfile, error->message);
-
 	routefile = utils_get_route_path (testfile);
 	unlink (routefile);
 
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-static-routes-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wired-static-routes-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (routefile);
@@ -7196,53 +4159,26 @@ test_write_wired_dhcp_8021x_peap_mschapv2 (void)
 
 	nm_setting_802_1x_add_eap_method (s_8021x, "peap");
 
-	success = nm_setting_802_1x_set_ca_cert (s_8021x, 
+	success = nm_setting_802_1x_set_ca_cert (s_8021x,
 	                                         TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2_CA_CERT,
 	                                         NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                         NULL,
 	                                         &error);
-	ASSERT (success == TRUE,
-	        "wired-dhcp-8021x-peap-mschapv2write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_success (success, error);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-dhcp-8021x-peap-mschapv2write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-dhcp-8021x-peap-mschapv2write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wired-dhcp-8021x-peap-mschapv2write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-dhcp-8021x-peap-mschapv2write-reread", "failed to read %s: %s", testfile, error->message);
-
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-dhcp-8021x-peap-mschapv2write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wired-dhcp-8021x-peap-mschapv2write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -7250,31 +4186,8 @@ test_write_wired_dhcp_8021x_peap_mschapv2 (void)
 	g_object_unref (reread);
 }
 
-#if 0
-static GByteArray *
-file_to_byte_array (const char *filename)
-{
-	char *contents;
-	GByteArray *array = NULL;
-	gsize length = 0;
-
-	if (g_file_get_contents (filename, &contents, &length, NULL)) {
-		array = g_byte_array_sized_new (length);
-		g_byte_array_append (array, (guint8 *) contents, length);
-		g_assert (array->len == length);
-		g_free (contents);
-	}
-	return array;
-}
-#endif
-
-#define TEST_IFCFG_WIRED_TLS_CA_CERT TEST_IFCFG_DIR"/network-scripts/test_ca_cert.pem"
-#define TEST_IFCFG_WIRED_TLS_CLIENT_CERT TEST_IFCFG_DIR"/network-scripts/test1_key_and_cert.pem"
-#define TEST_IFCFG_WIRED_TLS_PRIVATE_KEY TEST_IFCFG_DIR"/network-scripts/test1_key_and_cert.pem"
-
 static void
-test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
-                            NMSettingSecretFlags flags)
+test_write_wired_8021x_tls (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMConnection *reread;
@@ -7291,6 +4204,13 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 	NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN;
 	const char *pw;
 	char *tmp;
+	gpointer scheme_p, flags_p;
+	NMSetting8021xCKScheme scheme;
+	NMSettingSecretFlags flags;
+
+	nmtst_test_data_unpack (test_data, &scheme_p, &flags_p);
+	scheme = GPOINTER_TO_INT (scheme_p);
+	flags = GPOINTER_TO_INT (flags_p);
 
 	connection = nm_simple_connection_new ();
 	g_assert (connection != NULL);
@@ -7339,7 +4259,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 
 	/* CA cert */
 	success = nm_setting_802_1x_set_ca_cert (s_8021x,
-	                                         TEST_IFCFG_WIRED_TLS_CA_CERT,
+	                                         TEST_IFCFG_DIR "/network-scripts/test_ca_cert.pem",
 	                                         scheme,
 	                                         &format,
 	                                         &error);
@@ -7350,7 +4270,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 	/* Client cert */
 	format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN;
 	success = nm_setting_802_1x_set_client_cert (s_8021x,
-	                                             TEST_IFCFG_WIRED_TLS_CLIENT_CERT,
+	                                             TEST_IFCFG_DIR "/network-scripts/test1_key_and_cert.pem",
 	                                             scheme,
 	                                             &format,
 	                                             &error);
@@ -7361,7 +4281,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 	/* Private key */
 	format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN;
 	success = nm_setting_802_1x_set_private_key (s_8021x,
-	                                             TEST_IFCFG_WIRED_TLS_PRIVATE_KEY,
+	                                             TEST_IFCFG_DIR "/network-scripts/test1_key_and_cert.pem",
 	                                             "test1",
 	                                             scheme,
 	                                             &format,
@@ -7373,48 +4293,17 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 	/* Set secret flags */
 	g_object_set (s_8021x, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS, flags, NULL);
 
-	/* Verify finished connection */
-	success = nm_connection_verify (connection, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify connection: %s", error->message);
-	}
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to write connection: %s", error->message);
-	}
-	g_assert (success);
-	g_assert (testfile != NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify %s: %s", testfile, error->message);
-	}
-	g_assert (success);
-
 	/* Ensure the reread connection's certificates and private key are paths; no
 	 * matter what scheme was used in the original connection they will be read
 	 * back in as paths.
@@ -7452,7 +4341,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
 			g_object_set (s_8021x, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD, NULL, NULL);
 		}
 
-		g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+		nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 	}
 
 	/* Clean up created certs and keys */
@@ -7489,21 +4378,17 @@ test_write_wired_aliases (void)
 	const char *ip[] = { "1.1.1.1", "1.1.1.2", "1.1.1.3", "1.1.1.4" };
 	const char *label[] = { NULL, "alias0:2", NULL, "alias0:3" };
 	NMIPAddress *addr;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	shvarFile *ifcfg;
 	int i, j;
 
 	connection = nm_simple_connection_new ();
-	ASSERT (connection != NULL,
-	        "wired-aliases-write", "failed to allocate new connection");
+	g_assert (connection);
 
 	/* Connection setting */
 	s_con = (NMSettingConnection *) nm_setting_connection_new ();
-	ASSERT (s_con != NULL,
-	        "wired-aliases-write", "failed to allocate new %s setting",
-	        NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 	nm_connection_add_setting (connection, NM_SETTING (s_con));
 
 	uuid = nm_utils_uuid_generate ();
@@ -7516,16 +4401,12 @@ test_write_wired_aliases (void)
 
 	/* Wired setting */
 	s_wired = (NMSettingWired *) nm_setting_wired_new ();
-	ASSERT (s_wired != NULL,
-	        "wired-aliases-write", "failed to allocate new %s setting",
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
-	ASSERT (s_ip4 != NULL,
-	        "wired-aliases-write", "failed to allocate new %s setting",
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
+	g_assert (s_ip4);
 	nm_connection_add_setting (connection, NM_SETTING (s_ip4));
 
 	g_object_set (s_ip4,
@@ -7543,9 +4424,7 @@ test_write_wired_aliases (void)
 		nm_ip_address_unref (addr);
 	}
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-aliases-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
 	/* Create some pre-existing alias files, to make sure they get overwritten / deleted. */
 	ifcfg = svCreateFile (TEST_SCRATCH_ALIAS_BASE ":2");
@@ -7553,63 +4432,35 @@ test_write_wired_aliases (void)
 	svSetValue (ifcfg, "IPADDR", "192.168.1.2", FALSE);
 	svWriteFile (ifcfg, 0644, NULL);
 	svCloseFile (ifcfg);
-	ASSERT (g_file_test (TEST_SCRATCH_ALIAS_BASE ":2", G_FILE_TEST_EXISTS),
-	        "wired-aliases-write", "failed to write extra alias file");
+	g_assert (g_file_test (TEST_SCRATCH_ALIAS_BASE ":2", G_FILE_TEST_EXISTS));
 
 	ifcfg = svCreateFile (TEST_SCRATCH_ALIAS_BASE ":5");
 	svSetValue (ifcfg, "DEVICE", "alias0:5", FALSE);
 	svSetValue (ifcfg, "IPADDR", "192.168.1.5", FALSE);
 	svWriteFile (ifcfg, 0644, NULL);
 	svCloseFile (ifcfg);
-	ASSERT (g_file_test (TEST_SCRATCH_ALIAS_BASE ":5", G_FILE_TEST_EXISTS),
-	        "wired-aliases-write", "failed to write extra alias file");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-aliases-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	g_assert (g_file_test (TEST_SCRATCH_ALIAS_BASE ":5", G_FILE_TEST_EXISTS));
 
-	ASSERT (testfile != NULL,
-	        "wired-aliases-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	/* Re-check the alias files */
-	ASSERT (g_file_test (TEST_SCRATCH_ALIAS_BASE ":2", G_FILE_TEST_EXISTS),
-	        "wired-aliases-write", "saving failed to write ifcfg-alias0:2");
-	ASSERT (g_file_test (TEST_SCRATCH_ALIAS_BASE ":3", G_FILE_TEST_EXISTS),
-	        "wired-aliases-write", "saving failed to write ifcfg-alias0:3");
-	ASSERT (!g_file_test (TEST_SCRATCH_ALIAS_BASE ":5", G_FILE_TEST_EXISTS),
-	        "wired-aliases-write", "saving failed to delete unused ifcfg-alias0:5");
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	g_assert (g_file_test (TEST_SCRATCH_ALIAS_BASE ":2", G_FILE_TEST_EXISTS));
+	g_assert (g_file_test (TEST_SCRATCH_ALIAS_BASE ":3", G_FILE_TEST_EXISTS));
+	g_assert (!g_file_test (TEST_SCRATCH_ALIAS_BASE ":5", G_FILE_TEST_EXISTS));
+
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 	unlink (TEST_SCRATCH_ALIAS_BASE ":2");
 	unlink (TEST_SCRATCH_ALIAS_BASE ":3");
 
-	ASSERT (reread != NULL,
-	        "wired-aliases-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-aliases-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
 	/* nm_connection_compare() is not guaranteed to succeed, because the
 	 * aliases get read back in essentially random order. So just
 	 * verify the aliases manually.
 	 */
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == num_addresses,
-	        "wired-aliases-write-verify-ip4", "failed to verify %s: unexpected %s / %s key value",
-	        testfile,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (nm_setting_ip_config_get_num_addresses (s_ip4) == num_addresses);
 
 	/* Addresses */
 	for (i = 0; i < num_addresses; i++) {
@@ -7634,12 +4485,8 @@ test_write_wired_aliases (void)
 		ip[j] = NULL;
 	}
 
-	for (i = 0; i < num_addresses; i++) {
-		ASSERT (ip[i] == 0,
-		        "wired-aliases-write-verify-ip4", "failed to verify %s: did not find IP4 address 0x%08x",
-		        testfile,
-		        ip[i]);
-	}
+	for (i = 0; i < num_addresses; i++)
+		g_assert (!ip[i]);
 
 	/* Gateway */
 	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip4), ==, "1.1.1.1");
@@ -7657,7 +4504,6 @@ test_write_gateway (void)
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	shvarFile *f;
 	NMIPAddress *addr;
@@ -7700,17 +4546,11 @@ test_write_gateway (void)
 	nm_setting_ip_config_add_address (s_ip4, addr);
 	nm_ip_address_unref (addr);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -7756,21 +4596,10 @@ test_write_gateway (void)
 
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_WIRELESS,
-	                                    NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
 
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -7788,14 +4617,10 @@ test_write_wifi_open (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	GBytes *ssid;
 	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	const char *bssid = "11:22:33:44:55:66";
-	guint32 channel = 9, mtu = 1345;
-	const char *mac = "aa:bb:cc:dd:ee:ff";
 	shvarFile *ifcfg;
 	char *tmp;
 
@@ -7822,12 +4647,12 @@ test_write_wifi_open (void)
 
 	g_object_set (s_wifi,
 	              NM_SETTING_WIRELESS_SSID, ssid,
-	              NM_SETTING_WIRELESS_BSSID, bssid,
-	              NM_SETTING_WIRELESS_MAC_ADDRESS, mac,
+	              NM_SETTING_WIRELESS_BSSID, "11:22:33:44:55:66",
+	              NM_SETTING_WIRELESS_MAC_ADDRESS, "aa:bb:cc:dd:ee:ff",
 	              NM_SETTING_WIRELESS_MODE, "infrastructure",
 	              NM_SETTING_WIRELESS_BAND, "bg",
-	              NM_SETTING_WIRELESS_CHANNEL, channel,
-	              NM_SETTING_WIRELESS_MTU, mtu,
+	              NM_SETTING_WIRELESS_CHANNEL, (guint32) 9,
+	              NM_SETTING_WIRELESS_MTU, (guint32) 1345,
 	              NULL);
 
 	g_bytes_unref (ssid);
@@ -7847,32 +4672,13 @@ test_write_wifi_open (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-open-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-open-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wifi-open-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 
 	/* Now make sure that the ESSID item isn't double-quoted (rh #606518) */
 	ifcfg = svOpenFile (testfile, &error);
@@ -7880,25 +4686,16 @@ test_write_wifi_open (void)
 	g_assert (ifcfg != NULL);
 
 	tmp = svGetValue (ifcfg, "ESSID", TRUE);
-	ASSERT (tmp != NULL,
-	        "wifi-open-write-reread", "failed to read ESSID key from %s", testfile);
+	g_assert (tmp);
 
-	ASSERT (strncmp (tmp, "\"\"", 2) != 0,
-	        "wifi-open-write-reread", "unexpected ESSID double-quote in %s", testfile);
+	g_assert (strncmp (tmp, "\"\"", 2) != 0);
 
 	g_free (tmp);
 	svCloseFile (ifcfg);
 
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-open-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-open-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-open-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -7915,8 +4712,6 @@ test_write_wifi_open_hex_ssid (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	GBytes *ssid;
 	const unsigned char ssid_data[] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd };
@@ -7964,41 +4759,16 @@ test_write_wifi_open_hex_ssid (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-open-hex-ssid-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-open-hex-ssid-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-open-hex-ssid-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-open-hex-ssid-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-open-hex-ssid-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-open-hex-ssid-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -8016,8 +4786,6 @@ test_write_wifi_wep (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
@@ -8081,50 +4849,22 @@ test_write_wifi_wep (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wep-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wep-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wifi-wep-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-wep-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-wep-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-wep-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wep-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wep-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wep-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8143,7 +4883,6 @@ test_write_wifi_wep_adhoc (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
@@ -8151,7 +4890,6 @@ test_write_wifi_wep_adhoc (void)
 	const char *ssid_data = "blahblah";
 	struct stat statbuf;
 	NMIPAddress *addr;
-	const char *dns1 = "4.2.2.1";
 
 	connection = nm_simple_connection_new ();
 
@@ -8203,7 +4941,7 @@ test_write_wifi_wep_adhoc (void)
 	nm_setting_ip_config_add_address (s_ip4, addr);
 	nm_ip_address_unref (addr);
 
-	nm_setting_ip_config_add_dns (s_ip4, dns1);
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.1");
 
 	/* IP6 setting */
 	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -8214,50 +4952,22 @@ test_write_wifi_wep_adhoc (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wep-adhoc-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wep-adhoc-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wifi-wep-adhoc-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-wep-adhoc-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-wep-adhoc-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-wep-adhoc-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wep-adhoc-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wep-adhoc-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wep-adhoc-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8276,8 +4986,6 @@ test_write_wifi_wep_passphrase (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
@@ -8339,50 +5047,22 @@ test_write_wifi_wep_passphrase (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wep-passphrase-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wep-passphrase-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-wep-passphrase-write", "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-wep-passphrase-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-wep-passphrase-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-wep-passphrase-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wep-passphrase-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wep-passphrase-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wep-passphrase-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8401,8 +5081,6 @@ test_write_wifi_wep_40_ascii (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
@@ -8466,50 +5144,22 @@ test_write_wifi_wep_40_ascii (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wep-40-ascii-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wep-40-ascii-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-wep-40-ascii-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-wep-40-ascii-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-wep-40-ascii-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-wep-40-ascii-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wep-40-ascii-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wep-40-ascii-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wep-40-ascii-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8528,8 +5178,6 @@ test_write_wifi_wep_104_ascii (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
@@ -8593,50 +5241,23 @@ test_write_wifi_wep_104_ascii (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wep-104-ascii-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wep-104-ascii-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-wep-104-ascii-write", "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-wep-104-ascii-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-wep-104-ascii-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-wep-104-ascii-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wep-104-ascii-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wep-104-ascii-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
 
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wep-104-ascii-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8655,8 +5276,6 @@ test_write_wifi_leap (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
@@ -8717,50 +5336,22 @@ test_write_wifi_leap (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-leap-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-leap-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wifi-leap-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
-	ASSERT (stat (keyfile, &statbuf) == 0,
-	        "wifi-leap-write-reread", "couldn't stat() '%s'", keyfile);
-	ASSERT (S_ISREG (statbuf.st_mode),
-	        "wifi-leap-write-reread", "keyfile '%s' wasn't a normal file", keyfile);
-	ASSERT ((statbuf.st_mode & 0077) == 0,
-	        "wifi-leap-write-reread", "keyfile '%s' wasn't readable only by its owner", keyfile);
+	g_assert_cmpint (stat (keyfile, &statbuf), ==, 0);
+	g_assert (S_ISREG (statbuf.st_mode));
+	g_assert_cmpint ((statbuf.st_mode & 0077), ==, 0);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-leap-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-leap-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-leap-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8769,7 +5360,7 @@ test_write_wifi_leap (void)
 }
 
 static void
-test_write_wifi_leap_secret_flags (NMSettingSecretFlags flags)
+test_write_wifi_leap_secret_flags (gconstpointer data)
 {
 	NMConnection *connection;
 	NMConnection *reread;
@@ -8779,12 +5370,11 @@ test_write_wifi_leap_secret_flags (NMSettingSecretFlags flags)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
 	const char *ssid_data = "blahblah";
+	NMSettingSecretFlags flags = GPOINTER_TO_UINT (data);
 
 	connection = nm_simple_connection_new ();
 	g_assert (connection);
@@ -8843,47 +5433,24 @@ test_write_wifi_leap_secret_flags (NMSettingSecretFlags flags)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
-	g_assert_no_error (error);
-
 	/* No key should be written out since the secret is not system owned */
 	keyfile = utils_get_keys_path (testfile);
 	g_assert (g_file_test (keyfile, G_FILE_TEST_EXISTS) == FALSE);
 
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
 	/* Remove the LEAP password from the original connection since it wont' be
 	 * in the reread connection, as the password is not system owned.
 	 */
 	g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD, NULL, NULL);
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -8892,12 +5459,7 @@ test_write_wifi_leap_secret_flags (NMSettingSecretFlags flags)
 }
 
 static void
-test_write_wifi_wpa_psk (const char *name,
-                         const char *test_name,
-                         gboolean wep_group,
-                         gboolean wpa,
-                         gboolean wpa2,
-                         const char *psk)
+test_write_wifi_wpa_psk (gconstpointer test_data)
 {
 	NMConnection *connection;
 	NMConnection *reread;
@@ -8906,15 +5468,19 @@ test_write_wifi_wpa_psk (const char *name,
 	NMSettingWirelessSecurity *s_wsec;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	char *uuid, *tmp;
-	gboolean success;
-	GError *error = NULL;
+	char *uuid;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
 	const char *ssid_data = "blahblah";
+	struct {
+		const char *name, *psk;
+		gpointer wep_group_p, wpa_p, wpa2_p;
+	} args;
+
+	nmtst_test_data_unpack (test_data, &args.name, &args.wep_group_p, &args.wpa_p, &args.wpa2_p, &args.psk);
 
-	g_return_if_fail (psk != NULL);
+	g_assert (args.psk);
 
 	connection = nm_simple_connection_new ();
 
@@ -8924,7 +5490,7 @@ test_write_wifi_wpa_psk (const char *name,
 
 	uuid = nm_utils_uuid_generate ();
 	g_object_set (s_con,
-	              NM_SETTING_CONNECTION_ID, name,
+	              NM_SETTING_CONNECTION_ID, args.name,
 	              NM_SETTING_CONNECTION_UUID, uuid,
 	              NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
 	              NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRELESS_SETTING_NAME,
@@ -8950,19 +5516,19 @@ test_write_wifi_wpa_psk (const char *name,
 
 	g_object_set (s_wsec,
 	              NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-psk",
-	              NM_SETTING_WIRELESS_SECURITY_PSK, psk,
+	              NM_SETTING_WIRELESS_SECURITY_PSK, args.psk,
 	              NULL);
 
-	if (wep_group) {
+	if (GPOINTER_TO_INT (args.wep_group_p)) {
 		nm_setting_wireless_security_add_group (s_wsec, "wep40");
 		nm_setting_wireless_security_add_group (s_wsec, "wep104");
 	}
-	if (wpa) {
+	if (GPOINTER_TO_INT (args.wpa_p)) {
 		nm_setting_wireless_security_add_proto (s_wsec, "wpa");
 		nm_setting_wireless_security_add_pairwise (s_wsec, "tkip");
 		nm_setting_wireless_security_add_group (s_wsec, "tkip");
 	}
-	if (wpa2) {
+	if (GPOINTER_TO_INT (args.wpa2_p)) {
 		nm_setting_wireless_security_add_proto (s_wsec, "rsn");
 		nm_setting_wireless_security_add_pairwise (s_wsec, "ccmp");
 		nm_setting_wireless_security_add_group (s_wsec, "ccmp");
@@ -8983,46 +5549,19 @@ test_write_wifi_wpa_psk (const char *name,
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        test_name, "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        test_name, "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        test_name, "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	tmp = g_strdup_printf ("%s-reread", test_name);
-	ASSERT (reread != NULL,
-	        tmp, "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        tmp, "failed to verify %s: %s", testfile, error->message);
-	g_free (tmp);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        test_name, "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -9041,14 +5580,12 @@ test_write_wifi_wpa_psk_adhoc (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
 	GBytes *ssid;
 	const char *ssid_data = "blahblah";
 	NMIPAddress *addr;
-	const char *dns1 = "4.2.2.1";
 
 	connection = nm_simple_connection_new ();
 
@@ -9107,7 +5644,7 @@ test_write_wifi_wpa_psk_adhoc (void)
 	nm_setting_ip_config_add_address (s_ip4, addr);
 	nm_ip_address_unref (addr);
 
-	nm_setting_ip_config_add_dns (s_ip4, dns1);
+	nm_setting_ip_config_add_dns (s_ip4, "4.2.2.1");
 
 	/* IP6 setting */
 	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -9118,44 +5655,19 @@ test_write_wifi_wpa_psk_adhoc (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wpa-psk-adhoc-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-psk-adhoc-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	ASSERT (testfile != NULL,
-	        "wifi-wpa-psk-adhoc-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wpa-psk-adhoc-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wpa-psk-adhoc-write-reread", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wpa-psk-adhoc-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -9232,18 +5744,14 @@ test_write_wifi_wpa_eap_tls (void)
 	                                         NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                         NULL,
 	                                         &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-tls-write", "failed to set CA certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT, error->message);
+	nmtst_assert_success (success, error);
 
 	success = nm_setting_802_1x_set_client_cert (s_8021x,
 	                                             TEST_IFCFG_WIFI_WPA_EAP_TLS_CLIENT_CERT,
 	                                             NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                             NULL,
 	                                             &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-tls-write", "failed to set client certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CLIENT_CERT, error->message);
+	nmtst_assert_success (success, error);
 
 	success = nm_setting_802_1x_set_private_key (s_8021x,
 	                                             TEST_IFCFG_WIFI_WPA_EAP_TLS_PRIVATE_KEY,
@@ -9251,9 +5759,7 @@ test_write_wifi_wpa_eap_tls (void)
 	                                             NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                             NULL,
 	                                             &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-tls-write", "failed to set private key '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_PRIVATE_KEY, error->message);
+	nmtst_assert_success (success, error);
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
@@ -9270,44 +5776,19 @@ test_write_wifi_wpa_eap_tls (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wpa-eap-tls-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-tls-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-wpa-eap-tls-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wpa-eap-tls-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wpa-eap-tls-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wpa-eap-tls-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -9388,9 +5869,7 @@ test_write_wifi_wpa_eap_ttls_tls (void)
 	                                         NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                         NULL,
 	                                         &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to set CA certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT, error->message);
+	nmtst_assert_success (success, error);
 
 	/* Phase 2 TLS stuff */
 
@@ -9400,9 +5879,7 @@ test_write_wifi_wpa_eap_ttls_tls (void)
 	                                                NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                                NULL,
 	                                                &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to set inner CA certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT, error->message);
+	nmtst_assert_success (success, error);
 
 	/* phase2 client cert */
 	success = nm_setting_802_1x_set_phase2_client_cert (s_8021x,
@@ -9410,9 +5887,7 @@ test_write_wifi_wpa_eap_ttls_tls (void)
 	                                                    NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                                    NULL,
 	                                                    &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to set inner client certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CLIENT_CERT, error->message);
+	nmtst_assert_success (success, error);
 
 	/* phase2 private key */
 	success = nm_setting_802_1x_set_phase2_private_key (s_8021x,
@@ -9421,9 +5896,7 @@ test_write_wifi_wpa_eap_ttls_tls (void)
 	                                                    NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                                    NULL,
 	                                                    &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to set private key '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_PRIVATE_KEY, error->message);
+	nmtst_assert_success (success, error);
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
@@ -9440,44 +5913,19 @@ test_write_wifi_wpa_eap_ttls_tls (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "wifi-wpa-eap-ttls-tls-write", "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wpa-eap-ttls-tls-write-reread", "failed to read %s: %s", testfile, error->message);
-
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wpa-eap-ttls-tls-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wpa-eap-ttls-tls-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -9562,10 +6010,7 @@ test_write_wifi_wpa_eap_ttls_mschapv2 (void)
 	                                         NM_SETTING_802_1X_CK_SCHEME_PATH,
 	                                         NULL,
 	                                         &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-mschapv2-write", "failed to set CA certificate '%s': %s",
-	        TEST_IFCFG_WIFI_WPA_EAP_TLS_CA_CERT, error->message);
-
+	nmtst_assert_success (success, error);
 
 	/* IP4 setting */
 	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
@@ -9582,44 +6027,19 @@ test_write_wifi_wpa_eap_ttls_mschapv2 (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wifi-wpa-eap-ttls-mschapv2-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wifi-wpa-eap-ttls-mschapv2-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	ASSERT (testfile != NULL,
-	        "wifi-wpa-eap-ttls-mschapv2-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wifi-wpa-eap-ttls-mschapv2-write-reread", "failed to read %s: %s", testfile, error->message);
-
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wifi-wpa-eap-ttls-mschapv2-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wifi-wpa-eap-ttls-mschapv2-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_free (keyfile);
@@ -9715,39 +6135,20 @@ test_write_wifi_wpa_then_open (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
-	g_assert (reread);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (reread);
 
+	nmtst_connection_normalize (connection);
+
 	/* Now change the connection to open and recheck */
 	nm_connection_remove_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
 
@@ -9765,29 +6166,14 @@ test_write_wifi_wpa_then_open (void)
 	g_free (keyfile);
 	keyfile = NULL;
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read it for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-
-	g_assert (reread);
 
 	/* No keyfile since it's an open connection this time */
 	keyfile = utils_get_keys_path (testfile);
 	g_assert (g_file_test (keyfile, G_FILE_TEST_EXISTS) == FALSE);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	unlink (testfile);
 	g_free (testfile);
@@ -9839,8 +6225,7 @@ test_write_wifi_wpa_then_wep_with_perms (void)
 	              NULL);
 	g_free (uuid);
 	g_strfreev (perms);
-	ASSERT (nm_setting_connection_get_num_permissions (s_con) == 1,
-                "test_write_wifi_wpa_then_wep_with_perms", "unexpected failure adding valid user permisson");
+	g_assert_cmpint (nm_setting_connection_get_num_permissions (s_con), ==, 1);
 
 	/* Wifi setting */
 	s_wifi = (NMSettingWireless *) nm_setting_wireless_new ();
@@ -9891,39 +6276,20 @@ test_write_wifi_wpa_then_wep_with_perms (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (reread);
 
+	nmtst_connection_normalize (connection);
+
 	/* Now change the connection to WEP and recheck */
 	s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
 	g_assert (s_wsec);
@@ -9947,28 +6313,13 @@ test_write_wifi_wpa_then_wep_with_perms (void)
 	g_free (keyfile);
 	keyfile = NULL;
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read it for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
-
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 
+	nmtst_connection_normalize (connection);
 	success = nm_connection_compare (connection, reread,
 	                                 NM_SETTING_COMPARE_FLAG_IGNORE_AGENT_OWNED_SECRETS |
 	                                 NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS);
-
-	ASSERT (success,
-	        "test_write_wifi_wpa_then_wep_with_perms", "failed to compare connections");
+	g_assert (success);
 
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
@@ -9993,7 +6344,6 @@ test_write_wifi_dynamic_wep_leap (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	char *keyfile = NULL;
@@ -10067,40 +6417,18 @@ test_write_wifi_dynamic_wep_leap (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
-	g_assert_no_error (error);
-	g_assert (reread);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 
 	keyfile = utils_get_keys_path (testfile);
 	unlink (keyfile);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	/* Check and make sure that an "old-school" LEAP (Network EAP) connection
 	 * did not get written.  Check first that the auth alg is not set to "LEAP"
@@ -10137,8 +6465,6 @@ test_write_wired_qeth_dhcp (void)
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
 	char **subchans;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -10189,42 +6515,16 @@ test_write_wired_qeth_dhcp (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	/* Verify */
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-qeth-dhcp-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "wired-qeth-dhcp-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "wired-qeth-dhcp-write", "didn't get ifcfg file path back after writing connection");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "wired-qeth-dhcp-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "wired-qeth-dhcp-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "wired-qeth-dhcp-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -10242,7 +6542,6 @@ test_write_wired_ctc_dhcp (void)
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
 	char **subchans;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 	shvarFile *ifcfg;
@@ -10293,19 +6592,11 @@ test_write_wired_ctc_dhcp (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	/* Verify */
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile != NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	/* Ensure the CTCPROT item gets written out as it's own option */
 	ifcfg = svOpenFile (testfile, &error);
@@ -10324,24 +6615,10 @@ test_write_wired_ctc_dhcp (void)
 
 	svCloseFile (ifcfg);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	g_assert (reread);
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -10358,8 +6635,6 @@ test_write_permissions (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -10402,42 +6677,16 @@ test_write_permissions (void)
 	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
 	              NULL);
 
-	/* Verify */
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "permissions-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "permissions-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "permissions-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "permissions-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "permissions-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "permissions-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -10457,8 +6706,6 @@ test_write_wifi_wep_agent_keys (void)
 	char *uuid;
 	const char *str_ssid = "foobarbaz";
 	GBytes *ssid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -10517,38 +6764,15 @@ test_write_wifi_wep_agent_keys (void)
 	              NULL);
 	nm_setting_wireless_security_set_wep_key (s_wsec, 0, "asdfdjaslfjasd;flasjdfl;aksdf");
 
-	/* Verify */
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile != NULL);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_WIRELESS,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_WIRELESS, NULL);
 	unlink (testfile);
 
-	g_assert_no_error (error);
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
 	/* Remove the WEP key from the original, because it should not have been
 	 * written out to disk as it was agent-owned.  The new connection should
 	 * not have any WEP keys set.
@@ -10559,9 +6783,7 @@ test_write_wifi_wep_agent_keys (void)
 	              NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE, NM_WEP_KEY_TYPE_UNKNOWN,
 	              NULL);
 
-	/* Compare original and reread */
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -10578,9 +6800,7 @@ test_write_wired_pppoe (void)
 	NMSettingPppoe *s_pppoe;
 	NMSettingPpp *s_ppp;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
-	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
 
@@ -10623,17 +6843,11 @@ test_write_wired_pppoe (void)
 	s_ppp = (NMSettingPpp *) nm_setting_ppp_new ();
 	nm_connection_add_setting (connection, NM_SETTING (s_ppp));
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "wired-pppoe-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == FALSE,
-	        "wired-pppoe-write", "unexpected success writing connection to disk");
+	_writer_new_connection_fail (connection,
+	                             TEST_SCRATCH_DIR "/network-scripts/",
+	                             NULL);
 
 	g_object_unref (connection);
 	g_clear_error (&error);
@@ -10647,9 +6861,7 @@ test_write_vpn (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingVpn *s_vpn;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
-	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
 
@@ -10686,24 +6898,18 @@ test_write_vpn (void)
 	              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "vpn-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == FALSE,
-	        "vpn-write", "unexpected success writing connection to disk");
+	_writer_new_connection_fail (connection,
+	                             TEST_SCRATCH_DIR "/network-scripts/",
+	                             NULL);
 
 	g_object_unref (connection);
 	g_clear_error (&error);
 }
 
 static void
-test_write_mobile_broadband (gboolean gsm)
+test_write_mobile_broadband (gconstpointer data)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
@@ -10713,9 +6919,8 @@ test_write_mobile_broadband (gboolean gsm)
 	NMSettingPpp *s_ppp;
 	NMSettingSerial *s_serial;
 	char *uuid;
-	gboolean success;
 	GError *error = NULL;
-	char *testfile = NULL;
+	gboolean gsm = GPOINTER_TO_UINT (data);
 
 	connection = nm_simple_connection_new ();
 
@@ -10769,24 +6974,16 @@ test_write_mobile_broadband (gboolean gsm)
 	s_ppp = (NMSettingPpp *) nm_setting_ppp_new ();
 	nm_connection_add_setting (connection, NM_SETTING (s_ppp));
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "mobile-broadband-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == FALSE,
-	        "mobile-broadband-write", "unexpected success writing connection to disk");
+	_writer_new_connection_fail (connection,
+	                             TEST_SCRATCH_DIR "/network-scripts/",
+	                             NULL);
 
 	g_object_unref (connection);
 	g_clear_error (&error);
 }
 
-#define TEST_IFCFG_BRIDGE_MAIN TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bridge-main"
-
 static void
 test_read_bridge_main (void)
 {
@@ -10794,16 +6991,9 @@ test_read_bridge_main (void)
 	NMSettingBridge *s_bridge;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x16, 0x41, 0x11, 0x22, 0x33 };
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_BRIDGE_MAIN,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
-	g_assert_no_error (error);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bridge-main",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "br0");
 
@@ -10839,7 +7029,6 @@ test_write_bridge_main (void)
 	char *uuid;
 	NMIPAddress *addr;
 	static const char *mac = "31:33:33:37:be:cd";
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 
@@ -10897,56 +7086,29 @@ test_write_bridge_main (void)
 
 	nmtst_assert_connection_verifies_without_normalization (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert (success);
-	g_assert_cmpstr (testfile, !=, NULL);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_BRIDGE,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_BRIDGE, NULL);
 	unlink (testfile);
 
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert_no_error (error);
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_BRIDGE_COMPONENT TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bridge-component"
-
 static void
 test_read_bridge_component (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingBridgePort *s_port;
-	GError *error = NULL;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_BRIDGE_COMPONENT,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bridge-component",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -10973,8 +7135,6 @@ test_write_bridge_component (void)
 	static const char *mac = "31:33:33:37:be:cd";
 	guint32 mtu = 1492;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -10991,8 +7151,8 @@ test_write_bridge_component (void)
 	              NM_SETTING_CONNECTION_UUID, uuid,
 	              NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
 	              NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRED_SETTING_NAME,
-				  NM_SETTING_CONNECTION_MASTER, "br0",
-				  NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BRIDGE_SETTING_NAME,
+	              NM_SETTING_CONNECTION_MASTER, "br0",
+	              NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BRIDGE_SETTING_NAME,
 	              NULL);
 	g_free (uuid);
 
@@ -11014,36 +7174,16 @@ test_write_bridge_component (void)
 	              NM_SETTING_BRIDGE_PORT_PATH_COST, 33,
 	              NULL);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	g_assert (reread);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -11055,16 +7195,9 @@ test_read_bridge_missing_stp (void)
 {
 	NMConnection *connection;
 	NMSettingBridge *s_bridge;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bridge-missing-stp",
-	                                        NULL,
-	                                        TYPE_BRIDGE,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
-	g_assert_no_error (error);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bridge-missing-stp",
+	                                    NULL, TYPE_BRIDGE, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "br0");
 
@@ -11083,18 +7216,11 @@ static void
 test_read_vlan_interface (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 	guint32 from = 0, to = 0;
 
-	connection = connection_from_file_test (TEST_IFCFG_VLAN_INTERFACE,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
-
+	connection = _connection_from_file (TEST_IFCFG_VLAN_INTERFACE,
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "vlan43");
 
@@ -11104,7 +7230,7 @@ test_read_vlan_interface (void)
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth9");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 43);
 	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==,
-	                 NM_VLAN_FLAG_GVRP | NM_VLAN_FLAG_LOOSE_BINDING);
+	                 NM_VLAN_FLAG_GVRP | NM_VLAN_FLAG_LOOSE_BINDING | NM_VLAN_FLAG_REORDER_HEADERS);
 
 	/* Ingress map */
 	g_assert_cmpint (nm_setting_vlan_get_num_priorities (s_vlan, NM_VLAN_INGRESS_MAP), ==, 2);
@@ -11141,17 +7267,9 @@ static void
 test_read_vlan_only_vlan_id (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_VLAN_ONLY_VLANID,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
-
+	connection = _connection_from_file (TEST_IFCFG_VLAN_ONLY_VLANID, NULL, TYPE_ETHERNET, NULL);
 
 	g_assert (nm_connection_get_interface_name (connection) == NULL);
 
@@ -11160,29 +7278,19 @@ test_read_vlan_only_vlan_id (void)
 
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth9");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 43);
-	/* Ensure that flags are 0 if both REORDER_HDR and VLAN_FLAGS are missing */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 0);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
 
-#define TEST_IFCFG_VLAN_ONLY_DEVICE TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-only-device"
-
 static void
 test_read_vlan_only_device (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_VLAN_ONLY_DEVICE,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
-
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-vlan-only-device",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "eth0.9");
 
@@ -11199,15 +7307,10 @@ static void
 test_read_vlan_physdev (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-physdev",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-physdev",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "vlan0.3");
 
@@ -11224,15 +7327,13 @@ static void
 test_read_vlan_reorder_hdr_1 (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-reorder-hdr-1",
-	                                        NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	g_assert (nm_connection_verify (connection, &error));
+	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
+	                       "*REORDER_HDR key is deprecated, use VLAN_FLAGS*");
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-reorder-hdr-1",
+	                                        NULL, TYPE_ETHERNET, NULL);
+	g_test_assert_expected_messages ();
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "vlan0.3");
 
@@ -11241,8 +7342,30 @@ test_read_vlan_reorder_hdr_1 (void)
 
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth0");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 3);
-	/* Check correct read of REORDER_HDR=1 */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 1);
+	/* Check that REORDER_HDR=0 is ignored */
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_REORDER_HEADERS);
+
+	g_object_unref (connection);
+}
+
+static void
+test_read_vlan_reorder_hdr_2 (void)
+{
+	NMConnection *connection;
+	NMSettingVlan *s_vlan;
+
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-reorder-hdr-2",
+	                                    NULL, TYPE_ETHERNET, NULL);
+
+	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "vlan0.3");
+
+	s_vlan = nm_connection_get_setting_vlan (connection);
+	g_assert (s_vlan);
+
+	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth0");
+	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 3);
+	/* Check that VLAN_FLAGS=NO_REORDER_HDR works */
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_LOOSE_BINDING);
 
 	g_object_unref (connection);
 }
@@ -11251,16 +7374,10 @@ static void
 test_read_vlan_flags_1 (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-1",
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-1",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "super-vlan");
 
@@ -11269,8 +7386,9 @@ test_read_vlan_flags_1 (void)
 
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth9");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 44);
-	/* reorder_hdr and loose_binding */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 5);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==,
+	                                            NM_VLAN_FLAG_LOOSE_BINDING |
+	                                            NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
@@ -11279,16 +7397,10 @@ static void
 test_read_vlan_flags_2 (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingVlan *s_vlan;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-2",
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-2",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "super-vlan");
 
@@ -11297,8 +7409,10 @@ test_read_vlan_flags_2 (void)
 
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth9");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 44);
-	/* gvrp and loose_binding */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 6);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==,
+	                                            NM_VLAN_FLAG_GVRP |
+	                                            NM_VLAN_FLAG_LOOSE_BINDING |
+	                                            NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
@@ -11308,21 +7422,13 @@ test_write_vlan (void)
 {
 	NMConnection *connection;
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_VLAN_INTERFACE,
-	                                        NULL,
-	                                        TYPE_VLAN,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_VLAN_INTERFACE,
+	                                    NULL, TYPE_VLAN, NULL);
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
 	unlink (written);
 	g_free (written);
@@ -11335,44 +7441,20 @@ test_write_vlan_flags (void)
 {
 	NMConnection *connection, *reread;
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-2",
-	                                        NULL,
-	                                        TYPE_VLAN,
-	                                        NULL,
-	                                        &error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-vlan-flags-2",
+	                                    NULL, TYPE_VLAN, NULL);
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (written,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (written, NULL, TYPE_ETHERNET, NULL);
 
 	unlink (written);
 	g_free (written);
 
-	g_assert_no_error (error);
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -11383,44 +7465,19 @@ test_write_vlan_only_vlanid (void)
 {
 	NMConnection *connection, *reread;
 	char *written = NULL;
-	GError *error = NULL;
-	gboolean success = FALSE;
 
-	connection = connection_from_file_test (TEST_IFCFG_VLAN_ONLY_VLANID,
-	                                        NULL,
-	                                        TYPE_VLAN,
-	                                        NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (TEST_IFCFG_VLAN_ONLY_VLANID,
+	                                    NULL, TYPE_VLAN, NULL);
 
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &written,
-	                                 &error);
-	g_assert (success);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &written);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (written,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (written, NULL, TYPE_ETHERNET, NULL);
 	unlink (written);
 	g_free (written);
 
-	g_assert_no_error (error);
-	g_assert (reread != NULL);
-
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT);
-	g_assert (success);
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -11434,8 +7491,6 @@ test_write_vlan_reorder_hdr (void)
 	NMSettingVlan *s_vlan;
 	NMSettingWired *s_wired;
 	char *uuid;
-	GError *error = NULL;
-	gboolean success;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -11467,30 +7522,14 @@ test_write_vlan_reorder_hdr (void)
 	              NM_SETTING_VLAN_FLAGS, 1,
 	              NULL);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	g_assert_no_error (error);
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -11505,10 +7544,7 @@ test_write_ethernet_missing_ipv6 (void)
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingIPConfig *s_ip4;
-	NMSettingIPConfig *s_ip6;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -11550,54 +7586,16 @@ test_write_ethernet_missing_ipv6 (void)
 	 * missing IPv6 as IPv6 with NM_SETTING_IP6_CONFIG_METHOD_AUTO method.
 	 */
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "ethernet-missing-ipv6", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "ethernet-missing-ipv6", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	ASSERT (testfile != NULL,
-	        "ethernet-missing-ipv6", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "ethernet-missing-ipv6-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "ethernet-missing-ipv6-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	/*
-	 * We need to add IPv6 setting to the original connection now so that
-	 * the comparison can succeed. Missing IPv6 setting should have been
-	 * written out (and re-read) as Automatic IPv6.
-	 */
-	s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
-	g_assert (s_ip6);
-	nm_connection_add_setting (connection, NM_SETTING (s_ip6));
-	g_object_set (s_ip6,
-	              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO,
-	              NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE,
-	              NULL);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "ethernet-missing-ipv6", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -11607,52 +7605,30 @@ test_write_ethernet_missing_ipv6 (void)
 static void
 test_read_ibft_ignored (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-ibft",
-	                                        NULL, TYPE_ETHERNET,
-	                                        NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-ibft",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
-#define TEST_IFCFG_BOND_MAIN TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bond-main"
-
 static void
 test_read_bond_main (void)
 {
 	NMConnection *connection;
 	NMSettingBond *s_bond;
-	GError *error = NULL;
-
-	connection = connection_from_file_test (TEST_IFCFG_BOND_MAIN,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "bond-main-read", "unexpected failure reading %s", TEST_IFCFG_BOND_MAIN);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "bond-main-read", "failed to verify %s: %s", TEST_IFCFG_BOND_MAIN, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bond-main",
+	                                    NULL, TYPE_ETHERNET,NULL);
 
-	ASSERT (g_strcmp0 (nm_connection_get_interface_name (connection), "bond0") == 0,
-	        "bond-main", "failed to verify %s: DEVICE=%s does not match bond0",
-	        TEST_IFCFG_BOND_MAIN, nm_connection_get_interface_name (connection));
+	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "bond0");
 
 	/* ===== Bonding SETTING ===== */
 
 	s_bond = nm_connection_get_setting_bond (connection);
-	ASSERT (s_bond != NULL,
-	        "bond-main", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_BOND_MAIN,
-	        NM_SETTING_BOND_SETTING_NAME);
+	g_assert (s_bond);
 
-	ASSERT (g_strcmp0 (nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_MIIMON), "100") == 0,
-	        "bond-main", "failed to verify %s: miimon=%s does not match 100",
-	        TEST_IFCFG_BOND_MAIN, nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_MIIMON));
+	g_assert_cmpstr (nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_MIIMON), ==, "100");
 
 	g_object_unref (connection);
 }
@@ -11669,7 +7645,6 @@ test_write_bond_main (void)
 	NMSettingWired *s_wired;
 	char *uuid;
 	NMIPAddress *addr;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 
@@ -11722,77 +7697,36 @@ test_write_bond_main (void)
 
 	nmtst_assert_connection_verifies_without_normalization (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "bond-main-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	ASSERT (testfile != NULL,
-	        "bond-main-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_BOND,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_BOND, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "bond-main-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "bond-main-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "bond-main-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_BOND_SLAVE TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bond-slave"
-
 static void
 test_read_bond_slave (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_BOND_SLAVE,
-	                                        NULL,
-	                                        TYPE_ETHERNET,
-	                                        NULL,
-	                                        &error);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bond-slave",
+	                                    NULL, TYPE_ETHERNET, NULL);
 	g_test_assert_expected_messages ();
 
-	ASSERT (connection != NULL,
-	        "bond-slave-read", "unexpected failure reading %s", TEST_IFCFG_BOND_SLAVE);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "bond-slave-read", "failed to verify %s: %s", TEST_IFCFG_BOND_SLAVE, error->message);
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "bond-slave-read", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_BOND_SLAVE, NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
-	ASSERT (g_strcmp0 (nm_setting_connection_get_master (s_con), "bond0") == 0,
-	        "bond-slave-read", "failed to verify %s: master is not bond0",
-	        TEST_IFCFG_BOND_SLAVE);
+	g_assert_cmpstr (nm_setting_connection_get_master (s_con), ==, "bond0");
 
-	ASSERT (g_strcmp0 (nm_setting_connection_get_slave_type (s_con), NM_SETTING_BOND_SETTING_NAME) == 0,
-	        "bond-slave-read", "failed to verify %s: slave-type is not bond",
-	        TEST_IFCFG_BOND_SLAVE);
+	g_assert_cmpstr (nm_setting_connection_get_slave_type (s_con), ==, NM_SETTING_BOND_SETTING_NAME);
 
 	g_object_unref (connection);
 }
@@ -11807,8 +7741,6 @@ test_write_bond_slave (void)
 	static const char *mac = "31:33:33:37:be:cd";
 	guint32 mtu = 1492;
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -11823,8 +7755,8 @@ test_write_bond_slave (void)
 	              NM_SETTING_CONNECTION_UUID, uuid,
 	              NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
 	              NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRED_SETTING_NAME,
-				  NM_SETTING_CONNECTION_MASTER, "bond0",
-				  NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BOND_SETTING_NAME,
+	              NM_SETTING_CONNECTION_MASTER, "bond0",
+	              NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BOND_SETTING_NAME,
 	              NULL);
 	g_free (uuid);
 
@@ -11837,107 +7769,50 @@ test_write_bond_slave (void)
 	              NM_SETTING_WIRED_MTU, mtu,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "bond-slave-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "bond-slave-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "bond-slave-write", "didn't get ifcfg file path back after writing connection");
+	nmtst_assert_connection_verifies (connection);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "bond-slave-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "bond-slave-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "bond-slave-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_INFINIBAND TEST_IFCFG_DIR"/network-scripts/ifcfg-test-infiniband"
-
 static void
 test_read_infiniband (void)
 {
 	NMConnection *connection;
 	NMSettingInfiniband *s_infiniband;
 	char *unmanaged = NULL;
-	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[INFINIBAND_ALEN] = { 0x80, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00, 0x11, 0x22 };
 	const char *transport_mode;
 
-	connection = connection_from_file_test (TEST_IFCFG_INFINIBAND,
-	                                        NULL,
-	                                        TYPE_INFINIBAND,
-	                                        &unmanaged,
-	                                        &error);
-	ASSERT (connection != NULL,
-	        "infiniband-read", "failed to read %s: %s", TEST_IFCFG_INFINIBAND, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "infiniband-verify", "failed to verify %s: %s", TEST_IFCFG_INFINIBAND, error->message);
-
-	ASSERT (unmanaged == NULL,
-	        "infiniband-verify", "failed to verify %s: unexpected unmanaged value", TEST_IFCFG_INFINIBAND);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-infiniband",
+	                                    NULL, TYPE_INFINIBAND, &unmanaged);
+	g_assert (!unmanaged);
 
 	/* ===== INFINIBAND SETTING ===== */
 
 	s_infiniband = nm_connection_get_setting_infiniband (connection);
-	ASSERT (s_infiniband != NULL,
-	        "infiniband-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_INFINIBAND,
-	        NM_SETTING_INFINIBAND_SETTING_NAME);
+	g_assert (s_infiniband);
 
 	/* MAC address */
 	mac = nm_setting_infiniband_get_mac_address (s_infiniband);
-	ASSERT (mac != NULL,
-	        "infiniband-verify-infiniband", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_INFINIBAND,
-	        NM_SETTING_INFINIBAND_SETTING_NAME,
-	        NM_SETTING_INFINIBAND_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "infiniband-verify-infiniband", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_INFINIBAND,
-	        NM_SETTING_INFINIBAND_SETTING_NAME,
-	        NM_SETTING_INFINIBAND_MAC_ADDRESS);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
 
 	/* Transport mode */
 	transport_mode = nm_setting_infiniband_get_transport_mode (s_infiniband);
-	ASSERT (transport_mode != NULL,
-	        "infiniband-verify-infiniband", "failed to verify %s: missing %s / %s key",
-	        TEST_IFCFG_INFINIBAND,
-	        NM_SETTING_INFINIBAND_SETTING_NAME,
-	        NM_SETTING_INFINIBAND_TRANSPORT_MODE);
-	ASSERT (strcmp (transport_mode, "connected") == 0,
-	        "infiniband-verify-infiniband", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_IFCFG_INFINIBAND,
-	        NM_SETTING_INFINIBAND_SETTING_NAME,
-	        NM_SETTING_INFINIBAND_TRANSPORT_MODE);
+	g_assert (transport_mode);
+	g_assert_cmpstr (transport_mode, ==, "connected");
 
 	g_object_unref (connection);
 }
@@ -11955,7 +7830,6 @@ test_write_infiniband (void)
 	guint32 mtu = 65520;
 	char *uuid;
 	NMIPAddress *addr;
-	gboolean success;
 	GError *error = NULL;
 	char *testfile = NULL;
 
@@ -12007,81 +7881,37 @@ test_write_infiniband (void)
 	              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "infiniband-write", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "infiniband-write", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
-
-	ASSERT (testfile != NULL,
-	        "infiniband-write", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_INFINIBAND,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_INFINIBAND, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "infiniband-write-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "infiniband-write-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "infiniband-write", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
 	g_object_unref (reread);
 }
 
-#define TEST_IFCFG_BOND_SLAVE_IB TEST_IFCFG_DIR"/network-scripts/ifcfg-test-bond-slave-ib"
-
 static void
 test_read_bond_slave_ib (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_BOND_SLAVE_IB,
-	                                        NULL,
-	                                        NULL,
-	                                        NULL,
-	                                        &error);
-	g_test_assert_expected_messages();
-
-	ASSERT (connection != NULL,
-	        "bond-slave-read-ib", "unexpected failure reading %s", TEST_IFCFG_BOND_SLAVE_IB);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "bond-slave-read-ib", "failed to verify %s: %s", TEST_IFCFG_BOND_SLAVE_IB, error->message);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bond-slave-ib",
+	                                    NULL, NULL, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "bond-slave-read-ib", "failed to verify %s: missing %s setting",
-	        TEST_IFCFG_BOND_SLAVE_IB, NM_SETTING_CONNECTION_SETTING_NAME);
+	g_assert (s_con);
 
-	ASSERT (g_strcmp0 (nm_setting_connection_get_master (s_con), "bond0") == 0,
-	        "bond-slave-read-ib", "failed to verify %s: master is not bond0",
-	        TEST_IFCFG_BOND_SLAVE_IB);
+	g_assert_cmpstr (nm_setting_connection_get_master (s_con), ==, "bond0");
 
-	ASSERT (g_strcmp0 (nm_setting_connection_get_slave_type (s_con), NM_SETTING_BOND_SETTING_NAME) == 0,
-	        "bond-slave-read-ib", "failed to verify %s: slave-type is not bond",
-	        TEST_IFCFG_BOND_SLAVE_IB);
+	g_assert_cmpstr (nm_setting_connection_get_slave_type (s_con), ==, NM_SETTING_BOND_SETTING_NAME);
 
 	g_object_unref (connection);
 }
@@ -12095,8 +7925,6 @@ test_write_bond_slave_ib (void)
 	NMSettingInfiniband *s_infiniband;
 	static const char *mac = "80:00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22";
 	char *uuid;
-	gboolean success;
-	GError *error = NULL;
 	char *testfile = NULL;
 
 	connection = nm_simple_connection_new ();
@@ -12111,8 +7939,8 @@ test_write_bond_slave_ib (void)
 	              NM_SETTING_CONNECTION_UUID, uuid,
 	              NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
 	              NM_SETTING_CONNECTION_TYPE, NM_SETTING_INFINIBAND_SETTING_NAME,
-				  NM_SETTING_CONNECTION_MASTER, "bond0",
-				  NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BOND_SETTING_NAME,
+	              NM_SETTING_CONNECTION_MASTER, "bond0",
+	              NM_SETTING_CONNECTION_SLAVE_TYPE, NM_SETTING_BOND_SETTING_NAME,
 	              NULL);
 	g_free (uuid);
 
@@ -12126,41 +7954,16 @@ test_write_bond_slave_ib (void)
 	              NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram",
 	              NULL);
 
-	ASSERT (nm_connection_verify (connection, &error) == TRUE,
-	        "bond-slave-write-ib", "failed to verify connection: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	ASSERT (success == TRUE,
-	        "bond-slave-write-ib", "failed to write connection to disk: %s",
-	        (error && error->message) ? error->message : "(unknown)");
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	ASSERT (testfile != NULL,
-	        "bond-slave-write-ib", "didn't get ifcfg file path back after writing connection");
-
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    NULL,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, NULL, NULL);
 	unlink (testfile);
 
-	ASSERT (reread != NULL,
-	        "bond-slave-write-ib-reread", "failed to read %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_verify (reread, &error),
-	        "bond-slave-write-ib-reread-verify", "failed to verify %s: %s", testfile, error->message);
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-	        "bond-slave-write-ib", "written and re-read connection weren't the same.");
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -12173,17 +7976,9 @@ test_read_bond_opts_mode_numeric (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingBond *s_bond;
-	gboolean success;
-	GError *error = NULL;
-
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bond-mode-numeric",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-bond-mode-numeric",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "bond0");
 
@@ -12206,9 +8001,7 @@ static void
 test_read_dcb_basic (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingDcb *s_dcb;
-	gboolean success;
 	guint i;
 	guint expected_group_ids[8] = { 0, 0, 0, 0, 1, 1, 1, 0xF };
 	guint expected_group_bandwidths[8] = { 25, 0, 0, 75, 0, 0, 0, 0 };
@@ -12217,13 +8010,8 @@ test_read_dcb_basic (void)
 	guint expected_traffic_classes[8] = { 7, 6, 5, 4, 3, 2, 1, 0 };
 	gboolean expected_pfcs[8] = { TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE };
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	s_dcb = nm_connection_get_setting_dcb (connection);
 	g_assert (s_dcb);
@@ -12270,13 +8058,11 @@ static void
 test_write_dcb_basic (void)
 {
 	NMConnection *connection, *reread;
-	GError *error = NULL;
 	NMSettingConnection *s_con;
 	NMSettingWired *s_wired;
 	NMSettingDcb *s_dcb;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	gboolean success;
 	guint i;
 	char *uuid, *testfile;
 	const guint group_ids[8] = { 4, 0xF, 6, 0xF, 1, 7, 3, 0xF };
@@ -12336,29 +8122,16 @@ test_write_dcb_basic (void)
 		nm_setting_dcb_set_priority_traffic_class (s_dcb, i, traffic_classes[i]);
 	}
 
-	g_assert (nm_connection_verify (connection, &error));
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	g_assert_no_error (error);
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -12369,17 +8142,10 @@ static void
 test_read_dcb_default_app_priorities (void)
 {
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingDcb *s_dcb;
-	gboolean success;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-default-app-priorities",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-default-app-priorities",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	s_dcb = nm_connection_get_setting_dcb (connection);
 	g_assert (s_dcb);
@@ -12399,127 +8165,106 @@ test_read_dcb_default_app_priorities (void)
 static void
 test_read_dcb_bad_booleans (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*invalid DCB_PG_STRICT value*not all 0s and 1s*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-booleans",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-booleans",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "invalid boolean digit"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_short_booleans (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*DCB_PG_STRICT value*8 characters*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-booleans",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-booleans",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "boolean array must be 8 characters"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_bad_uints (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*invalid DCB_PG_UP2TC value*not 0 - 7*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-uints",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-uints",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "invalid uint digit"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_short_uints (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*DCB_PG_UP2TC value*8 characters*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-uints",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-uints",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "uint array must be 8 characters"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_bad_percent (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*invalid DCB_PG_PCT percentage value*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-percent",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-bad-percent",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "invalid percent element"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_short_percent (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*invalid DCB_PG_PCT percentage list value*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-percent",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-short-percent",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "percent array must be 8 elements"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
 test_read_dcb_pgpct_not_100 (void)
 {
-	NMConnection *connection;
-	GError *error = NULL;
+	gs_free_error GError *error = NULL;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*DCB_PG_PCT percentages do not equal 100*");
-	connection = connection_from_file_test (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-pgpct-not-100",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
+	_connection_from_file_fail (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-dcb-pgpct-not-100",
+	                            NULL, TYPE_ETHERNET, &error);
 	g_test_assert_expected_messages ();
 
 	g_assert_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION);
 	g_assert (strstr (error->message, "invalid percentage sum"));
-	g_assert (connection == NULL);
-	g_clear_error (&error);
 }
 
 static void
@@ -12527,19 +8272,12 @@ test_read_fcoe_mode (gconstpointer user_data)
 {
 	const char *expected_mode = user_data;
 	NMConnection *connection;
-	GError *error = NULL;
 	NMSettingDcb *s_dcb;
-	gboolean success;
 	char *file;
 
 	file = g_strdup_printf (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-fcoe-%s", expected_mode);
-	connection = connection_from_file_test (file, NULL, TYPE_ETHERNET, NULL, &error);
+	connection = _connection_from_file (file, NULL, TYPE_ETHERNET, NULL);
 	g_free (file);
-	g_assert_no_error (error);
-	g_assert (connection);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
 
 	s_dcb = nm_connection_get_setting_dcb (connection);
 	g_assert (s_dcb);
@@ -12561,7 +8299,6 @@ test_write_fcoe_mode (gconstpointer user_data)
 	NMSettingDcb *s_dcb;
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
-	gboolean success;
 	char *uuid, *testfile;
 
 	connection = nm_simple_connection_new ();
@@ -12599,16 +8336,11 @@ test_write_fcoe_mode (gconstpointer user_data)
 	              NM_SETTING_DCB_APP_FCOE_MODE, expected_mode,
 	              NULL);
 
-	g_assert (nm_connection_verify (connection, &error));
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
-	g_assert (testfile);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	{
 		shvarFile *ifcfg = svOpenFile (testfile, &error);
@@ -12622,18 +8354,10 @@ test_write_fcoe_mode (gconstpointer user_data)
 		g_free (written_mode);
 	}
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile,
-	                                    NULL,
-	                                    TYPE_ETHERNET,
-	                                    NULL,
-	                                    &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 	unlink (testfile);
 
-	g_assert_no_error (error);
-	g_assert (reread);
-	g_assert (nm_connection_verify (reread, &error));
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_object_unref (connection);
 	g_object_unref (reread);
@@ -12646,18 +8370,10 @@ test_read_team_master (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingTeam *s_team;
-	gboolean success;
-	GError *error = NULL;
 	const char *expected_config = "{ \"device\": \"team0\", \"link_watch\": { \"name\": \"ethtool\" } }";
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "team0");
 
@@ -12682,7 +8398,6 @@ test_write_team_master (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	const char *expected_config = "{ \"device\": \"team0\", \"link_watch\": { \"name\": \"ethtool\" } }";
 	const char *escaped_expected_config = "\"{ \\\"device\\\": \\\"team0\\\", \\\"link_watch\\\": { \\\"name\\\": \\\"ethtool\\\" } }\"";
@@ -12735,13 +8450,9 @@ test_write_team_master (void)
 
 	nmtst_assert_connection_verifies_without_normalization (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -12758,21 +8469,11 @@ test_write_team_master (void)
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_ETHERNET,
-	                                    NULL, &error);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -12785,18 +8486,10 @@ test_read_team_port (void)
 	NMConnection *connection;
 	NMSettingConnection *s_con;
 	NMSettingTeamPort *s_team_port;
-	gboolean success;
-	GError *error = NULL;
 	const char *expected_config = "{ \"p4p1\": { \"prio\": -10, \"sticky\": true } }";
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -12818,7 +8511,6 @@ test_write_team_port (void)
 	NMSettingTeamPort *s_team_port;
 	NMSettingWired *s_wired;
 	char *uuid, *testfile = NULL, *val;
-	gboolean success;
 	GError *error = NULL;
 	const char *expected_config = "{ \"p4p1\": { \"prio\": -10, \"sticky\": true } }";
 	const char *escaped_expected_config = "\"{ \\\"p4p1\\\": { \\\"prio\\\": -10, \\\"sticky\\\": true } }\"";
@@ -12849,17 +8541,11 @@ test_write_team_port (void)
 	s_wired = (NMSettingWired *) nm_setting_wired_new ();
 	nm_connection_add_setting (connection, NM_SETTING (s_wired));
 
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	nmtst_assert_connection_verifies (connection);
 
-	/* Save the ifcfg */
-	success = writer_new_connection (connection,
-	                                 TEST_SCRATCH_DIR "/network-scripts/",
-	                                 &testfile,
-	                                 &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	_writer_new_connection (connection,
+	                        TEST_SCRATCH_DIR "/network-scripts/",
+	                        &testfile);
 
 	f = svOpenFile (testfile, &error);
 	g_assert_no_error (error);
@@ -12882,21 +8568,11 @@ test_write_team_port (void)
 	g_free (val);
 	svCloseFile (f);
 
-	/* reread will be normalized, so we must normalize connection too. */
-	nm_connection_normalize (connection, NULL, NULL, NULL);
-
-	/* re-read the connection for comparison */
-	reread = connection_from_file_test (testfile, NULL, TYPE_ETHERNET,
-	                                    NULL, &error);
+	reread = _connection_from_file (testfile, NULL, TYPE_ETHERNET,
+	                                NULL);
 	unlink (testfile);
-	g_assert_no_error (error);
-	g_assert (reread);
 
-	success = nm_connection_verify (reread, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
+	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
 	g_free (testfile);
 	g_object_unref (connection);
@@ -12908,17 +8584,9 @@ test_read_team_port_empty_config (void)
 {
 	NMConnection *connection;
 	NMSettingConnection *s_con;
-	gboolean success;
-	GError *error = NULL;
 
-	connection = connection_from_file_test (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port-empty-config",
-	                                        NULL, TYPE_ETHERNET, NULL, &error);
-	g_assert_no_error (error);
-	g_assert (connection);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
+	connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port-empty-config",
+	                                    NULL, TYPE_ETHERNET, NULL);
 
 	s_con = nm_connection_get_setting_connection (connection);
 	g_assert (s_con);
@@ -13057,10 +8725,7 @@ test_read_vlan_trailing_spaces (void)
 	g_assert (strstr (contents, "DEVICE=\"vlan201\"  \n"));
 	g_free (contents);
 
-	connection = connection_from_file_test (testfile, NULL, TYPE_ETHERNET, NULL,
-	                                        &error);
-	g_assert_no_error (error);
-	g_assert (connection != NULL);
+	connection = _connection_from_file (testfile, NULL, TYPE_ETHERNET, NULL);
 
 	s_vlan = nm_connection_get_setting_vlan (connection);
 	g_assert (s_vlan);
@@ -13068,29 +8733,20 @@ test_read_vlan_trailing_spaces (void)
 	g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "vlan201");
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "enccw0.0.fb00");
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 201);
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 0);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
 
 
+#define TPATH "/settings/plugins/ifcfg-rh/"
+
 #define TEST_IFCFG_WIFI_OPEN_SSID_BAD_HEX TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-ssid-bad-hex"
 #define TEST_IFCFG_WIFI_OPEN_SSID_LONG_QUOTED TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted"
 #define TEST_IFCFG_WIFI_OPEN_SSID_LONG_HEX TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wifi-open-ssid-long-hex"
 
-
-#define TEST_IFCFG_WIRED_STATIC           TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static"
-#define TEST_IFCFG_WIRED_STATIC_BOOTPROTO TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-bootproto"
-
-#define TEST_IFCFG_WIRED_IPV4_MANUAL_1 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv4-manual-1"
-#define TEST_IFCFG_WIRED_IPV4_MANUAL_2 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv4-manual-2"
-#define TEST_IFCFG_WIRED_IPV4_MANUAL_3 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv4-manual-3"
-#define TEST_IFCFG_WIRED_IPV4_MANUAL_4 TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv4-manual-4"
-
 #define DEFAULT_HEX_PSK "7d308b11df1b4243b0f78e5f3fc68cdbb9a264ed0edf4c188edf329ff5b467f0"
 
-#define TPATH "/settings/plugins/ifcfg-rh/"
-
 NMTST_DEFINE ();
 
 int main (int argc, char **argv)
@@ -13115,9 +8771,10 @@ int main (int argc, char **argv)
 	g_test_add_data_func (TPATH "static-ip6-only-gw/::ffff:255.255.255.255", "::ffff:255.255.255.255", test_write_wired_static_ip6_only_gw);
 	g_test_add_func (TPATH "read-dns-options", test_read_dns_options);
 
-	test_read_wired_static (TEST_IFCFG_WIRED_STATIC, "System test-wired-static", TRUE);
-	test_read_wired_static (TEST_IFCFG_WIRED_STATIC_BOOTPROTO, "System test-wired-static-bootproto", FALSE);
-	test_read_wired_dhcp ();
+	nmtst_add_test_func (TPATH "read-static",           test_read_wired_static, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static",           "System test-wired-static",           GINT_TO_POINTER (TRUE));
+	nmtst_add_test_func (TPATH "read-static-bootproto", test_read_wired_static, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-bootproto", "System test-wired-static-bootproto", GINT_TO_POINTER (FALSE));
+
+	g_test_add_func (TPATH "read-dhcp", test_read_wired_dhcp);
 	g_test_add_func (TPATH "read-dhcp-plus-ip", test_read_wired_dhcp_plus_ip);
 	g_test_add_func (TPATH "read-shared-plus-ip", test_read_wired_shared_plus_ip);
 	g_test_add_func (TPATH "read-dhcp-send-hostname", test_read_write_wired_dhcp_send_hostname);
@@ -13125,183 +8782,159 @@ int main (int argc, char **argv)
 	g_test_add_func (TPATH "read-global-gateway-ignore", test_read_wired_global_gateway_ignore);
 	g_test_add_func (TPATH "read-obsolete-gateway-n", test_read_wired_obsolete_gateway_n);
 	g_test_add_func (TPATH "read-never-default", test_read_wired_never_default);
-	test_read_wired_defroute_no ();
-	test_read_wired_defroute_no_gatewaydev_yes ();
+	g_test_add_func (TPATH "read-defroute-no", test_read_wired_defroute_no);
+	g_test_add_func (TPATH "read-defroute-no-gatewaydev-yes", test_read_wired_defroute_no_gatewaydev_yes);
 	g_test_add_func (TPATH "routes/read-static", test_read_wired_static_routes);
-	test_read_wired_static_routes_legacy ();
-	test_read_wired_ipv4_manual (TEST_IFCFG_WIRED_IPV4_MANUAL_1, "System test-wired-ipv4-manual-1");
-	test_read_wired_ipv4_manual (TEST_IFCFG_WIRED_IPV4_MANUAL_2, "System test-wired-ipv4-manual-2");
-	test_read_wired_ipv4_manual (TEST_IFCFG_WIRED_IPV4_MANUAL_3, "System test-wired-ipv4-manual-3");
-	test_read_wired_ipv4_manual (TEST_IFCFG_WIRED_IPV4_MANUAL_4, "System test-wired-ipv4-manual-4");
-	test_read_wired_ipv6_manual ();
-	test_read_wired_ipv6_only (TEST_IFCFG_WIRED_IPV6_ONLY, "System test-wired-ipv6-only");
-	test_read_wired_ipv6_only (TEST_IFCFG_WIRED_IPV6_ONLY_1, "System test-wired-ipv6-only-1");
-	test_read_wired_dhcp6_only ();
-	test_read_onboot_no ();
-	test_read_noip ();
-	test_read_wired_8021x_peap_mschapv2 ();
-	test_read_wired_8021x_tls_secret_flags (TEST_IFCFG_WIRED_8021X_TLS_AGENT, NM_SETTING_SECRET_FLAG_AGENT_OWNED);
-	test_read_wired_8021x_tls_secret_flags (TEST_IFCFG_WIRED_8021X_TLS_ALWAYS,
-	                                        NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED);
+	g_test_add_func (TPATH "routes/read-static-legacy", test_read_wired_static_routes_legacy);
+
+	nmtst_add_test_func (TPATH "wired/read/manual/1", test_read_wired_ipv4_manual, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-ipv4-manual-1", "System test-wired-ipv4-manual-1");
+	nmtst_add_test_func (TPATH "wired/read/manual/2", test_read_wired_ipv4_manual, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-ipv4-manual-2", "System test-wired-ipv4-manual-2");
+	nmtst_add_test_func (TPATH "wired/read/manual/3", test_read_wired_ipv4_manual, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-ipv4-manual-3", "System test-wired-ipv4-manual-3");
+	nmtst_add_test_func (TPATH "wired/read/manual/4", test_read_wired_ipv4_manual, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wired-ipv4-manual-4", "System test-wired-ipv4-manual-4");
+
+	g_test_add_func (TPATH "wired/ipv6-manual", test_read_wired_ipv6_manual);
+
+	nmtst_add_test_func (TPATH "wired-ipv6-only/0", test_read_wired_ipv6_only, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-only",   "System test-wired-ipv6-only");
+	nmtst_add_test_func (TPATH "wired-ipv6-only/1", test_read_wired_ipv6_only, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-only-1", "System test-wired-ipv6-only-1");
+
+	g_test_add_func (TPATH "wired/dhcpv6-only", test_read_wired_dhcp6_only);
+	g_test_add_func (TPATH "wired/autoip", test_read_wired_autoip);
+	g_test_add_func (TPATH "wired/onboot/no", test_read_onboot_no);
+	g_test_add_func (TPATH "wired/no-ip", test_read_noip);
+	g_test_add_func (TPATH "802-1x/peap/mschapv2", test_read_wired_8021x_peap_mschapv2);
+
+	nmtst_add_test_func (TPATH "test-wired-8021x-tls/agent",  test_read_wired_8021x_tls_secret_flags, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-8021x-tls-agent", GINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED));
+	nmtst_add_test_func (TPATH "test-wired-8021x-tls/always", test_read_wired_8021x_tls_secret_flags, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-8021x-tls-always", GINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED));
+
 	g_test_add_func (TPATH "802-1x/subj-matches", test_read_write_802_1X_subj_matches);
 	g_test_add_func (TPATH "802-1x/ttls-eapgtc", test_read_802_1x_ttls_eapgtc);
-	test_read_wired_aliases_good ();
-	test_read_wired_aliases_bad_1 ();
-	test_read_wired_aliases_bad_2 ();
-	test_read_wifi_open ();
-	test_read_wifi_open_auto ();
-	test_read_wifi_open_ssid_hex ();
-	test_read_wifi_open_ssid_bad (TEST_IFCFG_WIFI_OPEN_SSID_BAD_HEX, "wifi-open-ssid-bad-hex-read");
-	test_read_wifi_open_ssid_bad (TEST_IFCFG_WIFI_OPEN_SSID_LONG_HEX, "wifi-open-ssid-long-hex-read");
-	test_read_wifi_open_ssid_bad (TEST_IFCFG_WIFI_OPEN_SSID_LONG_QUOTED, "wifi-open-ssid-long-quoted-read");
-	test_read_wifi_open_ssid_quoted ();
-	test_read_wifi_wep ();
-	test_read_wifi_wep_adhoc ();
-	test_read_wifi_wep_passphrase ();
-	test_read_wifi_wep_40_ascii ();
-	test_read_wifi_wep_104_ascii ();
-	test_read_wifi_leap ();
-	test_read_wifi_leap_secret_flags (TEST_IFCFG_WIFI_LEAP_AGENT, NM_SETTING_SECRET_FLAG_AGENT_OWNED);
-	test_read_wifi_leap_secret_flags (TEST_IFCFG_WIFI_LEAP_ALWAYS,
-	                                  NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED);
-	test_read_wifi_wpa_psk ();
-	test_read_wifi_wpa_psk_2 ();
-	test_read_wifi_wpa_psk_unquoted ();
-	test_read_wifi_wpa_psk_unquoted2 ();
-	test_read_wifi_wpa_psk_adhoc ();
-	test_read_wifi_wpa_psk_hex ();
-	test_read_wifi_dynamic_wep_leap ();
-	test_read_wifi_wpa_eap_tls ();
-	test_read_wifi_wpa_eap_ttls_tls ();
-	test_read_wifi_wep_eap_ttls_chap ();
+	g_test_add_func (TPATH "wired/read/aliases", test_read_wired_aliases_good);
+	g_test_add_func (TPATH "wired/read/aliases/bad1", test_read_wired_aliases_bad_1);
+	g_test_add_func (TPATH "wired/read/aliases/bad2", test_read_wired_aliases_bad_2);
+	g_test_add_func (TPATH "wifi/read/open", test_read_wifi_open);
+	g_test_add_func (TPATH "wifi/read/open/auto", test_read_wifi_open_auto);
+	g_test_add_func (TPATH "wifi/read/open/hex-ssid", test_read_wifi_open_ssid_hex);
+	g_test_add_data_func (TPATH "wifi/read/open-ssid/bad-hex", TEST_IFCFG_WIFI_OPEN_SSID_BAD_HEX, test_read_wifi_open_ssid_bad);
+	g_test_add_data_func (TPATH "wifi/read/open-ssid/long-hex", TEST_IFCFG_WIFI_OPEN_SSID_LONG_HEX, test_read_wifi_open_ssid_bad);
+	g_test_add_data_func (TPATH "wifi/read/open-ssid/long-quoted", TEST_IFCFG_WIFI_OPEN_SSID_LONG_QUOTED, test_read_wifi_open_ssid_bad);
+	g_test_add_func (TPATH "wifi/read/open/quoted-ssid", test_read_wifi_open_ssid_quoted);
+	g_test_add_func (TPATH "wifi/read/wep", test_read_wifi_wep);
+	g_test_add_func (TPATH "wifi/read/wep/adhoc", test_read_wifi_wep_adhoc);
+	g_test_add_func (TPATH "wifi/read/wep/passphrase", test_read_wifi_wep_passphrase);
+	g_test_add_func (TPATH "wifi/read/wep/40-ascii", test_read_wifi_wep_40_ascii);
+	g_test_add_func (TPATH "wifi/read/wep/104-ascii", test_read_wifi_wep_104_ascii);
+	g_test_add_func (TPATH "wifi/read/leap", test_read_wifi_leap);
+
+	nmtst_add_test_func (TPATH "wifi-leap-secret-flags/agent", test_read_wifi_leap_secret_flags, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-leap-agent",      GINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED));
+	nmtst_add_test_func (TPATH "wifi-leap-secret-flags/ask",   test_read_wifi_leap_secret_flags, TEST_IFCFG_DIR "/network-scripts/ifcfg-test-wifi-leap-always-ask", GINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED));
+
+	g_test_add_func (TPATH "wifi/read/wpa-psk", test_read_wifi_wpa_psk);
+	g_test_add_func (TPATH "wifi/read/wpa-psk/2", test_read_wifi_wpa_psk_2);
+	g_test_add_func (TPATH "wifi/read/wpa-psk/unquoted", test_read_wifi_wpa_psk_unquoted);
+	g_test_add_func (TPATH "wifi/read/wpa-psk/unquoted2", test_read_wifi_wpa_psk_unquoted2);
+	g_test_add_func (TPATH "wifi/read/wpa-psk/adhoc", test_read_wifi_wpa_psk_adhoc);
+	g_test_add_func (TPATH "wifi/read/wpa-psk/hex", test_read_wifi_wpa_psk_hex);
+	g_test_add_func (TPATH "wifi/read/dynamic-wep/leap", test_read_wifi_dynamic_wep_leap);
+	g_test_add_func (TPATH "wifi/read/wpa/eap/tls", test_read_wifi_wpa_eap_tls);
+	g_test_add_func (TPATH "wifi/read/wpa/eap/ttls/tls", test_read_wifi_wpa_eap_ttls_tls);
+	g_test_add_func (TPATH "wifi/read/dynamic-wep/eap/ttls/chap", test_read_wifi_wep_eap_ttls_chap);
 	g_test_add_func (TPATH "wifi/read-band-a", test_read_wifi_band_a);
 	g_test_add_func (TPATH "wifi/read-band-a-channel-mismatch", test_read_wifi_band_a_channel_mismatch);
 	g_test_add_func (TPATH "wifi/read-band-bg-channel-mismatch", test_read_wifi_band_bg_channel_mismatch);
 	g_test_add_func (TPATH "wifi/read-hidden", test_read_wifi_hidden);
 
-	{
-		static const WifiMacRandomData test_wifi_mac_random[] = {
-			{ "always",  NM_SETTING_MAC_RANDOMIZATION_ALWAYS,  "always" },
-			{ "never",   NM_SETTING_MAC_RANDOMIZATION_NEVER,   "never" },
-			{ "default", NM_SETTING_MAC_RANDOMIZATION_DEFAULT, "default" },
-			{ "missing", NM_SETTING_MAC_RANDOMIZATION_NEVER,   "never" },
-		};
-		int i;
-
-		for (i = 0; i < G_N_ELEMENTS (test_wifi_mac_random); i++) {
-			char *tpath;
-
-			tpath = g_strdup_printf (TPATH "wifi/read-mac-random-%s", test_wifi_mac_random[i].name);
-			g_test_add_data_func_full (tpath,
-			                           g_memdup (&test_wifi_mac_random[i], sizeof (test_wifi_mac_random[i])),
-			                           test_read_wifi_mac_random,
-			                           g_free);
-			g_free (tpath);
-
-			tpath = g_strdup_printf (TPATH "wifi/write-mac-random-%s", test_wifi_mac_random[i].name);
-			g_test_add_data_func_full (tpath,
-			                           g_memdup (&test_wifi_mac_random[i], sizeof (test_wifi_mac_random[i])),
-			                           test_write_wifi_mac_random,
-			                           g_free);
-			g_free (tpath);
-		}
-	}
+	nmtst_add_test_func (TPATH "wifi/read-mac-random-always",   test_read_wifi_mac_random,  "always",  GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_ALWAYS));
+	nmtst_add_test_func (TPATH "wifi/read-mac-random-never",    test_read_wifi_mac_random,  "never",   GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_NEVER));
+	nmtst_add_test_func (TPATH "wifi/read-mac-random-default",  test_read_wifi_mac_random,  "default", GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_DEFAULT));
+	nmtst_add_test_func (TPATH "wifi/read-mac-random-missing",  test_read_wifi_mac_random,  "missing", GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_NEVER));
+
+	nmtst_add_test_func (TPATH "wifi/write-mac-random-always",  test_write_wifi_mac_random, "always",  GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_ALWAYS),  "always");
+	nmtst_add_test_func (TPATH "wifi/write-mac-random-never",   test_write_wifi_mac_random, "never",   GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_NEVER),   "never");
+	nmtst_add_test_func (TPATH "wifi/write-mac-random-default", test_write_wifi_mac_random, "default", GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_DEFAULT), "default");
+	nmtst_add_test_func (TPATH "wifi/write-mac-random-missing", test_write_wifi_mac_random, "missing", GINT_TO_POINTER (NM_SETTING_MAC_RANDOMIZATION_NEVER),   "never");
 
-	test_read_wired_qeth_static ();
-	test_read_wired_ctc_static ();
-	test_read_wifi_wep_no_keys ();
-	test_read_permissions ();
-	test_read_wifi_wep_agent_keys ();
-	test_read_infiniband ();
-	test_read_vlan_interface ();
+	g_test_add_func (TPATH "wifi/read/wep-no-keys", test_read_wifi_wep_no_keys);
+	g_test_add_func (TPATH "wifi/read/wep-agent-keys", test_read_wifi_wep_agent_keys);
+	g_test_add_func (TPATH "infiniband/read", test_read_infiniband);
+	g_test_add_func (TPATH "vlan/read", test_read_vlan_interface);
 	g_test_add_func (TPATH "vlan/read-flags-1", test_read_vlan_flags_1);
 	g_test_add_func (TPATH "vlan/read-flags-2", test_read_vlan_flags_2);
-	test_read_vlan_only_vlan_id ();
-	test_read_vlan_only_device ();
-	g_test_add_func (TPATH "vlan/physdev", test_read_vlan_physdev);
-	g_test_add_func (TPATH "vlan/reorder-hdr-1", test_read_vlan_reorder_hdr_1);
-	g_test_add_func (TPATH "wired/read-wake-on-lan", test_read_wired_wake_on_lan);
-
-	test_write_wired_static ();
-	test_write_wired_static_ip6_only ();
-	test_write_wired_static_routes ();
-	test_read_write_static_routes_legacy ();
-	test_write_wired_dhcp ();
+	g_test_add_func (TPATH "vlan/read/only-vlanid", test_read_vlan_only_vlan_id);
+	g_test_add_func (TPATH "vlan/read/only-device", test_read_vlan_only_device);
+	g_test_add_func (TPATH "vlan/read/physdev", test_read_vlan_physdev);
+	g_test_add_func (TPATH "vlan/read/reorder-hdr-1", test_read_vlan_reorder_hdr_1);
+	g_test_add_func (TPATH "vlan/read/reorder-hdr-2", test_read_vlan_reorder_hdr_2);
+	g_test_add_func (TPATH "wired/read/read-wake-on-lan", test_read_wired_wake_on_lan);
+
+	g_test_add_func (TPATH "wired/write/static", test_write_wired_static);
+	g_test_add_func (TPATH "wired/write/static-ip6-only", test_write_wired_static_ip6_only);
+	g_test_add_func (TPATH "wired/write-static-routes", test_write_wired_static_routes);
+	g_test_add_func (TPATH "wired/read-write-static-routes-legacy", test_read_write_static_routes_legacy);
+	g_test_add_func (TPATH "wired/write/dhcp", test_write_wired_dhcp);
 	g_test_add_func (TPATH "wired/write-dhcp-plus-ip", test_write_wired_dhcp_plus_ip);
-	test_write_wired_dhcp_8021x_peap_mschapv2 ();
-	test_write_wired_8021x_tls (NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_AGENT_OWNED);
-	test_write_wired_8021x_tls (NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_NOT_SAVED);
-	test_write_wired_8021x_tls (NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED);
-	test_write_wired_8021x_tls (NM_SETTING_802_1X_CK_SCHEME_BLOB, NM_SETTING_SECRET_FLAG_NONE);
-	test_write_wired_aliases ();
+	g_test_add_func (TPATH "wired/write/dhcp-8021x-peap-mschapv2", test_write_wired_dhcp_8021x_peap_mschapv2);
+
+#define _add_test_write_wired_8021x_tls(testpath, scheme, flags) \
+	nmtst_add_test_func (testpath, test_write_wired_8021x_tls, GINT_TO_POINTER (scheme), GINT_TO_POINTER (flags))
+	_add_test_write_wired_8021x_tls (TPATH "wired-8021x-tls/1", NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_AGENT_OWNED);
+	_add_test_write_wired_8021x_tls (TPATH "wired-8021x-tls/2", NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_NOT_SAVED);
+	_add_test_write_wired_8021x_tls (TPATH "wired-8021x-tls/3", NM_SETTING_802_1X_CK_SCHEME_PATH, NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED);
+	_add_test_write_wired_8021x_tls (TPATH "wired-8021x-tls/4", NM_SETTING_802_1X_CK_SCHEME_BLOB, NM_SETTING_SECRET_FLAG_NONE);
+
+	g_test_add_func (TPATH "wired/write-aliases", test_write_wired_aliases);
 	g_test_add_func (TPATH "ipv4/write-static-addresses-GATEWAY", test_write_gateway);
 	g_test_add_func (TPATH "wired/write-wake-on-lan", test_write_wired_wake_on_lan);
-	test_write_wifi_open ();
-	test_write_wifi_open_hex_ssid ();
-	test_write_wifi_wep ();
-	test_write_wifi_wep_adhoc ();
-	test_write_wifi_wep_passphrase ();
-	test_write_wifi_wep_40_ascii ();
-	test_write_wifi_wep_104_ascii ();
-	test_write_wifi_leap ();
-	test_write_wifi_leap_secret_flags (NM_SETTING_SECRET_FLAG_AGENT_OWNED);
-	test_write_wifi_leap_secret_flags (NM_SETTING_SECRET_FLAG_NOT_SAVED);
-	test_write_wifi_leap_secret_flags (NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED);
-	test_write_wifi_wpa_psk ("Test Write Wifi WPA PSK",
-	                         "wifi-wpa-psk-write",
-	                         FALSE,
-	                         TRUE,
-	                         FALSE,
-	                         DEFAULT_HEX_PSK);
-	test_write_wifi_wpa_psk ("Test Write Wifi WPA2 PSK",
-	                         "wifi-wpa2-psk-write",
-	                         FALSE,
-	                         FALSE,
-	                         TRUE,
-	                         DEFAULT_HEX_PSK);
-	test_write_wifi_wpa_psk ("Test Write Wifi WPA WPA2 PSK",
-	                         "wifi-wpa-wpa2-psk-write",
-	                         FALSE,
-	                         TRUE,
-	                         TRUE,
-	                         DEFAULT_HEX_PSK);
-	test_write_wifi_wpa_psk ("Test Write Wifi WEP WPA WPA2 PSK",
-	                         "wifi-wep-wpa-wpa2-psk-write",
-	                         TRUE,
-	                         TRUE,
-	                         TRUE,
-	                         DEFAULT_HEX_PSK);
-	test_write_wifi_wpa_psk ("Test Write Wifi WPA WPA2 PSK Passphrase",
-	                         "wifi-wpa-wpa2-psk-passphrase-write",
-	                         FALSE,
-	                         TRUE,
-	                         TRUE,
-	                         "really insecure passphrase04!");
-	test_write_wifi_wpa_psk ("Test Write Wifi WPA WPA2 PSK Passphrase Special Chars",
-	                         "wifi-wpa-wpa2-psk-passphrase-write-spec-chars",
-	                         FALSE,
-	                         TRUE,
-	                         TRUE,
-	                         "blah`oops\"grr'$*@~!%\\");
-	test_write_wifi_wpa_psk_adhoc ();
-	test_write_wifi_wpa_eap_tls ();
-	test_write_wifi_wpa_eap_ttls_tls ();
-	test_write_wifi_wpa_eap_ttls_mschapv2 ();
-	test_write_wifi_dynamic_wep_leap ();
-	test_write_wifi_wpa_then_open ();
-	test_write_wifi_wpa_then_wep_with_perms ();
+	g_test_add_func (TPATH "wifi/write/open", test_write_wifi_open);
+	g_test_add_func (TPATH "wifi/write/open/hex-ssid", test_write_wifi_open_hex_ssid);
+	g_test_add_func (TPATH "wifi/write/wep", test_write_wifi_wep);
+	g_test_add_func (TPATH "wifi/write/wep/adhoc", test_write_wifi_wep_adhoc);
+	g_test_add_func (TPATH "wifi/write/wep/passphrase", test_write_wifi_wep_passphrase);
+	g_test_add_func (TPATH "wifi/write/wep/40-ascii", test_write_wifi_wep_40_ascii);
+	g_test_add_func (TPATH "wifi/write/wep/104-ascii", test_write_wifi_wep_104_ascii);
+	g_test_add_func (TPATH "wifi/write/leap", test_write_wifi_leap);
+	g_test_add_data_func (TPATH "wifi/write/leap/flags/agent",
+	                      GUINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED),
+	                      test_write_wifi_leap_secret_flags);
+	g_test_add_data_func (TPATH "wifi/write/leap/flags/not-saved",
+	                      GUINT_TO_POINTER (NM_SETTING_SECRET_FLAG_NOT_SAVED),
+	                      test_write_wifi_leap_secret_flags);
+	g_test_add_data_func (TPATH "wifi/write/leap/flags/agent-and-not-saved",
+	                      GUINT_TO_POINTER (NM_SETTING_SECRET_FLAG_AGENT_OWNED | NM_SETTING_SECRET_FLAG_NOT_SAVED),
+	                      test_write_wifi_leap_secret_flags);
+
+#define _add_test_write_wifi_wpa_psk(testpath, name, wep_group, wpa, wpa2, psk) \
+	nmtst_add_test_func (testpath, test_write_wifi_wpa_psk, name, GPOINTER_TO_INT (wep_group), GPOINTER_TO_INT (wpa), GPOINTER_TO_INT (wpa2), psk)
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wpa-psk-write",                            "Test Write Wifi WPA PSK",                               FALSE, TRUE,  FALSE, DEFAULT_HEX_PSK);
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wpa2-psk-write",                           "Test Write Wifi WPA2 PSK",                              FALSE, FALSE, TRUE,  DEFAULT_HEX_PSK);
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wpa-wpa2-psk-write",                       "Test Write Wifi WPA WPA2 PSK",                          FALSE, TRUE,  TRUE,  DEFAULT_HEX_PSK);
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wep-wpa-wpa2-psk-write",                   "Test Write Wifi WEP WPA WPA2 PSK",                      TRUE,  TRUE,  TRUE,  DEFAULT_HEX_PSK);
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wpa-wpa2-psk-passphrase-write",            "Test Write Wifi WPA WPA2 PSK Passphrase",               FALSE, TRUE,  TRUE,  "really insecure passphrase04!");
+	_add_test_write_wifi_wpa_psk (TPATH "wifi-wpa-psk/wpa-wpa2-psk-passphrase-write-spec-chars", "Test Write Wifi WPA WPA2 PSK Passphrase Special Chars", FALSE, TRUE,  TRUE,  "blah`oops\"grr'$*@~!%\\");
+
+	g_test_add_func (TPATH "wifi/write/wpa/psk/adhoc", test_write_wifi_wpa_psk_adhoc);
+	g_test_add_func (TPATH "wifi/write/wpa/eap/tls", test_write_wifi_wpa_eap_tls);
+	g_test_add_func (TPATH "wifi/write/wpa/eap/ttls/tls", test_write_wifi_wpa_eap_ttls_tls);
+	g_test_add_func (TPATH "wifi/write/wpa/eap/ttls/mschapv2", test_write_wifi_wpa_eap_ttls_mschapv2);
+	g_test_add_func (TPATH "wifi/write/dynamic-wep/leap", test_write_wifi_dynamic_wep_leap);
+	g_test_add_func (TPATH "wifi/write-wpa-then-open", test_write_wifi_wpa_then_open);
+	g_test_add_func (TPATH "wifi/write-wpa-then-wep-with-perms", test_write_wifi_wpa_then_wep_with_perms);
 	g_test_add_func (TPATH "wifi/write-hidden", test_write_wifi_hidden);
 	g_test_add_func (TPATH "wifi/write-band-a", test_write_wifi_band_a);
-	test_write_wired_qeth_dhcp ();
-	test_write_wired_ctc_dhcp ();
-	test_write_permissions ();
-	test_write_wifi_wep_agent_keys ();
-	test_write_infiniband ();
-	test_write_vlan ();
+
+	g_test_add_func (TPATH "s390/read-qeth-static", test_read_wired_qeth_static);
+	g_test_add_func (TPATH "s390/write-qeth-dhcp", test_write_wired_qeth_dhcp);
+	g_test_add_func (TPATH "s390/read-ctc-static", test_read_wired_ctc_static);
+	g_test_add_func (TPATH "s390/write-ctc-dhcp", test_write_wired_ctc_dhcp);
+
+	g_test_add_func (TPATH "permissions/read", test_read_permissions);
+	g_test_add_func (TPATH "permissions/write", test_write_permissions);
+	g_test_add_func (TPATH "wifi/write-wep-agent-keys", test_write_wifi_wep_agent_keys);
+	g_test_add_func (TPATH "infiniband/write", test_write_infiniband);
+	g_test_add_func (TPATH "vlan/write", test_write_vlan);
 	g_test_add_func (TPATH "vlan/write-flags", test_write_vlan_flags);
-	test_write_vlan_only_vlanid ();
+	g_test_add_func (TPATH "vlan/write-only-vlanid", test_write_vlan_only_vlanid);
 	g_test_add_func (TPATH "vlan/write-vlan-reorder-hdr", test_write_vlan_reorder_hdr);
-	test_write_ethernet_missing_ipv6 ();
+	g_test_add_func (TPATH "wired/write-missing-ipv6", test_write_ethernet_missing_ipv6);
 	g_test_add_func (TPATH "write-dns-options", test_write_dns_options);
 
 	/* iSCSI / ibft */
@@ -13324,20 +8957,20 @@ int main (int argc, char **argv)
 	g_test_add_data_func (TPATH "fcoe/write-vn2vn", (gpointer) NM_SETTING_DCB_FCOE_MODE_VN2VN, test_write_fcoe_mode);
 
 	/* bonding */
-	test_read_bond_main ();
-	test_read_bond_slave ();
-	test_read_bond_slave_ib ();
-	test_write_bond_main ();
-	test_write_bond_slave ();
-	test_write_bond_slave_ib ();
+	g_test_add_func (TPATH "bond/read-master", test_read_bond_main);
+	g_test_add_func (TPATH "bond/read-slave", test_read_bond_slave);
+	g_test_add_func (TPATH "bond/read-slave-ib", test_read_bond_slave_ib);
+	g_test_add_func (TPATH "bond/write-master", test_write_bond_main);
+	g_test_add_func (TPATH "bond/write-slave", test_write_bond_slave);
+	g_test_add_func (TPATH "bond/write-slave-ib", test_write_bond_slave_ib);
 	g_test_add_func (TPATH "bond/bonding-opts-numeric-mode", test_read_bond_opts_mode_numeric);
 
 	/* bridging */
-	test_read_bridge_main ();
-	test_write_bridge_main ();
-	test_read_bridge_component ();
-	test_write_bridge_component ();
-	test_read_bridge_missing_stp ();
+	g_test_add_func (TPATH "bridge/read-master", test_read_bridge_main);
+	g_test_add_func (TPATH "bridge/write-master", test_write_bridge_main);
+	g_test_add_func (TPATH "bridge/read-component", test_read_bridge_component);
+	g_test_add_func (TPATH "bridge/write-component", test_write_bridge_component);
+	g_test_add_func (TPATH "bridge/read-missing-stp", test_read_bridge_missing_stp);
 
 	/* Team */
 	g_test_add_func (TPATH "team/read-master", test_read_team_master);
@@ -13347,10 +8980,10 @@ int main (int argc, char **argv)
 	g_test_add_func (TPATH "team/read-port-empty-config", test_read_team_port_empty_config);
 
 	/* Stuff we expect to fail for now */
-	test_write_wired_pppoe ();
-	test_write_vpn ();
-	test_write_mobile_broadband (TRUE);
-	test_write_mobile_broadband (FALSE);
+	g_test_add_func (TPATH "pppoe/write-wired", test_write_wired_pppoe);
+	g_test_add_func (TPATH "vpn/write", test_write_vpn);
+	g_test_add_data_func (TPATH "wwan/write-gsm", GUINT_TO_POINTER (TRUE), test_write_mobile_broadband);
+	g_test_add_data_func (TPATH "wwan/write-cdma", GUINT_TO_POINTER (FALSE), test_write_mobile_broadband);
 
 	return g_test_run ();
 }
diff --git a/src/settings/plugins/ifcfg-rh/utils.c b/src/settings/plugins/ifcfg-rh/utils.c
index 599e3a49..fda900b2 100644
--- a/src/settings/plugins/ifcfg-rh/utils.c
+++ b/src/settings/plugins/ifcfg-rh/utils.c
@@ -18,17 +18,15 @@
  * (C) Copyright 2008 - 2012 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
+
+#include "utils.h"
 
 #include <stdlib.h>
 #include <string.h>
 
-#include "nm-default.h"
 #include "nm-core-internal.h"
-#include "nm-macros-internal.h"
 #include "NetworkManagerUtils.h"
-
-#include "utils.h"
 #include "shvar.h"
 
 /*
@@ -214,8 +212,8 @@ utils_get_ifcfg_name (const char *file, gboolean only_ifcfg)
 
 #define MATCH_TAG_AND_RETURN(name, TAG) \
 	G_STMT_START { \
-		if (strncmp (name, TAG, STRLEN (TAG)) == 0) { \
-			name += STRLEN (TAG); \
+		if (strncmp (name, TAG, NM_STRLEN (TAG)) == 0) { \
+			name += NM_STRLEN (TAG); \
 			if (name[0] == '\0') \
 				return NULL; \
 			else \
@@ -436,8 +434,8 @@ utils_detect_ifcfg_path (const char *path, gboolean only_ifcfg)
 
 	base = g_path_get_basename (path);
 
-	if (strncmp (base, IFCFG_TAG, STRLEN (IFCFG_TAG)) == 0) {
-		if (base[STRLEN (IFCFG_TAG)] == '\0')
+	if (strncmp (base, IFCFG_TAG, NM_STRLEN (IFCFG_TAG)) == 0) {
+		if (base[NM_STRLEN (IFCFG_TAG)] == '\0')
 			return NULL;
 		if (utils_is_ifcfg_alias_file (base, NULL)) {
 			ifcfg = g_strdup (path);
diff --git a/src/settings/plugins/ifcfg-rh/writer.c b/src/settings/plugins/ifcfg-rh/writer.c
index 5770d668..e7d64379 100644
--- a/src/settings/plugins/ifcfg-rh/writer.c
+++ b/src/settings/plugins/ifcfg-rh/writer.c
@@ -18,7 +18,9 @@
  * Copyright 2009 - 2015 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
+
+#include "writer.h"
 
 #include <string.h>
 #include <sys/types.h>
@@ -30,26 +32,24 @@
 #include <unistd.h>
 #include <stdio.h>
 
-#include <nm-setting-connection.h>
-#include <nm-setting-wired.h>
-#include <nm-setting-wireless.h>
-#include <nm-setting-8021x.h>
-#include <nm-setting-ip4-config.h>
-#include <nm-setting-ip6-config.h>
-#include <nm-setting-pppoe.h>
-#include <nm-setting-vlan.h>
-#include <nm-setting-team.h>
-#include <nm-setting-team-port.h>
+#include "nm-setting-connection.h"
+#include "nm-setting-wired.h"
+#include "nm-setting-wireless.h"
+#include "nm-setting-8021x.h"
+#include "nm-setting-ip4-config.h"
+#include "nm-setting-ip6-config.h"
+#include "nm-setting-pppoe.h"
+#include "nm-setting-vlan.h"
+#include "nm-setting-team.h"
+#include "nm-setting-team-port.h"
 #include "nm-core-internal.h"
-#include <nm-utils.h>
+#include "nm-utils.h"
 #include "nm-core-internal.h"
-#include "nm-macros-internal.h"
+#include "NetworkManagerUtils.h"
 
-#include "nm-default.h"
 #include "common.h"
 #include "shvar.h"
 #include "reader.h"
-#include "writer.h"
 #include "utils.h"
 #include "crypto.h"
 
@@ -144,11 +144,15 @@ write_secret_file (const char *path,
 	char *tmppath;
 	int fd = -1, written;
 	gboolean success = FALSE;
+	mode_t saved_umask;
 
 	tmppath = g_malloc0 (strlen (path) + 10);
 	memcpy (tmppath, path, strlen (path));
 	strcat (tmppath, ".XXXXXX");
 
+	/* Only readable by root */
+	saved_umask = umask (S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+
 	errno = 0;
 	fd = mkstemp (tmppath);
 	if (fd < 0) {
@@ -158,17 +162,6 @@ write_secret_file (const char *path,
 		goto out;
 	}
 
-	/* Only readable by root */
-	errno = 0;
-	if (fchmod (fd, S_IRUSR | S_IWUSR)) {
-		close (fd);
-		unlink (tmppath);
-		g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_FAILED,
-		             "Could not set permissions for temporary file '%s': %d",
-		             path, errno);
-		goto out;
-	}
-
 	errno = 0;
 	written = write (fd, data, len);
 	if (written != len) {
@@ -193,6 +186,7 @@ write_secret_file (const char *path,
 	success = TRUE;
 
 out:
+	umask (saved_umask);
 	g_free (tmppath);
 	return success;
 }
@@ -987,7 +981,22 @@ write_wireless_setting (NMConnection *connection,
 	}
 
 	svSetValue (ifcfg, "SSID_HIDDEN", nm_setting_wireless_get_hidden (s_wireless) ? "yes" : NULL, TRUE);
-	svSetValue (ifcfg, "POWERSAVE", nm_setting_wireless_get_powersave (s_wireless) ? "yes" : NULL, TRUE);
+
+	switch (nm_setting_wireless_get_powersave (s_wireless)) {
+	case NM_SETTING_WIRELESS_POWERSAVE_IGNORE:
+		svSetValue (ifcfg, "POWERSAVE", "ignore", TRUE);
+		break;
+	case NM_SETTING_WIRELESS_POWERSAVE_DISABLE:
+		svSetValue (ifcfg, "POWERSAVE", "disable", TRUE);
+		break;
+	case NM_SETTING_WIRELESS_POWERSAVE_ENABLE:
+		svSetValue (ifcfg, "POWERSAVE", "enable", TRUE);
+		break;
+	default:
+	case NM_SETTING_WIRELESS_POWERSAVE_DEFAULT:
+		svSetValue (ifcfg, "POWERSAVE", NULL, TRUE);
+		break;
+	}
 
 	svSetValue (ifcfg, "MAC_ADDRESS_RANDOMIZATION", NULL, TRUE);
 	switch (nm_setting_wireless_get_mac_address_randomization (s_wireless)) {
@@ -1252,6 +1261,8 @@ write_vlan_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wired,
 	NMSettingConnection *s_con;
 	char *tmp;
 	guint32 vlan_flags = 0;
+	gsize s_buf_len;
+	char s_buf[50], *s_buf_ptr;
 
 	s_con = nm_connection_get_setting_connection (connection);
 	if (!s_con) {
@@ -1284,9 +1295,14 @@ write_vlan_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wired,
 
 	svSetValue (ifcfg, "GVRP", vlan_flags & NM_VLAN_FLAG_GVRP ? "yes" : "no", FALSE);
 
-	svSetValue (ifcfg, "VLAN_FLAGS", NULL, FALSE);
-	if (vlan_flags & NM_VLAN_FLAG_LOOSE_BINDING)
-		svSetValue (ifcfg, "VLAN_FLAGS", "LOOSE_BINDING", FALSE);
+	nm_utils_strbuf_init (s_buf, &s_buf_ptr, &s_buf_len);
+
+	if (NM_FLAGS_HAS (vlan_flags, NM_VLAN_FLAG_LOOSE_BINDING))
+		nm_utils_strbuf_append_str (&s_buf_ptr, &s_buf_len, "LOOSE_BINDING");
+	if (!NM_FLAGS_HAS (vlan_flags, NM_VLAN_FLAG_REORDER_HEADERS))
+		nm_utils_strbuf_append (&s_buf_ptr, &s_buf_len, "%sNO_REORDER_HDR", s_buf[0] ? "," : "");
+
+	svSetValue (ifcfg, "VLAN_FLAGS", s_buf, FALSE);
 
 	svSetValue (ifcfg, "MVRP", vlan_flags & NM_VLAN_FLAG_MVRP ? "yes" : "no", FALSE);
 
@@ -1947,7 +1963,7 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
 	gint32 j;
 	guint32 i, n, num;
 	gint64 route_metric;
-	int dhcp_timeout;
+	int timeout;
 	GString *searches;
 	gboolean success = FALSE;
 	gboolean fake_ip4 = FALSE;
@@ -2156,8 +2172,8 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
 		if (value)
 			svSetValue (ifcfg, "DHCP_CLIENT_ID", value, FALSE);
 
-		dhcp_timeout = nm_setting_ip4_config_get_dhcp_timeout (NM_SETTING_IP4_CONFIG (s_ip4));
-		tmp = dhcp_timeout ? g_strdup_printf ("%d", dhcp_timeout) : NULL;
+		timeout = nm_setting_ip_config_get_dhcp_timeout (s_ip4);
+		tmp = timeout ? g_strdup_printf ("%d", timeout) : NULL;
 		svSetValue (ifcfg, "IPV4_DHCP_TIMEOUT", tmp, FALSE);
 		g_free (tmp);
 	}
@@ -2248,6 +2264,16 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
 			goto out;
 	}
 
+	timeout = nm_setting_ip_config_get_dad_timeout (s_ip4);
+	if (timeout < 0)
+		svSetValue (ifcfg, "ARPING_WAIT", NULL, FALSE);
+	else if (timeout == 0)
+		svSetValue (ifcfg, "ARPING_WAIT", "0", FALSE);
+	else {
+		/* Round the value up to next integer */
+		svSetValueInt64 (ifcfg, "ARPING_WAIT", (timeout - 1) / 1000 + 1);
+	}
+
 	success = TRUE;
 
 out:
diff --git a/src/settings/plugins/ifnet/connection_parser.c b/src/settings/plugins/ifnet/connection_parser.c
index 51ff9da6..bf8b9a42 100644
--- a/src/settings/plugins/ifnet/connection_parser.c
+++ b/src/settings/plugins/ifnet/connection_parser.c
@@ -19,7 +19,7 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <arpa/inet.h>
@@ -27,7 +27,6 @@
 #include <errno.h>
 
 #include "nm-settings-plugin.h"
-#include "nm-default.h"
 #include "nm-core-internal.h"
 #include "NetworkManagerUtils.h"
 
diff --git a/src/settings/plugins/ifnet/net_parser.c b/src/settings/plugins/ifnet/net_parser.c
index ee66ff53..cad34f06 100644
--- a/src/settings/plugins/ifnet/net_parser.c
+++ b/src/settings/plugins/ifnet/net_parser.c
@@ -19,15 +19,14 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <stdio.h>
 #include <sys/ioctl.h>
 #include <unistd.h>
 
-#include <nm-settings-plugin.h>
-#include "nm-default.h"
+#include "nm-settings-plugin.h"
 
 #include "plugin.h"
 #include "nm-platform.h"
diff --git a/src/settings/plugins/ifnet/net_utils.c b/src/settings/plugins/ifnet/net_utils.c
index 1c72e0b2..1944e478 100644
--- a/src/settings/plugins/ifnet/net_utils.c
+++ b/src/settings/plugins/ifnet/net_utils.c
@@ -19,17 +19,17 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
-#include <nm-utils.h>
+
+#include "nm-utils.h"
 #include "NetworkManagerUtils.h"
-#include <nm-settings-plugin.h>
+#include "nm-settings-plugin.h"
 #include "nm-config.h"
-#include "nm-default.h"
 #include "net_utils.h"
 #include "wpa_parser.h"
 #include "net_parser.h"
@@ -712,7 +712,7 @@ _has_prefix_impl (char *str, const char *prefix, gsize prefix_len)
 	} while (g_ascii_isspace (str[0]));
 	return str;
 }
-#define _has_prefix(STR, PREFIX) _has_prefix_impl (STR, PREFIX, STRLEN (PREFIX))
+#define _has_prefix(STR, PREFIX) _has_prefix_impl (STR, PREFIX, NM_STRLEN (PREFIX))
 
 void
 get_dhcp_hostname_and_client_id (char **hostname, char **client_id)
diff --git a/src/settings/plugins/ifnet/nm-ifnet-connection.c b/src/settings/plugins/ifnet/nm-ifnet-connection.c
index 450fe931..84515519 100644
--- a/src/settings/plugins/ifnet/nm-ifnet-connection.c
+++ b/src/settings/plugins/ifnet/nm-ifnet-connection.c
@@ -19,16 +19,16 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <glib/gstdio.h>
-#include <nm-dbus-interface.h>
-#include <nm-utils.h>
-#include <nm-setting-wireless-security.h>
-#include <nm-settings-connection.h>
-#include <nm-settings-plugin.h>
-#include "nm-default.h"
+
+#include "nm-dbus-interface.h"
+#include "nm-utils.h"
+#include "nm-setting-wireless-security.h"
+#include "nm-settings-connection.h"
+#include "nm-settings-plugin.h"
 #include "nm-ifnet-connection.h"
 #include "connection_parser.h"
 #include "net_parser.h"
diff --git a/src/settings/plugins/ifnet/plugin.c b/src/settings/plugins/ifnet/plugin.c
index b670cdac..a0676cf8 100644
--- a/src/settings/plugins/ifnet/plugin.c
+++ b/src/settings/plugins/ifnet/plugin.c
@@ -20,14 +20,14 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 
 #include <gmodule.h>
 
-#include <nm-utils.h>
-#include <nm-setting-connection.h>
+#include "nm-utils.h"
+#include "nm-setting-connection.h"
 
 #include "nm-default.h"
 #include "nm-dbus-interface.h"
diff --git a/src/settings/plugins/ifnet/tests/test-ifnet.c b/src/settings/plugins/ifnet/tests/test-ifnet.c
index 96fb5dd3..c870152b 100644
--- a/src/settings/plugins/ifnet/tests/test-ifnet.c
+++ b/src/settings/plugins/ifnet/tests/test-ifnet.c
@@ -20,16 +20,16 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdio.h>
 #include <string.h>
 #include <arpa/inet.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include <nm-utils.h>
 
-#include "nm-default.h"
+#include "nm-utils.h"
+
 #include "nm-linux-platform.h"
 
 #include "net_parser.h"
diff --git a/src/settings/plugins/ifnet/wpa_parser.c b/src/settings/plugins/ifnet/wpa_parser.c
index 9f228d0b..501bca7a 100644
--- a/src/settings/plugins/ifnet/wpa_parser.c
+++ b/src/settings/plugins/ifnet/wpa_parser.c
@@ -19,12 +19,12 @@
  * Copyright (C) 1999-2010 Gentoo Foundation, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <stdlib.h>
-#include <nm-settings-plugin.h>
-#include "nm-default.h"
+
+#include "nm-settings-plugin.h"
 #include "wpa_parser.h"
 #include "net_parser.h"
 #include "net_utils.h"
diff --git a/src/settings/plugins/ifupdown/interface_parser.c b/src/settings/plugins/ifupdown/interface_parser.c
index 4606f5ab..be7d387d 100644
--- a/src/settings/plugins/ifupdown/interface_parser.c
+++ b/src/settings/plugins/ifupdown/interface_parser.c
@@ -20,16 +20,17 @@
  * (C) Copyright 2004 Tom Parker
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include "interface_parser.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <wordexp.h>
 #include <libgen.h>
+
 #include "nm-utils.h"
-#include "nm-default.h"
 
 if_block* first;
 if_block* last;
diff --git a/src/settings/plugins/ifupdown/nm-ifupdown-connection.c b/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
index 2c8504b0..19de1db6 100644
--- a/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
+++ b/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
@@ -21,16 +21,16 @@
  * (C) Copyright 2007,2008 Canonical Ltd.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <glib/gstdio.h>
-#include <nm-dbus-interface.h>
-#include <nm-utils.h>
-#include <nm-setting-wireless-security.h>
-#include <nm-settings-connection.h>
-#include <nm-settings-plugin.h>
-#include "nm-default.h"
+
+#include "nm-dbus-interface.h"
+#include "nm-utils.h"
+#include "nm-setting-wireless-security.h"
+#include "nm-settings-connection.h"
+#include "nm-settings-plugin.h"
 #include "nm-ifupdown-connection.h"
 #include "parser.h"
 
diff --git a/src/settings/plugins/ifupdown/parser.c b/src/settings/plugins/ifupdown/parser.c
index 8a3d4551..bd200cd5 100644
--- a/src/settings/plugins/ifupdown/parser.c
+++ b/src/settings/plugins/ifupdown/parser.c
@@ -21,7 +21,7 @@
  * (C) Copyright 2008 Canonical Ltd.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <arpa/inet.h>
@@ -31,7 +31,6 @@
 
 #include "nm-core-internal.h"
 #include "nm-settings-plugin.h"
-#include "nm-default.h"
 
 #include "parser.h"
 #include "plugin.h"
diff --git a/src/settings/plugins/ifupdown/plugin.c b/src/settings/plugins/ifupdown/plugin.c
index fc361de5..dbc96eac 100644
--- a/src/settings/plugins/ifupdown/plugin.c
+++ b/src/settings/plugins/ifupdown/plugin.c
@@ -22,14 +22,15 @@
  * (C) Copyright 2009 - 2011 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
-
+#include <arpa/inet.h>
+#include <gudev/gudev.h>
 #include <gmodule.h>
-#include <nm-setting-connection.h>
 
-#include "nm-default.h"
+#include "nm-setting-connection.h"
+
 #include "interface_parser.h"
 
 #include "nm-dbus-interface.h"
@@ -48,10 +49,6 @@
 
 #include "nm-config.h"
 
-#include <arpa/inet.h>
-
-#include <gudev/gudev.h>
-
 #define ENI_INTERFACES_FILE "/etc/network/interfaces"
 
 #define IFUPDOWN_PLUGIN_NAME "ifupdown"
diff --git a/src/settings/plugins/ifupdown/tests/test-ifupdown.c b/src/settings/plugins/ifupdown/tests/test-ifupdown.c
index 24e8afdc..f383821c 100644
--- a/src/settings/plugins/ifupdown/tests/test-ifupdown.c
+++ b/src/settings/plugins/ifupdown/tests/test-ifupdown.c
@@ -18,11 +18,10 @@
  *
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 
-#include "nm-default.h"
 #include "nm-core-internal.h"
 #include "interface_parser.h"
 #include "parser.h"
@@ -462,145 +461,50 @@ test17_read_static_ipv4 (const char *path)
 	NMSettingConnection *s_con;
 	NMSettingIPConfig *s_ip4;
 	NMSettingWired *s_wired;
-	char *unmanaged = NULL;
 	GError *error = NULL;
-	const char* tmp;
-	const char *expected_id = "Ifupdown (eth0)";
-	const char *expected_search1 = "example.com";
-	const char *expected_search2 = "foo.example.com";
+	gboolean success;
 	NMIPAddress *ip4_addr;
-#define TEST17_NAME "wired-static-verify-ip4"
 	if_block *block = NULL;
 
-	const char* file = "test17-" TEST17_NAME;
-
-	init_ifparser_with_file (path, file);
+	init_ifparser_with_file (path, "test17-wired-static-verify-ip4");
 	block = ifparser_getfirst ();
 	connection = nm_simple_connection_new();
-	ifupdown_update_connection_from_if_block(connection, block, &error);
-
-	ASSERT (connection != NULL,
-			TEST17_NAME, "failed to read %s: %s", file, error->message);
+	g_assert (connection);
 
-	ASSERT (nm_connection_verify (connection, &error),
-			TEST17_NAME, "failed to verify %s: %s", file, error->message);
+	ifupdown_update_connection_from_if_block(connection, block, &error);
+	g_assert_no_error (error);
 
-	ASSERT (unmanaged == NULL,
-			TEST17_NAME, "failed to verify %s: unexpected unmanaged value", file);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s / %s key",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME,
-			NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value: %s",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME,
-			NM_SETTING_CONNECTION_ID, tmp);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Ifupdown (eth0)");
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_METHOD);
-
-	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 1,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
 
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 1);
 	ip4_addr = nm_setting_ip_config_get_address (s_ip4, 0);
 	g_assert (ip4_addr != NULL);
 	g_assert_cmpstr (nm_ip_address_get_address (ip4_addr), ==, "10.0.0.3");
 	g_assert_cmpint (nm_ip_address_get_prefix (ip4_addr), ==, 8);
 
-	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip4) == 2,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns (s_ip4, 0), "10.0.0.1"),
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value #1",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns (s_ip4, 1), "10.0.0.2"),
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value #2",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 1,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	/* DNS search domains */
-	ASSERT (nm_setting_ip_config_get_num_dns_searches (s_ip4) == 2,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip4, 0);
-	ASSERT (tmp != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s / %s key",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (strcmp (tmp, expected_search1) == 0,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip4, 1);
-	ASSERT (tmp != NULL,
-			TEST17_NAME, "failed to verify %s: missing %s / %s key",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	ASSERT (strcmp (tmp, expected_search2) == 0,
-			TEST17_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 0), ==, "10.0.0.1");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 1), ==, "10.0.0.2");
+
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip4), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip4, 0), ==, "example.com");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip4, 1), ==, "foo.example.com");
 
 	g_object_unref (connection);
 }
@@ -612,157 +516,50 @@ test18_read_static_ipv6 (const char *path)
 	NMSettingConnection *s_con;
 	NMSettingIPConfig *s_ip6;
 	NMSettingWired *s_wired;
-	char *unmanaged = NULL;
 	GError *error = NULL;
-	const char* tmp;
-	const char *expected_id = "Ifupdown (myip6tunnel)";
-	const char *expected_search1 = "example.com";
-	const char *expected_search2 = "foo.example.com";
+	gboolean success;
 	NMIPAddress *ip6_addr;
 	if_block *block = NULL;
-#define TEST18_NAME "wired-static-verify-ip6"
-	const char* file = "test18-" TEST18_NAME;
 
-	init_ifparser_with_file (path, file);
+	init_ifparser_with_file (path, "test18-wired-static-verify-ip6");
 	block = ifparser_getfirst ();
 	connection = nm_simple_connection_new();
+	g_assert (connection);
 	ifupdown_update_connection_from_if_block(connection, block, &error);
+	g_assert_no_error (error);
 
-	ASSERT (connection != NULL,
-			TEST18_NAME
-			"failed to read %s: %s", file, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-			TEST18_NAME,
-			"failed to verify %s: %s", file, error->message);
-
-	ASSERT (unmanaged == NULL,
-			TEST18_NAME,
-			"failed to verify %s: unexpected unmanaged value", file);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-			TEST18_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-			TEST18_NAME,
-			"failed to verify %s: missing %s / %s key",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME,
-			NM_SETTING_CONNECTION_ID);
-
-	ASSERT (strcmp (tmp, expected_id) == 0,
-			TEST18_NAME,
-			"failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_CONNECTION_SETTING_NAME,
-			NM_SETTING_CONNECTION_ID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Ifupdown (myip6tunnel)");
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-			TEST18_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv6 SETTING ===== */
-
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-			TEST18_NAME,
-			"failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
-			TEST18_NAME,
-			"failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_METHOD);
-
-	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip6) == 1,
-			TEST18_NAME,
-			"failed to verify %s: unexpected number of %s / %s",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
 
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip6), ==, 1);
 	ip6_addr = nm_setting_ip_config_get_address (s_ip6, 0);
 	g_assert (ip6_addr != NULL);
 	g_assert_cmpstr (nm_ip_address_get_address (ip6_addr), ==, "fc00::1");
 	g_assert_cmpint (nm_ip_address_get_prefix (ip6_addr), ==, 64);
 
-	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip6) == 2,
-			TEST18_NAME,
-			"failed to verify %s: unexpected number of %s / %s values",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns (s_ip6, 0), "fc00::2"),
-			TEST18_NAME,
-			"failed to verify %s: unexpected %s / %s #1",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns (s_ip6, 1), "fc00::3"),
-			TEST18_NAME, "failed to verify %s: unexpected %s / %s #2",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS);
-
-	/* DNS search domains */
-	ASSERT (nm_setting_ip_config_get_num_dns_searches (s_ip6) == 2,
-			TEST18_NAME,
-			"failed to verify %s: unexpected number of %s / %s values",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip6, 0);
-	ASSERT (tmp != NULL,
-			"wired-ipv6-manual-verify-ip6",
-			"failed to verify %s: missing %s / %s #1",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	ASSERT (strcmp (tmp, expected_search1) == 0,
-			"wired-ipv6-manual-verify-ip6",
-			"failed to verify %s: unexpected %s / %s #1",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	tmp = nm_setting_ip_config_get_dns_search (s_ip6, 1);
-	ASSERT (tmp != NULL,
-			TEST18_NAME,
-			"failed to verify %s: missing %s / %s #2",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	ASSERT (strcmp (tmp, expected_search2) == 0,
-			TEST18_NAME,
-			"failed to verify %s: unexpected %s / %s #2",
-			file,
-			NM_SETTING_IP6_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	g_free (unmanaged);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip6), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 0), ==, "fc00::2");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 1), ==, "fc00::3");
+
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip6), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip6, 0), ==, "example.com");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip6, 1), ==, "foo.example.com");
+
 	g_object_unref (connection);
 }
 
@@ -771,43 +568,27 @@ test19_read_static_ipv4_plen (const char *path)
 {
 	NMConnection *connection;
 	NMSettingIPConfig *s_ip4;
-	char *unmanaged = NULL;
 	GError *error = NULL;
 	NMIPAddress *ip4_addr;
-#define TEST19_NAME "wired-static-verify-ip4-plen"
 	if_block *block = NULL;
+	gboolean success;
 
-	const char* file = "test19-" TEST19_NAME;
-
-	init_ifparser_with_file (path, file);
+	init_ifparser_with_file (path, "test19-wired-static-verify-ip4-plen");
 	block = ifparser_getfirst ();
 	connection = nm_simple_connection_new();
+	g_assert (connection);
 	ifupdown_update_connection_from_if_block(connection, block, &error);
+	g_assert_no_error (error);
 
-	ASSERT (connection != NULL,
-			TEST19_NAME, "failed to read %s: %s", file, error->message);
-
-	ASSERT (nm_connection_verify (connection, &error),
-			TEST19_NAME, "failed to verify %s: %s", file, error->message);
-
-	ASSERT (unmanaged == NULL,
-			TEST19_NAME, "failed to verify %s: unexpected unmanaged value", file);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-			TEST19_NAME, "failed to verify %s: missing %s setting",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* IP addresses */
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 1,
-			TEST19_NAME, "failed to verify %s: unexpected %s / %s key value",
-			file,
-			NM_SETTING_IP4_CONFIG_SETTING_NAME,
-			NM_SETTING_IP_CONFIG_ADDRESSES);
+	g_assert (s_ip4);
 
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 1);
 	ip4_addr = nm_setting_ip_config_get_address (s_ip4, 0);
 	g_assert (ip4_addr != NULL);
 	g_assert_cmpstr (nm_ip_address_get_address (ip4_addr), ==, "10.0.0.3");
diff --git a/src/settings/plugins/keyfile/nm-keyfile-connection.c b/src/settings/plugins/keyfile/nm-keyfile-connection.c
index c217de68..97a5ee4c 100644
--- a/src/settings/plugins/keyfile/nm-keyfile-connection.c
+++ b/src/settings/plugins/keyfile/nm-keyfile-connection.c
@@ -19,21 +19,20 @@
  * Copyright (C) 2008 - 2012 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <string.h>
 #include <glib/gstdio.h>
-#include <nm-dbus-interface.h>
-#include <nm-setting-connection.h>
-#include <nm-utils.h>
 
-#include "nm-default.h"
+#include "nm-dbus-interface.h"
+#include "nm-setting-connection.h"
+#include "nm-utils.h"
+
 #include "nm-settings-plugin.h"
 #include "nm-keyfile-connection.h"
 #include "reader.h"
 #include "writer.h"
 #include "utils.h"
-#include "nm-logging.h"
 
 G_DEFINE_TYPE (NMKeyfileConnection, nm_keyfile_connection, NM_TYPE_SETTINGS_CONNECTION)
 
diff --git a/src/settings/plugins/keyfile/plugin.c b/src/settings/plugins/keyfile/plugin.c
index e352e523..29a1141b 100644
--- a/src/settings/plugins/keyfile/plugin.c
+++ b/src/settings/plugins/keyfile/plugin.c
@@ -19,7 +19,7 @@
  * Copyright (C) 2008 - 2013 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <sys/stat.h>
 #include <unistd.h>
@@ -29,12 +29,11 @@
 #include <gmodule.h>
 #include <glib/gstdio.h>
 
-#include <nm-connection.h>
-#include <nm-setting.h>
-#include <nm-setting-connection.h>
-#include <nm-utils.h>
+#include "nm-connection.h"
+#include "nm-setting.h"
+#include "nm-setting-connection.h"
+#include "nm-utils.h"
 #include "nm-config.h"
-#include "nm-default.h"
 #include "nm-core-internal.h"
 
 #include "plugin.h"
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c
index 1c984a16..264b26a4 100644
--- a/src/settings/plugins/keyfile/reader.c
+++ b/src/settings/plugins/keyfile/reader.c
@@ -18,14 +18,13 @@
  * Copyright (C) 2015 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <sys/stat.h>
 #include <string.h>
 
 #include "reader.h"
 
-#include "nm-default.h"
 #include "nm-keyfile-internal.h"
 #include "NetworkManagerUtils.h"
 
diff --git a/src/settings/plugins/keyfile/tests/test-keyfile.c b/src/settings/plugins/keyfile/tests/test-keyfile.c
index 250bad36..c1b79ef7 100644
--- a/src/settings/plugins/keyfile/tests/test-keyfile.c
+++ b/src/settings/plugins/keyfile/tests/test-keyfile.c
@@ -18,7 +18,7 @@
  * Copyright (C) 2008 - 2014 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -29,7 +29,6 @@
 #include <sys/socket.h>
 
 #include "nm-core-internal.h"
-#include "nm-default.h"
 
 #include "reader.h"
 #include "writer.h"
@@ -37,9 +36,6 @@
 
 #include "nm-test-utils.h"
 
-#define TEST_WIRED_FILE    TEST_KEYFILES_DIR"/Test_Wired_Connection"
-#define TEST_WIRELESS_FILE TEST_KEYFILES_DIR"/Test_Wireless_Connection"
-
 static void
 check_ip_address (NMSettingIPConfig *config, int idx, const char *address, int plen)
 {
@@ -90,14 +86,7 @@ test_read_valid_wired_connection (void)
 	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 };
-	const char *tmp;
-	const char *expected_id = "Test Wired Connection";
-	const char *expected_uuid = "4e80a56d-c99f-4aad-a6dd-b449bc398c57";
-	const guint64 expected_timestamp = 6654332;
-	guint64 timestamp;
-	const char *expected6_dnssearch1 = "super-domain.com";
-	const char *expected6_dnssearch2 = "redhat.com";
-	const char *expected6_dnssearch3 = "gnu.org";
+	gboolean success;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE,
 	                       "*ipv4.addresses:*semicolon at the end*addresses1*");
@@ -127,127 +116,41 @@ test_read_valid_wired_connection (void)
 	                       "*ipv6.routes*semicolon at the end*routes1*");
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE,
 	                       "*ipv6.route*semicolon at the end*route6*");
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_FILE, NULL);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_Connection", NULL);
 	g_test_assert_expected_messages ();
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_WIRED_FILE);
+	g_assert (connection);
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_WIRED_FILE, error->message);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* UUID */
-	tmp = nm_setting_connection_get_uuid (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-	ASSERT (strcmp (tmp, expected_uuid) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-
-	/* Timestamp */
-	timestamp = nm_setting_connection_get_timestamp (s_con);
-	ASSERT (timestamp == expected_timestamp,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == TRUE,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Test Wired Connection");
+	g_assert_cmpstr (nm_setting_connection_get_uuid (s_con), ==, "4e80a56d-c99f-4aad-a6dd-b449bc398c57");
+	g_assert_cmpuint (nm_setting_connection_get_timestamp (s_con), ==, 6654332);
+	g_assert (nm_setting_connection_get_autoconnect (s_con));
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "connection-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
-	/* MAC address */
 	mac = nm_setting_wired_get_mac_address (s_wired);
-	ASSERT (mac != NULL,
-	        "connection-verify-wired", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
-
-	ASSERT (nm_setting_wired_get_mtu (s_wired) == 1400,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MTU);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
+	g_assert_cmpint (nm_setting_wired_get_mtu (s_wired), ==, 1400);
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "connection-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip4) == 2,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 0), "4.2.2.1") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #1",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip4, 1), "4.2.2.2") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #2",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 0), ==, "4.2.2.1");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip4, 1), ==, "4.2.2.2");
 
 	/* IPv4 addresses */
-	g_assert (nm_setting_ip_config_get_num_addresses (s_ip4) == 6);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 6);
 	check_ip_address (s_ip4, 0, "2.3.4.5", 24);
 	check_ip_address (s_ip4, 1, "192.168.0.5", 24);
 	check_ip_address (s_ip4, 2, "1.2.3.4", 16);
@@ -256,14 +159,10 @@ test_read_valid_wired_connection (void)
 	check_ip_address (s_ip4, 5, "5.6.7.8", 24);
 
 	/* IPv4 gateway */
-	ASSERT (strcmp (nm_setting_ip_config_get_gateway (s_ip4), "2.3.4.6") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_GATEWAY);
+	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip4), ==, "2.3.4.6");
 
 	/* IPv4 routes */
-	g_assert (nm_setting_ip_config_get_num_routes (s_ip4) == 12);
+	g_assert_cmpint (nm_setting_ip_config_get_num_routes (s_ip4), ==, 12);
 	check_ip_route (s_ip4, 0, "5.6.7.8", 32, NULL, -1);
 	check_ip_route (s_ip4, 1, "1.2.3.0", 24, "2.3.4.8", 99);
 	check_ip_route (s_ip4, 2, "1.1.1.2", 12, NULL, -1);
@@ -278,65 +177,21 @@ test_read_valid_wired_connection (void)
 	check_ip_route (s_ip4, 11, "1.1.1.11", 21, NULL, 21);
 
 	/* ===== IPv6 SETTING ===== */
-
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "connection-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	/* DNS Addresses */
-	ASSERT (nm_setting_ip_config_get_num_dns (s_ip6) == 2,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip6, 0), "1111:dddd::aaaa") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #1",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	ASSERT (strcmp (nm_setting_ip_config_get_dns (s_ip6, 1), "1::cafe") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #2",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
-
-	/* DNS Searches */
-	ASSERT (nm_setting_ip_config_get_num_dns_searches (s_ip6) == 3,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns_search (s_ip6, 0), expected6_dnssearch1),
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #1",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns_search (s_ip6, 1), expected6_dnssearch2),
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #2",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
-	ASSERT (!strcmp (nm_setting_ip_config_get_dns_search (s_ip6, 2), expected6_dnssearch3),
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #3",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS_SEARCH);
+	g_assert (s_ip6);
+
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
+
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns (s_ip6), ==, 2);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 0), ==, "1111:dddd::aaaa");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns (s_ip6, 1), ==, "1::cafe");
+	g_assert_cmpint (nm_setting_ip_config_get_num_dns_searches (s_ip6), ==, 3);
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip6, 0), ==, "super-domain.com");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip6, 1), ==, "redhat.com");
+	g_assert_cmpstr (nm_setting_ip_config_get_dns_search (s_ip6, 2), ==, "gnu.org");
 
 	/* IPv6 addresses */
-	g_assert (nm_setting_ip_config_get_num_addresses (s_ip6) == 10);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip6), ==, 10);
 	check_ip_address (s_ip6, 0, "2:3:4:5:6:7:8:9", 64);
 	check_ip_address (s_ip6, 1, "abcd:1234:ffff::cdde", 64);
 	check_ip_address (s_ip6, 2, "1:2:3:4:5:6:7:8", 96);
@@ -349,14 +204,10 @@ test_read_valid_wired_connection (void)
 	check_ip_address (s_ip6, 9, "3:4:5:6:7:8:9:19", 69);
 
 	/* IPv6 gateway */
-	ASSERT (strcmp (nm_setting_ip_config_get_gateway (s_ip6), "2:3:4:5:1:2:3:4") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_GATEWAY);
-
-	/* Route #1 */
-	g_assert (nm_setting_ip_config_get_num_routes (s_ip6) == 7);
+	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip6), ==, "2:3:4:5:1:2:3:4");
+
+	/* Routes */
+	g_assert_cmpint (nm_setting_ip_config_get_num_routes (s_ip6), ==, 7);
 	check_ip_route (s_ip6, 0, "d:e:f:0:1:2:3:4", 64, "f:e:d:c:1:2:3:4", -1);
 	check_ip_route (s_ip6, 1, "a:b:c:d::", 64, "f:e:d:c:1:2:3:4", 99);
 	check_ip_route (s_ip6, 2, "8:7:6:5:4:3:2:1", 128, NULL, -1);
@@ -525,19 +376,14 @@ test_write_wired_connection (void)
 	owner_uid = geteuid ();
 	owner_grp = getegid ();
 	success = nm_keyfile_plugin_write_test_connection (connection, TEST_SCRATCH_DIR, owner_uid, owner_grp, &testfile, &error);
-	ASSERT (success == TRUE,
-			"connection-write", "failed to write keyfile: %s",
-			error ? error->message : "(none)");
-
-	ASSERT (testfile != NULL,
-			"connection-write", "didn't get keyfile name back after writing connection");
+	g_assert_no_error (error);
+	g_assert (success);
+	g_assert (testfile);
 
 	/* Read the connection back in and compare it to the one we just wrote out */
 	reread = nm_keyfile_plugin_connection_from_file (testfile, NULL);
-	ASSERT (reread != NULL, "connection-write", "failed to re-read test connection");
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-			"connection-write", "written and re-read connection weren't the same");
+	g_assert (reread);
+	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
 
 	g_clear_error (&error);
 	unlink (testfile);
@@ -547,8 +393,6 @@ test_write_wired_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_IP6_FILE    TEST_KEYFILES_DIR"/Test_Wired_Connection_IP6"
-
 static void
 test_read_ip6_wired_connection (void)
 {
@@ -558,107 +402,37 @@ test_read_ip6_wired_connection (void)
 	NMSettingIPConfig *s_ip4;
 	NMSettingIPConfig *s_ip6;
 	GError *error = NULL;
-	const char *tmp;
-	const char *expected_id = "Test Wired Connection IP6";
-	const char *expected_uuid = "4e80a56d-c99f-4aad-a6dd-b449bc398c57";
-
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_IP6_FILE, NULL);
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_WIRED_IP6_FILE);
+	gboolean success;
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_WIRED_IP6_FILE, error->message);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_Connection_IP6", NULL);
+	g_assert (connection);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* UUID */
-	tmp = nm_setting_connection_get_uuid (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-	ASSERT (strcmp (tmp, expected_uuid) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Test Wired Connection IP6");
+	g_assert_cmpstr (nm_setting_connection_get_uuid (s_con), ==, "4e80a56d-c99f-4aad-a6dd-b449bc398c57");
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "connection-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME);
+	g_assert (s_wired);
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "connection-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	ASSERT (nm_setting_ip_config_get_num_addresses (s_ip4) == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_DNS);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_DISABLED);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip4), ==, 0);
 
 	/* ===== IPv6 SETTING ===== */
-
 	s_ip6 = nm_connection_get_setting_ip6_config (connection);
-	ASSERT (s_ip6 != NULL,
-	        "connection-verify-ip6", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip6);
-	ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
-
-	/* IPv6 address */
-	g_assert (nm_setting_ip_config_get_num_addresses (s_ip6) == 1);
+	g_assert (s_ip6);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
+	g_assert_cmpint (nm_setting_ip_config_get_num_addresses (s_ip6), ==, 1);
 	check_ip_address (s_ip6, 0, "abcd:1234:ffff::cdde", 64);
-
-	/* IPv6 gateway */
-	ASSERT (strcmp (nm_setting_ip_config_get_gateway (s_ip6), "abcd:1234:ffff::cdd1") == 0,
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_IP6_FILE,
-	        NM_SETTING_IP6_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_GATEWAY);
+	g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip6), ==, "abcd:1234:ffff::cdd1");
 
 	g_object_unref (connection);
 }
@@ -735,19 +509,14 @@ test_write_ip6_wired_connection (void)
 	owner_uid = geteuid ();
 	owner_grp = getegid ();
 	success = nm_keyfile_plugin_write_test_connection (connection, TEST_SCRATCH_DIR, owner_uid, owner_grp, &testfile, &error);
-	ASSERT (success == TRUE,
-			"connection-write", "failed to write keyfile: %s",
-			error ? error->message : "(none)");
-
-	ASSERT (testfile != NULL,
-			"connection-write", "didn't get keyfile name back after writing connection");
+	g_assert_no_error (error);
+	g_assert (success);
+	g_assert (testfile);
 
 	/* Read the connection back in and compare it to the one we just wrote out */
 	reread = nm_keyfile_plugin_connection_from_file (testfile, NULL);
-	ASSERT (reread != NULL, "connection-write", "failed to re-read test connection");
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-			"connection-write", "written and re-read connection weren't the same");
+	g_assert (reread);
+	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
 
 	g_clear_error (&error);
 	unlink (testfile);
@@ -757,8 +526,6 @@ test_write_ip6_wired_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_MAC_CASE_FILE TEST_KEYFILES_DIR"/Test_Wired_Connection_MAC_Case"
-
 static void
 test_read_wired_mac_case (void)
 {
@@ -768,9 +535,7 @@ test_read_wired_mac_case (void)
 	GError *error = NULL;
 	const char *mac;
 	char expected_mac_address[ETH_ALEN] = { 0x00, 0x11, 0xaa, 0xbb, 0xcc, 0x55 };
-	const char *tmp;
-	const char *expected_id = "Test Wired Connection MAC Case";
-	const char *expected_uuid = "4e80a56d-c99f-4aad-a6dd-b449bc398c57";
+	gboolean success;
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE,
 	                       "*ipv4.addresses*semicolon at the end*addresses1*");
@@ -778,74 +543,29 @@ test_read_wired_mac_case (void)
 	                       "*ipv4.addresses*semicolon at the end*addresses2*");
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE,
 	                       "*ipv6.routes*semicolon at the end*routes1*");
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_MAC_CASE_FILE, NULL);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_Connection_MAC_Case", NULL);
 	g_test_assert_expected_messages ();
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_WIRED_MAC_CASE_FILE);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_WIRED_MAC_CASE_FILE, error->message);
+	g_assert (connection);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* UUID */
-	tmp = nm_setting_connection_get_uuid (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-	ASSERT (strcmp (tmp, expected_uuid) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Test Wired Connection MAC Case");
+	g_assert_cmpstr (nm_setting_connection_get_uuid (s_con), ==, "4e80a56d-c99f-4aad-a6dd-b449bc398c57");
 
 	/* ===== WIRED SETTING ===== */
-
 	s_wired = nm_connection_get_setting_wired (connection);
-	ASSERT (s_wired != NULL,
-	        "connection-verify-wired", "failed to verify %s: missing %s setting",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME);
-
-	/* MAC address */
+	g_assert (s_wired);
 	mac = nm_setting_wired_get_mac_address (s_wired);
-	ASSERT (mac != NULL,
-	        "connection-verify-wired", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
-	ASSERT (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)),
-	        "connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRED_MAC_CASE_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME,
-	        NM_SETTING_WIRED_MAC_ADDRESS);
+	g_assert (mac);
+	g_assert (nm_utils_hwaddr_matches (mac, -1, expected_mac_address, sizeof (expected_mac_address)));
 
 	g_object_unref (connection);
 }
 
-#define TEST_MAC_OLD_FORMAT_FILE TEST_KEYFILES_DIR"/Test_MAC_Old_Format"
-
 static void
 test_read_mac_old_format (void)
 {
@@ -857,7 +577,7 @@ test_read_mac_old_format (void)
 	char expected_mac[ETH_ALEN] = { 0x00, 0x11, 0xaa, 0xbb, 0xcc, 0x55 };
 	char expected_cloned_mac[ETH_ALEN] = { 0x00, 0x16, 0xaa, 0xbb, 0xcc, 0xfe };
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_MAC_OLD_FORMAT_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_MAC_Old_Format", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -881,8 +601,6 @@ test_read_mac_old_format (void)
 	g_object_unref (connection);
 }
 
-#define TEST_MAC_IB_OLD_FORMAT_FILE TEST_KEYFILES_DIR"/Test_MAC_IB_Old_Format"
-
 static void
 test_read_mac_ib_old_format (void)
 {
@@ -895,7 +613,7 @@ test_read_mac_ib_old_format (void)
 		0x77, 0x88, 0x99, 0x01, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89,
 		0x90 };
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_MAC_IB_OLD_FORMAT_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_MAC_IB_Old_Format", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -924,104 +642,33 @@ test_read_valid_wireless_connection (void)
 	GError *error = NULL;
 	const char *bssid;
 	const guint8 expected_bssid[ETH_ALEN] = { 0x00, 0x1a, 0x33, 0x44, 0x99, 0x82 };
-	const char *tmp;
-	const char *expected_id = "Test Wireless Connection";
-	const char *expected_uuid = "2f962388-e5f3-45af-a62c-ac220b8f7baa";
-	const guint64 expected_timestamp = 1226604314;
-	guint64 timestamp;
-
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRELESS_FILE, NULL);
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_WIRELESS_FILE);
+	gboolean success;
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_WIRELESS_FILE, error->message);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wireless_Connection", NULL);
+	g_assert (connection);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* UUID */
-	tmp = nm_setting_connection_get_uuid (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-	ASSERT (strcmp (tmp, expected_uuid) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-
-	/* Timestamp */
-	timestamp = nm_setting_connection_get_timestamp (s_con);
-	ASSERT (timestamp == expected_timestamp,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_TIMESTAMP);
-
-	/* Autoconnect */
-	ASSERT (nm_setting_connection_get_autoconnect (s_con) == FALSE,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s /%s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_AUTOCONNECT);
-
-	/* ===== WIRED SETTING ===== */
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "Test Wireless Connection");
+	g_assert_cmpstr (nm_setting_connection_get_uuid (s_con), ==, "2f962388-e5f3-45af-a62c-ac220b8f7baa");
+	g_assert_cmpuint (nm_setting_connection_get_timestamp (s_con), ==, 1226604314);
+	g_assert (nm_setting_connection_get_autoconnect (s_con) == FALSE);
 
+	/* ===== WIRELESS SETTING ===== */
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "connection-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME);
-
-	/* BSSID */
+	g_assert (s_wireless);
 	bssid = nm_setting_wireless_get_bssid (s_wireless);
-	ASSERT (bssid != NULL,
-	        "connection-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
-	ASSERT (nm_utils_hwaddr_matches (bssid, -1, expected_bssid, sizeof (expected_bssid)),
-	        "connection-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_BSSID);
+	g_assert (bssid);
+	g_assert (nm_utils_hwaddr_matches (bssid, -1, expected_bssid, sizeof (expected_bssid)));
 
 	/* ===== IPv4 SETTING ===== */
-
 	s_ip4 = nm_connection_get_setting_ip4_config (connection);
-	ASSERT (s_ip4 != NULL,
-	        "connection-verify-ip4", "failed to verify %s: missing %s setting",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME);
-
-	/* Method */
-	tmp = nm_setting_ip_config_get_method (s_ip4);
-	ASSERT (strcmp (tmp, NM_SETTING_IP4_CONFIG_METHOD_AUTO) == 0,
-	        "connection-verify-wireless", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_IP4_CONFIG_SETTING_NAME,
-	        NM_SETTING_IP_CONFIG_METHOD);
+	g_assert (s_ip4);
+	g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
 
 	g_object_unref (connection);
 }
@@ -1100,19 +747,14 @@ test_write_wireless_connection (void)
 	owner_uid = geteuid ();
 	owner_grp = getegid ();
 	success = nm_keyfile_plugin_write_test_connection (connection, TEST_SCRATCH_DIR, owner_uid, owner_grp, &testfile, &error);
-	ASSERT (success == TRUE,
-			"connection-write", "failed to write keyfile: %s",
-			error ? error->message : "(none)");
-
-	ASSERT (testfile != NULL,
-			"connection-write", "didn't get keyfile name back after writing connection");
+	g_assert_no_error (error);
+	g_assert (success);
+	g_assert (testfile);
 
 	/* Read the connection back in and compare it to the one we just wrote out */
 	reread = nm_keyfile_plugin_connection_from_file (testfile, NULL);
-	ASSERT (reread != NULL, "connection-write", "failed to re-read test connection");
-
-	ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,
-			"connection-write", "written and re-read connection weren't the same");
+	g_assert (reread);
+	g_assert (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT));
 
 	g_clear_error (&error);
 	unlink (testfile);
@@ -1122,8 +764,6 @@ test_write_wireless_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_STRING_SSID_FILE TEST_KEYFILES_DIR"/Test_String_SSID"
-
 static void
 test_read_string_ssid (void)
 {
@@ -1134,32 +774,21 @@ test_read_string_ssid (void)
 	const guint8 *ssid_data;
 	gsize ssid_len;
 	const char *expected_ssid = "blah blah ssid 1234";
+	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_STRING_SSID_FILE, NULL);
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_STRING_SSID_FILE);
-
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_STRING_SSID_FILE, error->message);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_String_SSID", NULL);
+	g_assert (connection);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== WIRELESS SETTING ===== */
-
 	s_wireless = nm_connection_get_setting_wireless (connection);
-	ASSERT (s_wireless != NULL,
-	        "connection-verify-wireless", "failed to verify %s: missing %s setting",
-	        TEST_STRING_SSID_FILE,
-	        NM_SETTING_WIRELESS_SETTING_NAME);
-
-	/* SSID */
+	g_assert (s_wireless);
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	ASSERT (ssid != NULL,
-	        "connection-verify-wireless", "failed to verify %s: missing %s / %s key",
-	        TEST_STRING_SSID_FILE,
-	        NM_SETTING_WIRELESS_SETTING_NAME,
-	        NM_SETTING_WIRELESS_SSID);
+	g_assert (ssid);
 	ssid_data = g_bytes_get_data (ssid, &ssid_len);
-	g_assert_cmpint (ssid_len, ==, strlen (expected_ssid));
-	g_assert (memcmp (ssid_data, expected_ssid, ssid_len) == 0);
+	g_assert_cmpmem (ssid_data, ssid_len, expected_ssid, strlen (expected_ssid));
 
 	g_object_unref (connection);
 }
@@ -1218,29 +847,22 @@ test_write_string_ssid (void)
 	owner_uid = geteuid ();
 	owner_grp = getegid ();
 	success = nm_keyfile_plugin_write_test_connection (connection, TEST_SCRATCH_DIR, owner_uid, owner_grp, &testfile, &error);
-	ASSERT (success == TRUE,
-			"connection-write", "failed to write keyfile: %s",
-			error ? error->message : "(none)");
-
-	ASSERT (testfile != NULL,
-			"connection-write", "didn't get keyfile name back after writing connection");
+	g_assert_no_error (error);
+	g_assert (success);
+	g_assert (testfile);
 
 	/* Ensure the SSID was written out as a string */
 	keyfile = g_key_file_new ();
-	ASSERT (g_key_file_load_from_file (keyfile, testfile, 0, NULL) == TRUE,
-	        "string-ssid-verify", "failed to load keyfile to verify");
+	g_assert (g_key_file_load_from_file (keyfile, testfile, 0, NULL));
 	tmp = g_key_file_get_string (keyfile, "wifi", NM_SETTING_WIRELESS_SSID, NULL);
-	ASSERT (tmp, "string-ssid-verify", "failed to load 'ssid' key from file");
-	ASSERT (strlen (tmp) == sizeof (tmpssid),
-	        "string-ssid-verify", "reread SSID and expected were different sizes");
-	ASSERT (memcmp (tmp, tmpssid, sizeof (tmpssid)) == 0,
-	        "string-ssid-verify", "reread SSID and expected were different");
+	g_assert (tmp);
+	g_assert_cmpmem (tmp, strlen (tmp), tmpssid, sizeof (tmpssid));
 	g_free (tmp);
 	g_key_file_free (keyfile);
 
 	/* Read the connection back in and compare it to the one we just wrote out */
 	reread = nm_keyfile_plugin_connection_from_file (testfile, NULL);
-	ASSERT (reread != NULL, "connection-write", "failed to re-read test connection");
+	g_assert (reread);
 
 	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
@@ -1252,8 +874,6 @@ test_write_string_ssid (void)
 	g_object_unref (connection);
 }
 
-#define TEST_INTLIST_SSID_FILE TEST_KEYFILES_DIR"/Test_Intlist_SSID"
-
 static void
 test_read_intlist_ssid (void)
 {
@@ -1266,7 +886,7 @@ test_read_intlist_ssid (void)
 	gsize ssid_len;
 	const char *expected_ssid = "blah1234";
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_INTLIST_SSID_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Intlist_SSID", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -1281,8 +901,7 @@ test_read_intlist_ssid (void)
 	ssid = nm_setting_wireless_get_ssid (s_wifi);
 	g_assert (ssid != NULL);
 	ssid_data = g_bytes_get_data (ssid, &ssid_len);
-	g_assert_cmpint (ssid_len, ==, strlen (expected_ssid));
-	g_assert_cmpint (memcmp (ssid_data, expected_ssid, strlen (expected_ssid)), ==, 0);
+	g_assert_cmpmem (ssid_data, ssid_len, expected_ssid, strlen (expected_ssid));
 
 	g_object_unref (connection);
 }
@@ -1378,8 +997,6 @@ test_write_intlist_ssid (void)
 	g_object_unref (connection);
 }
 
-#define TEST_INTLIKE_SSID_FILE TEST_KEYFILES_DIR"/Test_Intlike_SSID"
-
 static void
 test_read_intlike_ssid (void)
 {
@@ -1392,7 +1009,7 @@ test_read_intlike_ssid (void)
 	gsize ssid_len;
 	const char *expected_ssid = "101";
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_INTLIKE_SSID_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Intlike_SSID", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -1413,8 +1030,6 @@ test_read_intlike_ssid (void)
 	g_object_unref (connection);
 }
 
-#define TEST_INTLIKE_SSID_2_FILE TEST_KEYFILES_DIR"/Test_Intlike_SSID_2"
-
 static void
 test_read_intlike_ssid_2 (void)
 {
@@ -1427,7 +1042,7 @@ test_read_intlike_ssid_2 (void)
 	gsize ssid_len;
 	const char *expected_ssid = "11;12;13;";
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_INTLIKE_SSID_2_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Intlike_SSID_2", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -1622,8 +1237,6 @@ test_write_intlike_ssid_2 (void)
 	g_object_unref (connection);
 }
 
-#define TEST_BT_DUN_FILE TEST_KEYFILES_DIR"/ATT_Data_Connect_BT"
-
 static void
 test_read_bt_dun_connection (void)
 {
@@ -1635,150 +1248,39 @@ test_read_bt_dun_connection (void)
 	GError *error = NULL;
 	const char *bdaddr;
 	const guint8 expected_bdaddr[ETH_ALEN] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 };
-	const char *tmp;
-	NMSettingSerialParity parity;
-	const char *expected_id = "AT&T Data Connect BT";
-	const char *expected_uuid = "089130ab-ce28-46e4-ad77-d44869b03d19";
-	const char *expected_apn = "ISP.CINGULAR";
-	const char *expected_username = "ISP@CINGULARGPRS.COM";
-	const char *expected_password = "CINGULAR1";
-
-	connection = nm_keyfile_plugin_connection_from_file (TEST_BT_DUN_FILE, NULL);
-	ASSERT (connection != NULL,
-			"connection-read", "failed to read %s", TEST_BT_DUN_FILE);
+	gboolean success;
 
-	ASSERT (nm_connection_verify (connection, &error),
-	        "connection-verify", "failed to verify %s: %s", TEST_BT_DUN_FILE, error->message);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/ATT_Data_Connect_BT", NULL);
+	g_assert (connection);
+	success = nm_connection_verify (connection, &error);
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== CONNECTION SETTING ===== */
-
 	s_con = nm_connection_get_setting_connection (connection);
-	ASSERT (s_con != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s setting",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME);
-
-	/* ID */
-	tmp = nm_setting_connection_get_id (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-	ASSERT (strcmp (tmp, expected_id) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_ID);
-
-	/* UUID */
-	tmp = nm_setting_connection_get_uuid (s_con);
-	ASSERT (tmp != NULL,
-	        "connection-verify-connection", "failed to verify %s: missing %s / %s key",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
-	ASSERT (strcmp (tmp, expected_uuid) == 0,
-	        "connection-verify-connection", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_CONNECTION_SETTING_NAME,
-	        NM_SETTING_CONNECTION_UUID);
+	g_assert (s_con);
+	g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "AT&T Data Connect BT");
+	g_assert_cmpstr (nm_setting_connection_get_uuid (s_con), ==, "089130ab-ce28-46e4-ad77-d44869b03d19");
 
 	/* ===== BLUETOOTH SETTING ===== */
-
 	s_bluetooth = nm_connection_get_setting_bluetooth (connection);
-	ASSERT (s_bluetooth != NULL,
-	        "connection-verify-bt", "failed to verify %s: missing %s setting",
-	        TEST_WIRELESS_FILE,
-	        NM_SETTING_WIRED_SETTING_NAME);
-
-	/* BDADDR */
+	g_assert (s_bluetooth);
 	bdaddr = nm_setting_bluetooth_get_bdaddr (s_bluetooth);
-	ASSERT (bdaddr != NULL,
-	        "connection-verify-bt", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_BLUETOOTH_SETTING_NAME,
-	        NM_SETTING_BLUETOOTH_BDADDR);
-	ASSERT (nm_utils_hwaddr_matches (bdaddr, -1, expected_bdaddr, sizeof (expected_bdaddr)),
-	        "connection-verify-bt", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_BLUETOOTH_SETTING_NAME,
-	        NM_SETTING_BLUETOOTH_BDADDR);
-
-	/* Type */
-	tmp = nm_setting_bluetooth_get_connection_type (s_bluetooth);
-	ASSERT (tmp != NULL,
-	        "connection-verify-bt", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_BLUETOOTH_SETTING_NAME,
-	        NM_SETTING_BLUETOOTH_TYPE);
-	ASSERT (strcmp (tmp, NM_SETTING_BLUETOOTH_TYPE_DUN) == 0,
-	        "connection-verify-bt", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_BLUETOOTH_SETTING_NAME,
-	        NM_SETTING_BLUETOOTH_TYPE);
+	g_assert (bdaddr);
+	g_assert (nm_utils_hwaddr_matches (bdaddr, -1, expected_bdaddr, sizeof (expected_bdaddr)));
+	g_assert_cmpstr (nm_setting_bluetooth_get_connection_type (s_bluetooth), ==, NM_SETTING_BLUETOOTH_TYPE_DUN);
 
 	/* ===== GSM SETTING ===== */
-
 	s_gsm = nm_connection_get_setting_gsm (connection);
-	ASSERT (s_gsm != NULL,
-	        "connection-verify-gsm", "failed to verify %s: missing %s setting",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME);
-
-	/* APN */
-	tmp = nm_setting_gsm_get_apn (s_gsm);
-	ASSERT (tmp != NULL,
-	        "connection-verify-gsm", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_APN);
-	ASSERT (strcmp (tmp, expected_apn) == 0,
-	        "connection-verify-bt", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_APN);
-
-	/* Username */
-	tmp = nm_setting_gsm_get_username (s_gsm);
-	ASSERT (tmp != NULL,
-	        "connection-verify-gsm", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_USERNAME);
-	ASSERT (strcmp (tmp, expected_username) == 0,
-	        "connection-verify-bt", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_USERNAME);
-
-	/* Password */
-	tmp = nm_setting_gsm_get_password (s_gsm);
-	ASSERT (tmp != NULL,
-	        "connection-verify-gsm", "failed to verify %s: missing %s / %s key",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_PASSWORD);
-	ASSERT (strcmp (tmp, expected_password) == 0,
-	        "connection-verify-bt", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_GSM_SETTING_NAME,
-	        NM_SETTING_GSM_PASSWORD);
+	g_assert (s_gsm);
+	g_assert_cmpstr (nm_setting_gsm_get_apn (s_gsm), ==, "ISP.CINGULAR");
+	g_assert_cmpstr (nm_setting_gsm_get_username (s_gsm), ==, "ISP@CINGULARGPRS.COM");
+	g_assert_cmpstr (nm_setting_gsm_get_password (s_gsm), ==, "CINGULAR1");
 
 	/* ===== SERIAL SETTING ===== */
-
 	s_serial = nm_connection_get_setting_serial (connection);
-	ASSERT (s_serial != NULL,
-	        "connection-verify-serial", "failed to verify %s: missing %s setting",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_SERIAL_SETTING_NAME);
-
-	parity = nm_setting_serial_get_parity (s_serial);
-	ASSERT (parity == NM_SETTING_SERIAL_PARITY_ODD,
-	        "connection-verify-serial", "failed to verify %s: unexpected %s / %s key value",
-	        TEST_BT_DUN_FILE,
-	        NM_SETTING_SERIAL_SETTING_NAME,
-	        NM_SETTING_SERIAL_PARITY);
+	g_assert (s_serial);
+	g_assert (nm_setting_serial_get_parity (s_serial) == NM_SETTING_SERIAL_PARITY_ODD);
 
 	g_object_unref (connection);
 }
@@ -1852,16 +1354,13 @@ test_write_bt_dun_connection (void)
 	owner_uid = geteuid ();
 	owner_grp = getegid ();
 	success = nm_keyfile_plugin_write_test_connection (connection, TEST_SCRATCH_DIR, owner_uid, owner_grp, &testfile, &error);
-	ASSERT (success == TRUE,
-			"connection-write", "failed to write keyfile: %s",
-			error ? error->message : "(none)");
-
-	ASSERT (testfile != NULL,
-			"connection-write", "didn't get keyfile name back after writing connection");
+	g_assert_no_error (error);
+	g_assert (success);
+	g_assert (testfile);
 
 	/* Read the connection back in and compare it to the one we just wrote out */
 	reread = nm_keyfile_plugin_connection_from_file (testfile, NULL);
-	ASSERT (reread != NULL, "connection-write", "failed to re-read test connection");
+	g_assert (reread);
 
 	nmtst_assert_connection_equals (connection, TRUE, reread, FALSE);
 
@@ -1873,8 +1372,6 @@ test_write_bt_dun_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_GSM_FILE TEST_KEYFILES_DIR"/ATT_Data_Connect_Plain"
-
 static void
 test_read_gsm_connection (void)
 {
@@ -1885,7 +1382,7 @@ test_read_gsm_connection (void)
 	GError *error = NULL;
 	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_GSM_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/ATT_Data_Connect_Plain", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 
@@ -2005,8 +1502,6 @@ test_write_gsm_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_TLS_BLOB_FILE TEST_KEYFILES_DIR"/Test_Wired_TLS_Blob"
-
 static void
 test_read_wired_8021x_tls_blob_connection (void)
 {
@@ -2022,19 +1517,12 @@ test_read_wired_8021x_tls_blob_connection (void)
 	                       "*<warn>  keyfile: 802-1x.client-cert: certificate or key file '/CASA/dcbw/Desktop/certinfra/client.pem' does not exist*");
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*<warn>  keyfile: 802-1x.private-key: certificate or key file '/CASA/dcbw/Desktop/certinfra/client.pem' does not exist*");
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_TLS_BLOB_FILE, &error);
-	if (connection == NULL) {
-		g_assert (error);
-		g_warning ("Failed to read %s: %s", TEST_WIRED_TLS_BLOB_FILE, error->message);
-		g_assert (connection);
-	}
-
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_TLS_Blob", &error);
+	g_assert_no_error (error);
+	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify %s: %s", TEST_WIRED_TLS_BLOB_FILE, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== Wired Setting ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -2077,8 +1565,6 @@ test_read_wired_8021x_tls_blob_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_TLS_PATH_MISSING_FILE TEST_KEYFILES_DIR"/Test_Wired_TLS_Path_Missing"
-
 static void
 test_read_wired_8021x_tls_bad_path_connection (void)
 {
@@ -2092,20 +1578,13 @@ test_read_wired_8021x_tls_bad_path_connection (void)
 
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*does not exist*");
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_TLS_PATH_MISSING_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_TLS_Path_Missing", &error);
 	g_test_assert_expected_messages ();
-	if (connection == NULL) {
-		g_assert (error);
-		g_warning ("Failed to read %s: %s", TEST_WIRED_TLS_PATH_MISSING_FILE, error->message);
-		g_assert (connection);
-	}
-
+	g_assert_no_error (error);
+	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify %s: %s", TEST_WIRED_TLS_BLOB_FILE, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== Wired Setting ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -2142,8 +1621,6 @@ test_read_wired_8021x_tls_bad_path_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_TLS_OLD_FILE TEST_KEYFILES_DIR"/Test_Wired_TLS_Old"
-
 static void
 test_read_wired_8021x_tls_old_connection (void)
 {
@@ -2160,19 +1637,12 @@ test_read_wired_8021x_tls_old_connection (void)
 	                       "*<warn>  keyfile: 802-1x.client-cert: certificate or key file '/CASA/dcbw/Desktop/certinfra/client.pem' does not exist*");
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_WARNING,
 	                       "*<warn>  keyfile: 802-1x.private-key: certificate or key file '/CASA/dcbw/Desktop/certinfra/client.pem' does not exist*");
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_TLS_OLD_FILE, &error);
-	if (connection == NULL) {
-		g_assert (error);
-		g_warning ("Failed to read %s: %s", TEST_WIRED_TLS_OLD_FILE, error->message);
-		g_assert (connection);
-	}
-
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_TLS_Old", &error);
+	g_assert_no_error (error);
+	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify %s: %s", TEST_WIRED_TLS_OLD_FILE, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== Wired Setting ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -2204,8 +1674,6 @@ test_read_wired_8021x_tls_old_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_WIRED_TLS_NEW_FILE TEST_KEYFILES_DIR"/Test_Wired_TLS_New"
-
 static void
 test_read_wired_8021x_tls_new_connection (void)
 {
@@ -2217,19 +1685,12 @@ test_read_wired_8021x_tls_new_connection (void)
 	char *tmp2;
 	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_WIRED_TLS_NEW_FILE, &error);
-	if (connection == NULL) {
-		g_assert (error);
-		g_warning ("Failed to read %s: %s", TEST_WIRED_TLS_NEW_FILE, error->message);
-		g_assert (connection);
-	}
-
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Wired_TLS_New", &error);
+	g_assert_no_error (error);
+	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to verify %s: %s", TEST_WIRED_TLS_NEW_FILE, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	/* ===== Wired Setting ===== */
 	s_wired = nm_connection_get_setting_wired (connection);
@@ -2322,22 +1783,16 @@ create_wired_tls_connection (NMSetting8021xCKScheme scheme)
 	                                         scheme,
 	                                         NULL,
 	                                         &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to set CA cert %s: %s", TEST_WIRED_TLS_CA_CERT, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	success = nm_setting_802_1x_set_client_cert (s_8021x,
 	                                             TEST_WIRED_TLS_CLIENT_CERT,
 	                                             scheme,
 	                                             NULL,
 	                                             &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to set client cert %s: %s", TEST_WIRED_TLS_CA_CERT, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	success = nm_setting_802_1x_set_private_key (s_8021x,
 	                                             TEST_WIRED_TLS_PRIVKEY,
@@ -2345,11 +1800,8 @@ create_wired_tls_connection (NMSetting8021xCKScheme scheme)
 	                                             scheme,
 	                                             NULL,
 	                                             &error);
-	if (!success) {
-		g_assert (error);
-		g_warning ("Failed to set private key %s: %s", TEST_WIRED_TLS_CA_CERT, error->message);
-		g_assert (success);
-	}
+	g_assert_no_error (error);
+	g_assert (success);
 
 	return connection;
 }
@@ -2478,7 +1930,7 @@ test_write_wired_8021x_tls_connection_blob (void)
 	s_8021x = nm_connection_get_setting_802_1x (connection);
 	g_assert (s_8021x);
 
-	password_raw = g_bytes_new (PASSWORD_RAW, STRLEN (PASSWORD_RAW));
+	password_raw = g_bytes_new (PASSWORD_RAW, NM_STRLEN (PASSWORD_RAW));
 	g_object_set (s_8021x,
 	              NM_SETTING_802_1X_PASSWORD_RAW,
 	              password_raw,
@@ -2529,8 +1981,8 @@ test_write_wired_8021x_tls_connection_blob (void)
 
 	password_raw = nm_setting_802_1x_get_password_raw (s_8021x);
 	g_assert (password_raw);
-	g_assert (g_bytes_get_size (password_raw) == STRLEN (PASSWORD_RAW));
-	g_assert (!memcmp (g_bytes_get_data (password_raw, NULL), PASSWORD_RAW, STRLEN (PASSWORD_RAW)));
+	g_assert (g_bytes_get_size (password_raw) == NM_STRLEN (PASSWORD_RAW));
+	g_assert (!memcmp (g_bytes_get_data (password_raw, NULL), PASSWORD_RAW, NM_STRLEN (PASSWORD_RAW)));
 
 	unlink (testfile);
 	g_free (testfile);
@@ -2549,8 +2001,6 @@ test_write_wired_8021x_tls_connection_blob (void)
 	g_object_unref (connection);
 }
 
-#define TEST_INFINIBAND_FILE    TEST_KEYFILES_DIR"/Test_InfiniBand_Connection"
-
 static void
 test_read_infiniband_connection (void)
 {
@@ -2566,7 +2016,7 @@ test_read_infiniband_connection (void)
 	const char *expected_uuid = "4e80a56d-c99f-4aad-a6dd-b449bc398c57";
 	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_INFINIBAND_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_InfiniBand_Connection", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
@@ -2670,8 +2120,6 @@ test_write_infiniband_connection (void)
 	g_object_unref (connection);
 }
 
-#define TEST_BRIDGE_MAIN_FILE TEST_KEYFILES_DIR"/Test_Bridge_Main"
-
 static void
 test_read_bridge_main (void)
 {
@@ -2684,7 +2132,7 @@ test_read_bridge_main (void)
 	const char *expected_uuid = "8f061643-fe41-4d4c-a8d9-097d26e2ad3a";
 	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_BRIDGE_MAIN_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Bridge_Main", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
@@ -2796,8 +2244,6 @@ test_write_bridge_main (void)
 	g_object_unref (connection);
 }
 
-#define TEST_BRIDGE_COMPONENT_FILE TEST_KEYFILES_DIR"/Test_Bridge_Component"
-
 static void
 test_read_bridge_component (void)
 {
@@ -2812,7 +2258,7 @@ test_read_bridge_component (void)
 	const char *expected_uuid = "d7b4f96c-c45e-4298-bef8-f48574f8c1c0";
 	gboolean success;
 
-	connection = nm_keyfile_plugin_connection_from_file (TEST_BRIDGE_COMPONENT_FILE, &error);
+	connection = nm_keyfile_plugin_connection_from_file (TEST_KEYFILES_DIR "/Test_Bridge_Component", &error);
 	g_assert_no_error (error);
 	g_assert (connection);
 	success = nm_connection_verify (connection, &error);
@@ -3184,8 +2630,7 @@ test_read_missing_vlan_setting (void)
 	s_vlan = nm_connection_get_setting_vlan (connection);
 	g_assert (s_vlan);
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 0);
-	/* Ensure the VLAN flags are not set (0) */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 0);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
@@ -3211,8 +2656,7 @@ test_read_missing_vlan_flags (void)
 
 	g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 444);
 	g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "em1");
-	/* Ensure the VLAN flags are not set (0) */
-	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, 0);
+	g_assert_cmpint (nm_setting_vlan_get_flags (s_vlan), ==, NM_VLAN_FLAG_REORDER_HEADERS);
 
 	g_object_unref (connection);
 }
diff --git a/src/settings/plugins/keyfile/utils.c b/src/settings/plugins/keyfile/utils.c
index 48795ffb..b5c306e4 100644
--- a/src/settings/plugins/keyfile/utils.c
+++ b/src/settings/plugins/keyfile/utils.c
@@ -18,15 +18,15 @@
  * (C) Copyright 2010 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdlib.h>
 #include <string.h>
-#include "nm-default.h"
+
 #include "utils.h"
-#include <nm-setting-wired.h>
-#include <nm-setting-wireless.h>
-#include <nm-setting-wireless-security.h>
+#include "nm-setting-wired.h"
+#include "nm-setting-wireless.h"
+#include "nm-setting-wireless-security.h"
 #include "nm-config.h"
 
 #define NM_CONFIG_KEYFILE_PATH_DEFAULT NMCONFDIR "/system-connections"
diff --git a/src/settings/plugins/keyfile/writer.c b/src/settings/plugins/keyfile/writer.c
index db00b061..c8eb8800 100644
--- a/src/settings/plugins/keyfile/writer.c
+++ b/src/settings/plugins/keyfile/writer.c
@@ -19,7 +19,7 @@
  * Copyright (C) 2008 - 2015 Red Hat, Inc.
  */
 
-#include "config.h"
+#include "nm-default.h"
 
 #include <stdlib.h>
 #include <sys/stat.h>
@@ -27,7 +27,6 @@
 #include <errno.h>
 #include <string.h>
 
-#include "nm-default.h"
 #include "writer.h"
 #include "utils.h"
 #include "nm-keyfile-internal.h"
@@ -46,12 +45,16 @@ write_cert_key_file (const char *path,
 	char *tmppath;
 	int fd = -1, written;
 	gboolean success = FALSE;
+	mode_t saved_umask;
 
 	tmppath = g_malloc0 (strlen (path) + 10);
 	g_assert (tmppath);
 	memcpy (tmppath, path, strlen (path));
 	strcat (tmppath, ".XXXXXX");
 
+	/* Only readable by root */
+	saved_umask = umask (S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+
 	errno = 0;
 	fd = mkstemp (tmppath);
 	if (fd < 0) {
@@ -61,17 +64,6 @@ write_cert_key_file (const char *path,
 		goto out;
 	}
 
-	/* Only readable by root */
-	errno = 0;
-	if (fchmod (fd, S_IRUSR | S_IWUSR) != 0) {
-		close (fd);
-		unlink (tmppath);
-		g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_FAILED,
-		             "Could not set permissions for temporary file '%s': %d",
-		             path, errno);
-		goto out;
-	}
-
 	errno = 0;
 	written = write (fd, data, data_len);
 	if (written != data_len) {
@@ -96,6 +88,7 @@ write_cert_key_file (const char *path,
 	}
 
 out:
+	umask (saved_umask);
 	g_free (tmppath);
 	return success;
 }
@@ -241,6 +234,8 @@ _internal_write_connection (NMConnection *connection,
 	WriteInfo info = { 0 };
 	GError *local_err = NULL;
 	int errsv;
+	gboolean success = FALSE;
+	mode_t saved_umask;
 
 	g_return_val_if_fail (!out_path || !*out_path, FALSE);
 	g_return_val_if_fail (keyfile_dir && keyfile_dir[0] == '/', FALSE);
@@ -324,13 +319,15 @@ _internal_write_connection (NMConnection *connection,
 	if (existing_path != NULL && strcmp (path, existing_path) != 0)
 		unlink (existing_path);
 
+	saved_umask = umask (S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+
 	g_file_set_contents (path, data, len, &local_err);
 	if (local_err) {
 		g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_FAILED,
 		             "error writing to file '%s': %s",
 		             path, local_err->message);
 		g_error_free (local_err);
-		return FALSE;
+		goto out;
 	}
 
 	if (chown (path, owner_uid, owner_grp) < 0) {
@@ -339,23 +336,18 @@ _internal_write_connection (NMConnection *connection,
 		             "error chowning '%s': %s (%d)",
 		             path, g_strerror (errsv), errsv);
 		unlink (path);
-		return FALSE;
-	}
-
-	if (chmod (path, S_IRUSR | S_IWUSR) < 0) {
-		errsv = errno;
-		g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_FAILED,
-		             "error setting permissions on '%s': %s (%d)",
-		             path, g_strerror (errsv), errsv);
-		unlink (path);
-		return FALSE;
+		goto out;
 	}
 
 	if (out_path && g_strcmp0 (existing_path, path)) {
 		*out_path = path;  /* pass path out to caller */
 		path = NULL;
 	}
-	return TRUE;
+
+	success = TRUE;
+out:
+	umask (saved_umask);
+	return success;
 }
 
 gboolean