ifcfg-rh/tests: add test for infiniband profile with PKEY_ID in ifcfg format

https://bugzilla.redhat.com/show_bug.cgi?id=2209164
This commit is contained in:
Thomas Haller 2023-06-05 08:52:09 +02:00
parent 35eb9c30aa
commit 0d0704eaa0
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
5 changed files with 59 additions and 7 deletions

View file

@ -3583,7 +3583,9 @@ EXTRA_DIST += \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-fabric \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-vn2vn \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband0 \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband1 \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband2 \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib \
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-link_local \

View file

@ -0,0 +1,12 @@
TYPE=InfiniBand
HWADDR=80:00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22
CONNECTED_MODE=yes
MTU=65520
IPADDR=192.168.2.2
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DEVICE=ib0.80c1
PKEY=yes
PKEY_ID=0x00c1
PHYSDEV=ib0

View file

@ -0,0 +1,12 @@
TYPE=InfiniBand
HWADDR=80:00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22
CONNECTED_MODE=yes
MTU=65520
IPADDR=192.168.2.2
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DEVICE=ib0.00c1
PKEY=yes
PKEY_ID=0x00c1
PHYSDEV=ib0

View file

@ -8364,8 +8364,9 @@ test_write_bond_port(void)
}
static void
test_read_infiniband(void)
test_read_infiniband(gconstpointer test_data)
{
const guint TEST_IDX = GPOINTER_TO_UINT(test_data);
gs_unref_object NMConnection *connection = NULL;
NMSettingInfiniband *s_infiniband;
char *unmanaged = NULL;
@ -8374,11 +8375,15 @@ test_read_infiniband(void)
0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc,
0xdd, 0xee, 0xff, 0x00, 0x11, 0x22};
const char *transport_mode;
const char *test_files[] = {
TEST_IFCFG_DIR "/ifcfg-test-infiniband0",
TEST_IFCFG_DIR "/ifcfg-test-infiniband1",
TEST_IFCFG_DIR "/ifcfg-test-infiniband2",
};
connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-infiniband",
NULL,
TYPE_INFINIBAND,
&unmanaged);
g_assert(TEST_IDX < G_N_ELEMENTS(test_files));
connection = _connection_from_file(test_files[TEST_IDX], NULL, TYPE_INFINIBAND, &unmanaged);
g_assert(!unmanaged);
s_infiniband = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_INFINIBAND);
@ -8390,6 +8395,25 @@ test_read_infiniband(void)
transport_mode = nm_setting_infiniband_get_transport_mode(s_infiniband);
g_assert(transport_mode);
g_assert_cmpstr(transport_mode, ==, "connected");
nmtst_assert_connection_verifies_without_normalization(connection);
switch (TEST_IDX) {
case 0:
g_assert_cmpint(nm_setting_infiniband_get_p_key(s_infiniband), ==, -1);
g_assert_cmpstr(nm_setting_infiniband_get_parent(s_infiniband), ==, NULL);
g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, "ib0");
break;
case 1:
case 2:
g_assert_cmpint(nm_setting_infiniband_get_p_key(s_infiniband), ==, 0x80c1);
g_assert_cmpstr(nm_setting_infiniband_get_parent(s_infiniband), ==, "ib0");
g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, "ib0.80c1");
break;
default:
g_assert_not_reached();
break;
}
}
static void
@ -10700,7 +10724,9 @@ main(int argc, char **argv)
g_test_add_func(TPATH "wifi/read/wep-no-keys", test_read_wifi_wep_no_keys);
g_test_add_func(TPATH "wifi/read/wep-agent-keys", test_read_wifi_wep_agent_keys);
g_test_add_func(TPATH "infiniband/read", test_read_infiniband);
g_test_add_data_func(TPATH "infiniband/read/0", GUINT_TO_POINTER(0), test_read_infiniband);
g_test_add_data_func(TPATH "infiniband/read/1", GUINT_TO_POINTER(1), test_read_infiniband);
g_test_add_data_func(TPATH "infiniband/read/2", GUINT_TO_POINTER(2), test_read_infiniband);
g_test_add_func(TPATH "ipoib/read", test_read_ipoib);
g_test_add_func(TPATH "vlan/read", test_read_vlan_interface);
g_test_add_func(TPATH "vlan/read-flags-1", test_read_vlan_flags_1);