summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-05-29 13:58:04 -0500
committerDan Williams <dcbw@redhat.com>2014-06-17 17:42:31 -0500
commitb99de0950c7d0c4f5c0011ec769af0f8bd36c0c3 (patch)
tree55fd628f4c35b90f173040b69ead56807bfedf25
parentec1034a03a8f929ba9040f49f66fb5f5ef8ba8a1 (diff)
downloadNetworkManager-dcbw/rh858190-ibft-vlan.tar.gz
ifcfg-rh: add testcase for ibft VLAN configurationsdcbw/rh858190-ibft-vlan
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/Makefile.am4
-rwxr-xr-xsrc/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan18
-rwxr-xr-xsrc/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan-parent18
-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-ibft-vlan8
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c57
6 files changed, 105 insertions, 1 deletions
diff --git a/src/settings/plugins/ifcfg-rh/tests/Makefile.am b/src/settings/plugins/ifcfg-rh/tests/Makefile.am
index e758776da0..eba3959795 100644
--- a/src/settings/plugins/ifcfg-rh/tests/Makefile.am
+++ b/src/settings/plugins/ifcfg-rh/tests/Makefile.am
@@ -66,7 +66,9 @@ EXTRA_DIST = \
iscsiadm-test-bad-dns1 \
iscsiadm-test-bad-dns2 \
iscsiadm-test-bad-entry \
- iscsiadm-test-bad-record
+ iscsiadm-test-bad-record \
+ iscsiadm-test-vlan \
+ iscsiadm-test-vlan-parent
endif
diff --git a/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan b/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan
new file mode 100755
index 0000000000..89f1f558d0
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+cat << EOF
+# BEGIN RECORD
+iface.initiatorname = iqn.pjones6
+iface.hwaddress = 00:33:21:98:b9:f0
+iface.bootproto = DHCP
+iface.gateway = 192.168.35.254
+iface.primary_dns = 10.16.255.2
+iface.secondary_dns = 10.16.255.3
+iface.vlan = 6
+iface.net_ifacename = eth0.6
+node.name = iqn.0.2008-11.com.blahblah:iscsi0
+node.conn[0].address = 10.16.52.16
+node.conn[0].port = 3260
+node.boot_lun = 00000000
+# END RECORD
+
diff --git a/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan-parent b/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan-parent
new file mode 100755
index 0000000000..bbc318da94
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/iscsiadm-test-vlan-parent
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+cat << EOF
+# BEGIN RECORD
+iface.initiatorname = iqn.pjones6
+iface.hwaddress = 00:33:21:98:b9:f0
+iface.bootproto = DHCP
+iface.gateway = 192.168.35.254
+iface.primary_dns = 10.16.255.2
+iface.secondary_dns = 10.16.255.3
+iface.vlan = 6
+iface.net_ifacename = eth0
+node.name = iqn.0.2008-11.com.blahblah:iscsi0
+node.conn[0].address = 10.16.52.16
+node.conn[0].port = 3260
+node.boot_lun = 00000000
+# END RECORD
+
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..ea72e222dd 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.am
@@ -62,6 +62,7 @@ EXTRA_DIST = \
test1_key_and_cert.pem \
ifcfg-test-ibft-dhcp \
ifcfg-test-ibft-static \
+ ifcfg-test-ibft-vlan \
ifcfg-test-static-routes-legacy \
route-test-static-routes-legacy \
ifcfg-test-wired-static-routes \
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft-vlan b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft-vlan
new file mode 100644
index 0000000000..ca560e7d4d
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft-vlan
@@ -0,0 +1,8 @@
+# Intel Corporation 82540EP Gigabit Ethernet Controller (Mobile)
+DEVICE=eth0.6
+HWADDR=00:33:21:98:b9:f0
+BOOTPROTO=ibft
+TYPE=Vlan
+VLAN=yes
+PHYSDEV=eth0
+
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 0e5be5d6b2..00b24b940d 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -11303,6 +11303,61 @@ test_read_ibft_malformed (const char *name, const char *iscsiadm_path, gboolean
}
static void
+test_read_ibft_vlan (gconstpointer user_data)
+{
+ const char *iscsi_script = user_data;
+ NMConnection *connection;
+ NMSettingConnection *s_con;
+ NMSettingWired *s_wired;
+ NMSettingIP4Config *s_ip4;
+ NMSettingVlan *s_vlan;
+ const GByteArray *array;
+ const char expected_mac_address[ETH_ALEN] = { 0x00, 0x33, 0x21, 0x98, 0xb9, 0xf0 };
+ gboolean success;
+ GError *error = NULL;
+
+ connection = connection_from_file (TEST_IFCFG_DIR "/network-scripts/ifcfg-test-ibft-vlan",
+ NULL, TYPE_ETHERNET, iscsi_script,
+ 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);
+
+ s_con = nm_connection_get_setting_connection (connection);
+ g_assert (s_con);
+ g_assert_cmpstr (nm_setting_connection_get_connection_type (s_con), ==, NM_SETTING_VLAN_SETTING_NAME);
+
+ /* ===== WIRED SETTING ===== */
+
+ s_wired = nm_connection_get_setting_wired (connection);
+ g_assert (s_wired);
+
+ /* MAC address */
+ array = nm_setting_wired_get_mac_address (s_wired);
+ g_assert (array);
+ g_assert_cmpint (array->len, ==, ETH_ALEN);
+ g_assert (memcmp (array->data, &expected_mac_address[0], sizeof (expected_mac_address)) == 0);
+
+ /* ===== IPv4 SETTING ===== */
+
+ s_ip4 = nm_connection_get_setting_ip4_config (connection);
+ g_assert (s_ip4);
+ g_assert_cmpstr (nm_setting_ip4_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+
+ /* ===== VLAN SETTING ===== */
+
+ s_vlan = nm_connection_get_setting_vlan (connection);
+ g_assert (s_vlan);
+ g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 6);
+ g_assert_cmpstr (nm_setting_vlan_get_parent (s_vlan), ==, "eth0");
+ g_assert_cmpstr (nm_setting_vlan_get_interface_name (s_vlan), ==, "eth0.6");
+
+ g_object_unref (connection);
+}
+
+static void
test_write_wired_qeth_dhcp (void)
{
NMConnection *connection;
@@ -14526,6 +14581,8 @@ int main (int argc, char **argv)
/* iSCSI / ibft */
test_read_ibft_dhcp ();
test_read_ibft_static ();
+ g_test_add_data_func (TPATH "ibft/vlan", TEST_IFCFG_DIR "/iscsiadm-test-vlan", test_read_ibft_vlan);
+ g_test_add_data_func (TPATH "ibft/vlan-parent", TEST_IFCFG_DIR "/iscsiadm-test-vlan-parent", test_read_ibft_vlan);
test_read_ibft_malformed ("ibft-bad-record-read", TEST_IFCFG_DIR "/iscsiadm-test-bad-record", FALSE);
test_read_ibft_malformed ("ibft-bad-entry-read", TEST_IFCFG_DIR "/iscsiadm-test-bad-entry", TRUE);
test_read_ibft_malformed ("ibft-bad-ipaddr-read", TEST_IFCFG_DIR "/iscsiadm-test-bad-ipaddr", TRUE);