platform/tests: add test for nm_platform_link_set_bridge_info()
This commit is contained in:
@@ -590,6 +590,10 @@ test_bridge_addr(void)
|
||||
NMPlatformLink link;
|
||||
const NMPlatformLink *plink = NULL;
|
||||
NMPLinkAddress hw_perm_addr;
|
||||
gboolean b;
|
||||
char sbuf[100];
|
||||
gs_free char *str = NULL;
|
||||
NMPlatformLinkSetBridgeInfoData info_data;
|
||||
|
||||
nm_utils_hwaddr_aton("de:ad:be:ef:00:11", addr, sizeof(addr));
|
||||
|
||||
@@ -660,6 +664,46 @@ test_bridge_addr(void)
|
||||
g_assert_cmpint(plink->l_address.len, ==, sizeof(addr));
|
||||
g_assert(!memcmp(plink->l_address.data, addr, sizeof(addr)));
|
||||
|
||||
info_data = (const NMPlatformLinkSetBridgeInfoData){
|
||||
.vlan_default_pvid_val = nmtst_rand_select(0, 5, 42, 1048),
|
||||
.vlan_default_pvid_has = nmtst_get_rand_bool(),
|
||||
.vlan_filtering_val = nmtst_get_rand_bool(),
|
||||
.vlan_filtering_has = nmtst_get_rand_bool(),
|
||||
};
|
||||
b = nm_platform_link_set_bridge_info(NM_PLATFORM_GET, link.ifindex, &info_data);
|
||||
g_assert(b);
|
||||
|
||||
str = nm_platform_sysctl_master_get_option(NM_PLATFORM_GET, link.ifindex, "default_pvid");
|
||||
g_assert_cmpstr(str,
|
||||
==,
|
||||
info_data.vlan_default_pvid_has
|
||||
? nm_sprintf_buf(sbuf, "%u", info_data.vlan_default_pvid_val)
|
||||
: "1");
|
||||
nm_clear_g_free(&str);
|
||||
|
||||
str = nm_platform_sysctl_master_get_option(NM_PLATFORM_GET, link.ifindex, "vlan_filtering");
|
||||
g_assert_cmpstr(str,
|
||||
==,
|
||||
info_data.vlan_filtering_val && info_data.vlan_filtering_has ? "1" : "0");
|
||||
nm_clear_g_free(&str);
|
||||
|
||||
info_data = (const NMPlatformLinkSetBridgeInfoData){
|
||||
.vlan_default_pvid_val = 55,
|
||||
.vlan_default_pvid_has = TRUE,
|
||||
.vlan_filtering_val = !info_data.vlan_filtering_val,
|
||||
.vlan_filtering_has = TRUE,
|
||||
};
|
||||
b = nm_platform_link_set_bridge_info(NM_PLATFORM_GET, link.ifindex, &info_data);
|
||||
g_assert(b);
|
||||
|
||||
str = nm_platform_sysctl_master_get_option(NM_PLATFORM_GET, link.ifindex, "default_pvid");
|
||||
g_assert_cmpstr(str, ==, nm_sprintf_buf(sbuf, "%u", info_data.vlan_default_pvid_val));
|
||||
nm_clear_g_free(&str);
|
||||
|
||||
str = nm_platform_sysctl_master_get_option(NM_PLATFORM_GET, link.ifindex, "vlan_filtering");
|
||||
g_assert_cmpstr(str, ==, info_data.vlan_filtering_val ? "1" : "0");
|
||||
nm_clear_g_free(&str);
|
||||
|
||||
nmtstp_link_delete(NULL, -1, link.ifindex, link.name, TRUE);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user