[PATCH] bonding: Add test cases
- From: Thomas Graf <tgraf redhat com>
- To: networkmanager-list gnome org
- Cc: Thomas Graf <tgraf redhat com>
- Subject: [PATCH] bonding: Add test cases
- Date: Tue, 14 Feb 2012 12:36:16 +0100
Adds two simple test cases for bonding masters and bonding slaves.
Signed-off-by: Thomas Graf <tgraf redhat com>
---
.../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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]