diff options
Diffstat (limited to 'src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c')
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 59 |
1 files changed, 46 insertions, 13 deletions
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 60938f6e..9ed48beb 100644 --- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c +++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c @@ -67,11 +67,14 @@ _connection_from_file (const char *filename, { NMConnection *connection; GError *error = NULL; + char *unhandled_fallback = NULL; g_assert (!out_unhandled || !*out_unhandled); - connection = connection_from_file_test (filename, network_file, test_type, out_unhandled, &error); + connection = connection_from_file_test (filename, network_file, test_type, + out_unhandled ?: &unhandled_fallback, &error); g_assert_no_error (error); + g_assert (!unhandled_fallback); if (out_unhandled && *out_unhandled) nmtst_assert_connection_verifies (connection); @@ -89,13 +92,12 @@ _connection_from_file_fail (const char *filename, NMConnection *connection; GError *local = NULL; char *unhandled = NULL; - char **p_unhandled = (nmtst_get_rand_int () % 2) ? &unhandled : NULL; - connection = connection_from_file_test (filename, network_file, test_type, p_unhandled, &local); + connection = connection_from_file_test (filename, network_file, test_type, &unhandled, &local); g_assert (!connection); g_assert (local); - g_assert (!p_unhandled || !*p_unhandled); + g_assert (!unhandled); g_propagate_error (error, local); } @@ -107,11 +109,14 @@ _writer_new_connection (NMConnection *connection, gboolean success; GError *error = NULL; char *filename = NULL; + gs_unref_object NMConnection *con_verified = NULL; g_assert (NM_IS_CONNECTION (connection)); g_assert (ifcfg_dir); - success = writer_new_connection (connection, + con_verified = nmtst_connection_duplicate_and_normalize (connection); + + success = writer_new_connection (con_verified, ifcfg_dir, &filename, &error); @@ -8425,15 +8430,15 @@ test_write_fcoe_mode (gconstpointer user_data) } static void -test_read_team_master (void) +test_read_team_master (gconstpointer user_data) { + const char *const PATH_NAME = user_data; NMConnection *connection; NMSettingConnection *s_con; NMSettingTeam *s_team; const char *expected_config = "{ \"device\": \"team0\", \"link_watch\": { \"name\": \"ethtool\" } }"; - connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master", - NULL, TYPE_ETHERNET, NULL); + connection = _connection_from_file (PATH_NAME, NULL, TYPE_ETHERNET, NULL); g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "team0"); @@ -8449,6 +8454,31 @@ test_read_team_master (void) } static void +test_read_team_master_invalid (gconstpointer user_data) +{ + const char *const PATH_NAME = user_data; + NMConnection *connection; + NMSettingConnection *s_con; + NMSettingTeam *s_team; + + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, "*ignoring invalid team configuration*"); + connection = _connection_from_file (PATH_NAME, NULL, TYPE_ETHERNET, NULL); + g_test_assert_expected_messages (); + + g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "team0"); + + 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_TEAM_SETTING_NAME); + + s_team = nm_connection_get_setting_team (connection); + g_assert (s_team); + g_assert (nm_setting_team_get_config (s_team) == NULL); + + g_object_unref (connection); +} + +static void test_write_team_master (void) { NMConnection *connection, *reread; @@ -8541,15 +8571,15 @@ test_write_team_master (void) } static void -test_read_team_port (void) +test_read_team_port (gconstpointer user_data) { + const char *const PATH_NAME = user_data; NMConnection *connection; NMSettingConnection *s_con; NMSettingTeamPort *s_team_port; const char *expected_config = "{ \"p4p1\": { \"prio\": -10, \"sticky\": true } }"; - connection = _connection_from_file (TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port", - NULL, TYPE_ETHERNET, NULL); + connection = _connection_from_file (PATH_NAME, NULL, TYPE_ETHERNET, NULL); s_con = nm_connection_get_setting_connection (connection); g_assert (s_con); @@ -9043,9 +9073,12 @@ int main (int argc, char **argv) g_test_add_func (TPATH "bridge/write-component", test_write_bridge_component); g_test_add_func (TPATH "bridge/read-missing-stp", test_read_bridge_missing_stp); - g_test_add_func (TPATH "team/read-master", test_read_team_master); + g_test_add_data_func (TPATH "team/read-master-1", TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master-1", test_read_team_master); + g_test_add_data_func (TPATH "team/read-master-2", TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master-2", test_read_team_master); + g_test_add_data_func (TPATH "team/read-master-invalid", TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-master-invalid", test_read_team_master_invalid); g_test_add_func (TPATH "team/write-master", test_write_team_master); - g_test_add_func (TPATH "team/read-port", test_read_team_port); + g_test_add_data_func (TPATH "team/read-port-1", TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port-1", test_read_team_port); + g_test_add_data_func (TPATH "team/read-port-2", TEST_IFCFG_DIR"/network-scripts/ifcfg-test-team-port-2", test_read_team_port); g_test_add_func (TPATH "team/write-port", test_write_team_port); g_test_add_func (TPATH "team/read-port-empty-config", test_read_team_port_empty_config); |