summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-06-17 18:55:05 -0500
committerDan Williams <dcbw@redhat.com>2014-06-17 18:55:32 -0500
commit874b33eff2b5e5a2bb837ec6c30a0737ab9134eb (patch)
treebfc3621242a0f64e8ac5ebbf13f74d8c1a329288
parentac6f56172b0f85cf338741b0807791265bb865ca (diff)
downloadNetworkManager-dcbw/ifcfg-rh-test-cleanup.tar.gz
ifcfg-rh: add testcase for manual IPV6 without IPV6_AUTOdcbw/ifcfg-rh-test-cleanup
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am1
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual218
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c36
3 files changed, 55 insertions, 0 deletions
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 10ebcc91f8..3753333d58 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
@@ -74,6 +74,7 @@ EXTRA_DIST = \
ifcfg-test-wired-ipv4-manual-4 \
ifcfg-test-wired-ipv6-manual \
route6-test-wired-ipv6-manual \
+ ifcfg-test-wired-ipv6-manual2 \
ifcfg-test-wired-static-no-prefix-8 \
ifcfg-test-wired-static-no-prefix-16 \
ifcfg-test-wired-static-no-prefix-24 \
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual2 b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual2
new file mode 100644
index 0000000000..2bb3eb49cf
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual2
@@ -0,0 +1,18 @@
+DEVICE=enccw0.0.fb00
+Name=enccw0.0.fb00
+ONBOOT=yes
+NETBOOT=yes
+BOOTPROTO=none
+UUID="fe96e722-5723-3db9-52c4-6ba3e40b8b75"
+SUBCHANNELS=0.0.fb00,0.0.fb01,0.0.fb02
+PORTNAME=OSAPORT
+NETTYPE=qeth
+LAYER2=0
+TYPE=Ethernet
+OPTIONS=""
+IPADDR=10.30.23.5
+NETMASK=255.255.0.0
+IPV6INIT=yes
+IPV6ADDR=fd00:10:30::23:5/80
+
+
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 416e7346c1..efec9bf0b1 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -1407,6 +1407,41 @@ test_read_wired_ipv6_manual (void)
g_object_unref (connection);
}
+static void
+test_read_wired_ipv6_manual2 (void)
+{
+ NMConnection *connection;
+ NMSettingIP6Config *s_ip6;
+ GError *error = NULL;
+ const char *expected_address1 = "fd00:10:30::23:5";
+ NMIP6Address *ip6_addr;
+ struct in6_addr addr;
+ gboolean success;
+
+ connection = connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-manual2",
+ NULL, TYPE_ETHERNET, NULL, NULL, NULL, NULL, NULL, &error, NULL);
+ g_assert_no_error (error);
+ g_assert (connection);
+ success = nm_connection_verify (connection, &error);
+ g_assert_no_error (error);
+ g_assert (success);
+
+ /* ===== IPv6 SETTING ===== */
+ s_ip6 = nm_connection_get_setting_ip6_config (connection);
+ g_assert (s_ip6);
+ g_assert_cmpstr (nm_setting_ip6_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_MANUAL);
+ g_assert (nm_setting_ip6_config_get_never_default (s_ip6) == FALSE);
+
+ g_assert_cmpint (nm_setting_ip6_config_get_num_addresses (s_ip6), ==, 1);
+ ip6_addr = nm_setting_ip6_config_get_address (s_ip6, 0);
+ g_assert (ip6_addr);
+ g_assert_cmpint (nm_ip6_address_get_prefix (ip6_addr), ==, 80);
+ g_assert (inet_pton (AF_INET6, expected_address1, &addr) > 0);
+ g_assert (IN6_ARE_ADDR_EQUAL (nm_ip6_address_get_address (ip6_addr), &addr));
+
+ g_object_unref (connection);
+}
+
#define TEST_IFCFG_WIRED_IPV6_ONLY TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-ipv6-only"
static void
@@ -13681,6 +13716,7 @@ int main (int argc, char **argv)
g_test_add_data_func (TPATH "wired/ipv4-manual-3", &read_wired_ipv4_manual_info[2], test_read_wired_ipv4_manual);
g_test_add_data_func (TPATH "wired/ipv4-manual-4", &read_wired_ipv4_manual_info[3], test_read_wired_ipv4_manual);
test_read_wired_ipv6_manual ();
+ test_read_wired_ipv6_manual2 ();
test_read_wired_ipv6_only ();
test_read_wired_dhcp6_only ();
test_read_onboot_no ();