Browse Source

tests: net: dhcpv4: client: Add DNS server deletion test

Make sure net_dhcpv4_stop() will generate DNS server deletion events.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
pull/92246/head
Jukka Rissanen 2 weeks ago committed by Benjamin Cabé
parent
commit
9f46048159
  1. 26
      tests/net/dhcpv4/client/src/main.c

26
tests/net/dhcpv4/client/src/main.c

@ -252,6 +252,9 @@ static uint32_t request_xid; @@ -252,6 +252,9 @@ static uint32_t request_xid;
#define EVT_VENDOR_EMPTY BIT(12)
#define EVT_DHCP_OFFER BIT(13)
#define EVT_DHCP_ACK BIT(14)
#define EVT_DNS_SERVER1_DEL BIT(15)
#define EVT_DNS_SERVER2_DEL BIT(16)
#define EVT_DNS_SERVER3_DEL BIT(17)
static K_EVENT_DEFINE(events);
@ -538,6 +541,18 @@ static void receiver_cb(uint64_t nm_event, struct net_if *iface, void *info, siz @@ -538,6 +541,18 @@ static void receiver_cb(uint64_t nm_event, struct net_if *iface, void *info, siz
zassert_unreachable("Unknown DNS server");
}
break;
case NET_EVENT_DNS_SERVER_DEL:
zassert_equal(info_length, sizeof(struct sockaddr));
if (net_sin(info)->sin_addr.s_addr == dns_addrs[0].s_addr) {
k_event_post(&events, EVT_DNS_SERVER1_DEL);
} else if (net_sin(info)->sin_addr.s_addr == dns_addrs[1].s_addr) {
k_event_post(&events, EVT_DNS_SERVER2_DEL);
} else if (net_sin(info)->sin_addr.s_addr == dns_addrs[2].s_addr) {
k_event_post(&events, EVT_DNS_SERVER3_DEL);
} else {
zassert_unreachable("Unknown DNS server");
}
break;
case NET_EVENT_IPV4_DHCP_START:
k_event_post(&events, EVT_DHCP_START);
break;
@ -781,8 +796,15 @@ ZTEST(dhcpv4_tests, test_dhcp) @@ -781,8 +796,15 @@ ZTEST(dhcpv4_tests, test_dhcp)
net_dhcpv4_stop(iface);
evt = k_event_wait_all(&events, EVT_DHCP_STOP | EVT_ADDR_DEL, false, WAIT_TIME);
zassert_equal(evt, EVT_DHCP_STOP | EVT_ADDR_DEL,
evt = k_event_wait_all(&events,
EVT_DHCP_STOP | EVT_ADDR_DEL |
EVT_DNS_SERVER1_DEL | EVT_DNS_SERVER2_DEL |
EVT_DNS_SERVER3_DEL,
false, WAIT_TIME);
zassert_equal(evt,
EVT_DHCP_STOP | EVT_ADDR_DEL |
EVT_DNS_SERVER1_DEL | EVT_DNS_SERVER2_DEL |
EVT_DNS_SERVER3_DEL,
"Missing DHCP stop or deleted address");
}
}

Loading…
Cancel
Save