diff options
author | Dan Williams <dcbw@redhat.com> | 2014-05-29 13:58:04 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2014-06-17 17:42:31 -0500 |
commit | b99de0950c7d0c4f5c0011ec769af0f8bd36c0c3 (patch) | |
tree | 55fd628f4c35b90f173040b69ead56807bfedf25 | |
parent | ec1034a03a8f929ba9040f49f66fb5f5ef8ba8a1 (diff) | |
download | NetworkManager-dcbw/rh858190-ibft-vlan.tar.gz |
ifcfg-rh: add testcase for ibft VLAN configurationsdcbw/rh858190-ibft-vlan
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); |