mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2026-06-16 18:03:44 +08:00
Ensure that unit tests leave the stack in a clean state
This commit is contained in:
@@ -121,7 +121,8 @@ static enum tcase {
|
||||
TEST_LWIP_DHCP_NAK,
|
||||
TEST_LWIP_DHCP_RELAY,
|
||||
TEST_LWIP_DHCP_NAK_NO_ENDMARKER,
|
||||
TEST_LWIP_DHCP_INVALID_OVERLOAD
|
||||
TEST_LWIP_DHCP_INVALID_OVERLOAD,
|
||||
TEST_NONE
|
||||
} tcase;
|
||||
|
||||
static int debug = 0;
|
||||
@@ -188,10 +189,12 @@ static err_t testif_init(struct netif *netif)
|
||||
static void dhcp_setup(void)
|
||||
{
|
||||
txpacket = 0;
|
||||
lwip_check_ensure_no_alloc(SKIP_POOL(MEMP_SYS_TIMEOUT));
|
||||
}
|
||||
|
||||
static void dhcp_teardown(void)
|
||||
{
|
||||
lwip_check_ensure_no_alloc(SKIP_POOL(MEMP_SYS_TIMEOUT));
|
||||
}
|
||||
|
||||
static void check_pkt(struct pbuf *p, u32_t pos, const u8_t *mem, u32_t len)
|
||||
@@ -490,6 +493,9 @@ START_TEST(test_dhcp)
|
||||
fail_if(memcmp(&netmask, &net_test.netmask, sizeof(ip4_addr_t)));
|
||||
fail_if(memcmp(&gw, &net_test.gw, sizeof(ip4_addr_t)));
|
||||
|
||||
tcase = TEST_NONE;
|
||||
dhcp_stop(&net_test);
|
||||
dhcp_cleanup(&net_test);
|
||||
netif_remove(&net_test);
|
||||
}
|
||||
END_TEST
|
||||
@@ -552,6 +558,9 @@ START_TEST(test_dhcp_nak)
|
||||
|
||||
fail_unless(txpacket == 4); /* DHCP nak sent */
|
||||
|
||||
tcase = TEST_NONE;
|
||||
dhcp_stop(&net_test);
|
||||
dhcp_cleanup(&net_test);
|
||||
netif_remove(&net_test);
|
||||
}
|
||||
END_TEST
|
||||
@@ -796,6 +805,9 @@ START_TEST(test_dhcp_relayed)
|
||||
|
||||
fail_unless(txpacket == 7, "txpacket = %d", txpacket);
|
||||
|
||||
tcase = TEST_NONE;
|
||||
dhcp_stop(&net_test);
|
||||
dhcp_cleanup(&net_test);
|
||||
netif_remove(&net_test);
|
||||
|
||||
}
|
||||
@@ -899,6 +911,9 @@ START_TEST(test_dhcp_nak_no_endmarker)
|
||||
/* NAK should put us in another state for a while, no other way detecting it */
|
||||
fail_unless(netif_dhcp_data(&net_test)->state != DHCP_STATE_REQUESTING);
|
||||
|
||||
tcase = TEST_NONE;
|
||||
dhcp_stop(&net_test);
|
||||
dhcp_cleanup(&net_test);
|
||||
netif_remove(&net_test);
|
||||
}
|
||||
END_TEST
|
||||
@@ -1005,6 +1020,9 @@ START_TEST(test_dhcp_invalid_overload)
|
||||
fail_unless(txpacket == 2); /* No more sent */
|
||||
xid = htonl(netif_dhcp_data(&net_test)->xid); /* xid updated */
|
||||
|
||||
tcase = TEST_NONE;
|
||||
dhcp_stop(&net_test);
|
||||
dhcp_cleanup(&net_test);
|
||||
netif_remove(&net_test);
|
||||
}
|
||||
END_TEST
|
||||
|
||||
Reference in New Issue
Block a user