Adds two simple test cases for bonding masters and bonding slaves.
Signed-off-by: Thomas Graf <[email protected]>
---
.../tests/network-scripts/ifcfg-test-bond-main | 5 +
.../tests/network-scripts/ifcfg-test-bond-slave | 4 +
.../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 105 ++++++++++++++++++++
3 files changed, 114 insertions(+), 0 deletions(-)
create mode 100644
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main
create mode 100644
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave
diff --git
a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main
b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main
new file mode 100644
index 0000000..4c4834d
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main
@@ -0,0 +1,5 @@
+DEVICE=bond0
+ONBOOT=no
+TYPE=Bond
+BOOTPROTO=dhcp
+BONDING_OPTS="miimon=100"
diff --git
a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave
b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave
new file mode 100644
index 0000000..cfef2b1
--- /dev/null
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave
@@ -0,0 +1,4 @@
+DEVICE=eth0
+HWADDR=00:22:15:59:62:97
+ONBOOT=no
+MASTER=bond0
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 6b480ad..3515b83 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -11775,6 +11775,109 @@ test_read_vlan_interface (void)
g_free (route6file);
}
+#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;
+ char *unmanaged = NULL;
+ char *keyfile = NULL;
+ char *routefile = NULL;
+ char *route6file = NULL;
+ gboolean ignore_error = FALSE;
+ GError *error = NULL;
+
+ connection = connection_from_file (TEST_IFCFG_BOND_MAIN,
+ NULL,
+ TYPE_ETHERNET,
+ NULL,
+ &unmanaged,
+ &keyfile,
+ &routefile,
+ &route6file,
+ &error,
+ &ignore_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);
+
+ /* ===== 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);
+
+ ASSERT (g_strcmp0 (nm_setting_bond_get_interface_name (s_bond),
"bond0") == 0,
+ "bond-main", "failed to verify %s: DEVICE=%s does not match
bond0",
+ TEST_IFCFG_BOND_MAIN, nm_setting_bond_get_interface_name
(s_bond));
+
+ ASSERT (nm_setting_bond_get_miimon (s_bond) == 100,
+ "bond-main", "failed to verify %s: miimon=%d does not match
100",
+ TEST_IFCFG_BOND_MAIN, nm_setting_bond_get_miimon (s_bond));
+
+ g_free (unmanaged);
+ g_free (keyfile);
+ g_free (routefile);
+ g_free (route6file);
+ g_object_unref (connection);
+}
+
+#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;
+ char *unmanaged = NULL;
+ char *keyfile = NULL;
+ char *routefile = NULL;
+ char *route6file = NULL;
+ gboolean ignore_error = FALSE;
+ GError *error = NULL;
+
+ connection = connection_from_file (TEST_IFCFG_BOND_SLAVE,
+ NULL,
+ TYPE_ETHERNET,
+ NULL,
+ &unmanaged,
+ &keyfile,
+ &routefile,
+ &route6file,
+ &error,
+ &ignore_error);
+ ASSERT (connection != NULL,
+ "bond-slave-read", "unexpected failure reading %s",
TEST_IFCFG_BOND_MAIN);
+
+ ASSERT (nm_connection_verify (connection, &error),
+ "bond-slave-read", "failed to verify %s: %s",
TEST_IFCFG_BOND_MAIN, 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);
+
+ 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);
+
+ ASSERT (g_strcmp0 (nm_setting_connection_get_slave_type (s_con),
"bond") == 0,
+ "bond-slave-read", "failed to verify %s: slave-type is not
bond",
+ TEST_IFCFG_BOND_SLAVE);
+
+ g_free (unmanaged);
+ g_free (keyfile);
+ g_free (routefile);
+ g_free (route6file);
+ g_object_unref (connection);
+}
+
#define TEST_IFCFG_INFINIBAND
TEST_IFCFG_DIR"/network-scripts/ifcfg-test-infiniband"
static void
@@ -12163,6 +12266,8 @@ int main (int argc, char **argv)
test_read_bridge_main ();
test_read_bridge_component ();
test_read_vlan_interface ();
+ test_read_bond_main ();
+ test_read_bond_slave ();
base = g_path_get_basename (argv[0]);
fprintf (stdout, "%s: SUCCESS\n", base);
--
1.7.7.6
_______________________________________________
networkmanager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list