tests/gnrc_sixlowpan_*: avoid explicit cast to netdev

This commit is contained in:
Jose Alamos 2021-06-22 15:51:10 +02:00
parent 084bcf3ea6
commit bd0d03eb10
No known key found for this signature in database
GPG Key ID: F483EB800EF89DD9
4 changed files with 405 additions and 69 deletions

View File

@ -111,7 +111,7 @@ static void _init_interface(void)
_get_netdev_addr_long); _get_netdev_addr_long);
gnrc_netif_ieee802154_create(&_netif, gnrc_netif_ieee802154_create(&_netif,
_netif_stack, THREAD_STACKSIZE_DEFAULT, GNRC_NETIF_PRIO, _netif_stack, THREAD_STACKSIZE_DEFAULT, GNRC_NETIF_PRIO,
"dummy_netif", (netdev_t *)&_ieee802154_dev); "dummy_netif", &_ieee802154_dev.netdev.netdev);
ipv6_addr_t addr = IPV6_ADDR_UNSPECIFIED; ipv6_addr_t addr = IPV6_ADDR_UNSPECIFIED;
/* fd01::01 */ /* fd01::01 */

View File

@ -318,7 +318,12 @@ static void _set_up(void)
static void _tear_down(void) static void _tear_down(void)
{ {
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, NULL); netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test, NULL);
mutex_unlock(&_target_buf_barrier); mutex_unlock(&_target_buf_barrier);
/* wait in case mutex in _mock_netdev_send was already entered */ /* wait in case mutex in _mock_netdev_send was already entered */
mutex_lock(&_target_buf_barrier); mutex_lock(&_target_buf_barrier);
@ -455,7 +460,12 @@ static void test_minfwd_forward__success__1st_frag_sixlo(void)
TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_frag_t), TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_frag_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt,
frag->data, frag->data,
@ -490,7 +500,12 @@ static void test_minfwd_forward__success__1st_frag_iphc(void)
TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_frag_t), TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_frag_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt,
frag->data, frag->data,
@ -530,7 +545,12 @@ static void test_minfwd_forward__success__nth_frag_incomplete(void)
sizeof(sixlowpan_frag_n_t), sizeof(sixlowpan_frag_n_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt,
frag->data, frag->data,
@ -572,7 +592,12 @@ static void test_minfwd_forward__success__nth_frag_complete(void)
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
/* simulate current_size only missing the created fragment */ /* simulate current_size only missing the created fragment */
vrbe->super.current_size = _vrbe_base.datagram_size; vrbe->super.current_size = _vrbe_base.datagram_size;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_minfwd_forward(pkt,
frag->data, frag->data,
@ -613,7 +638,12 @@ static void test_minfwd_forward__ENOMEM__netif_hdr_build_fail(void)
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(-ENOMEM, gnrc_sixlowpan_frag_minfwd_forward(pkt, TEST_ASSERT_EQUAL_INT(-ENOMEM, gnrc_sixlowpan_frag_minfwd_forward(pkt,
frag->data, frag->data,
@ -637,7 +667,12 @@ static void test_minfwd_frag_iphc__success(void)
fbuf->datagram_size = TEST_SEND_DATAGRAM_SIZE; fbuf->datagram_size = TEST_SEND_DATAGRAM_SIZE;
fbuf->tag = TEST_SEND_DATAGRAM_TAG; fbuf->tag = TEST_SEND_DATAGRAM_TAG;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT( TEST_ASSERT_EQUAL_INT(
0, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt, 0, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt,
@ -677,7 +712,12 @@ static void test_minfwd_frag_iphc__no_frag(void)
fbuf->datagram_size = TEST_SEND_FRAG1_PAYLOAD_SIZE; fbuf->datagram_size = TEST_SEND_FRAG1_PAYLOAD_SIZE;
fbuf->tag = TEST_SEND_DATAGRAM_TAG; fbuf->tag = TEST_SEND_DATAGRAM_TAG;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT( TEST_ASSERT_EQUAL_INT(
-1, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt, -1, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt,
@ -716,7 +756,12 @@ static void test_minfwd_frag_iphc__ll_dst(void)
fbuf->datagram_size = TEST_SEND_FRAG1_PAYLOAD_SIZE; fbuf->datagram_size = TEST_SEND_FRAG1_PAYLOAD_SIZE;
fbuf->tag = TEST_SEND_DATAGRAM_TAG; fbuf->tag = TEST_SEND_DATAGRAM_TAG;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT( TEST_ASSERT_EQUAL_INT(
-1, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt, -1, gnrc_sixlowpan_frag_minfwd_frag_iphc(pkt,
@ -744,7 +789,12 @@ static void test_sixlo_recv__1st_frag_uncomp(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -807,7 +857,12 @@ static void test_sixlo_recv__1st_frag_uncomp__after_nth_frag(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -856,7 +911,12 @@ static void test_sixlo_recv__1st_frag_comp(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -906,7 +966,12 @@ static void test_sixlo_recv__1st_frag_comp__only_iphc(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -946,7 +1011,12 @@ static void test_sixlo_recv__1st_frag_comp__only_iphc_no_nhc(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1084,7 +1154,12 @@ static void test_sixlo_recv__1st_frag_comp__after_nth_frag(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1135,7 +1210,12 @@ static void test_sixlo_recv__nth_frag(void)
_rem_l2, sizeof(_rem_l2))) _rem_l2, sizeof(_rem_l2)))
); );
vrbe->super.arrival = xtimer_now_usec(); vrbe->super.arrival = xtimer_now_usec();
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1176,7 +1256,12 @@ static void test_sixlo_recv__nth_frag__datagram_complete(void)
/* simulate current_size only missing the created fragment */ /* simulate current_size only missing the created fragment */
vrbe->super.current_size = _vrbe_base.datagram_size - TEST_NTH_FRAG_SIZE; vrbe->super.current_size = _vrbe_base.datagram_size - TEST_NTH_FRAG_SIZE;
vrbe->super.arrival = xtimer_now_usec(); vrbe->super.arrival = xtimer_now_usec();
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1208,7 +1293,12 @@ static void test_sixlo_recv__nth_frag__no_vrbe(void)
TEST_ASSERT_NOT_NULL( TEST_ASSERT_NOT_NULL(
(frag = _create_recv_frag(_test_nth_frag, sizeof(_test_nth_frag))) (frag = _create_recv_frag(_test_nth_frag, sizeof(_test_nth_frag)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1244,7 +1334,12 @@ static void test_sixlo_recv__nth_frag__duplicate(void)
_rem_l2, sizeof(_rem_l2))) _rem_l2, sizeof(_rem_l2)))
); );
vrbe->super.arrival = xtimer_now_usec(); vrbe->super.arrival = xtimer_now_usec();
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1294,7 +1389,12 @@ static void test_sixlo_recv__nth_frag__overlap(void)
_rem_l2, sizeof(_rem_l2))) _rem_l2, sizeof(_rem_l2)))
); );
vrbe->super.arrival = xtimer_now_usec(); vrbe->super.arrival = xtimer_now_usec();
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1334,7 +1434,12 @@ static void test_sixlo_send(void)
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,

View File

@ -348,7 +348,13 @@ static void _set_up(void)
static void _tear_down(void) static void _tear_down(void)
{ {
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, NULL); netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test, NULL);
mutex_unlock(&_target_buf_barrier); mutex_unlock(&_target_buf_barrier);
/* wait in case mutex in _mock_netdev_send was already entered */ /* wait in case mutex in _mock_netdev_send was already entered */
mutex_lock(&_target_buf_barrier); mutex_lock(&_target_buf_barrier);
@ -373,7 +379,12 @@ static void test_sfr_forward__success__1st_frag_sixlo(void)
TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_sfr_rfrag_t), TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_sfr_rfrag_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt,
frag->data, frag->data,
@ -407,7 +418,12 @@ static void test_sfr_forward__success__1st_frag_iphc(void)
TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_sfr_rfrag_t), TEST_ASSERT_NOT_NULL((frag = gnrc_pktbuf_mark(pkt, sizeof(sixlowpan_sfr_rfrag_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt,
frag->data, frag->data,
@ -446,7 +462,12 @@ static void test_sfr_forward__success__nth_frag_incomplete(void)
sizeof(sixlowpan_sfr_rfrag_t), sizeof(sixlowpan_sfr_rfrag_t),
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt,
frag->data, frag->data,
@ -486,7 +507,12 @@ static void test_sfr_forward__success__nth_frag_complete(void)
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
/* simulate current_size only missing the created fragment */ /* simulate current_size only missing the created fragment */
vrbe->super.current_size = _vrbe_base.datagram_size; vrbe->super.current_size = _vrbe_base.datagram_size;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt, TEST_ASSERT_EQUAL_INT(0, gnrc_sixlowpan_frag_sfr_forward(pkt,
frag->data, frag->data,
@ -524,7 +550,12 @@ static void test_sfr_forward__ENOMEM__netif_hdr_build_fail(void)
GNRC_NETTYPE_SIXLOWPAN))); GNRC_NETTYPE_SIXLOWPAN)));
LL_DELETE(pkt, frag); LL_DELETE(pkt, frag);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT_EQUAL_INT(-ENOMEM, gnrc_sixlowpan_frag_sfr_forward(pkt, TEST_ASSERT_EQUAL_INT(-ENOMEM, gnrc_sixlowpan_frag_sfr_forward(pkt,
frag->data, frag->data,
@ -548,7 +579,12 @@ static void test_sixlo_recv_fwd__1st_frag_uncomp(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -580,7 +616,12 @@ static void test_sixlo_recv_fwd__1st_frag_uncomp__req_ack(void)
sixlowpan_sfr_rfrag_set_ack_req(frag->data); sixlowpan_sfr_rfrag_set_ack_req(frag->data);
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -613,7 +654,12 @@ static void test_sixlo_recv_fwd__1st_frag_uncomp__no_route(void)
(frag = _create_recv_frag(_test_1st_frag_uncomp, (frag = _create_recv_frag(_test_1st_frag_uncomp,
sizeof(_test_1st_frag_uncomp))) sizeof(_test_1st_frag_uncomp)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -644,7 +690,12 @@ static void test_sixlo_recv_fwd__1st_frag_uncomp__after_nth_frag(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -693,7 +744,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -750,7 +806,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__resend(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -806,7 +867,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__only_iphc(void)
sizeof(sixlowpan_sfr_rfrag_t)); sizeof(sixlowpan_sfr_rfrag_t));
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -846,7 +912,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__only_iphc_no_nhc(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -881,7 +952,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__no_route(void)
(frag = _create_recv_frag(_test_1st_frag_comp_prev_hop, (frag = _create_recv_frag(_test_1st_frag_comp_prev_hop,
sizeof(_test_1st_frag_comp_prev_hop))) sizeof(_test_1st_frag_comp_prev_hop)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -910,7 +986,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__no_route_only_iphc(void)
(frag = _create_recv_frag(_test_1st_frag_comp_prev_hop, (frag = _create_recv_frag(_test_1st_frag_comp_prev_hop,
TEST_1ST_FRAG_COMP_PREV_HOP_UDP_PAYLOAD_POS)) TEST_1ST_FRAG_COMP_PREV_HOP_UDP_PAYLOAD_POS))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -946,7 +1027,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__no_refrag(void)
reserved[i] = gnrc_sixlowpan_frag_fb_get(); reserved[i] = gnrc_sixlowpan_frag_fb_get();
reserved[i]->pkt = frag; reserved[i]->pkt = frag;
} }
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -984,7 +1070,12 @@ static void test_sixlo_recv_fwd__1st_frag_comp__after_nth_frag(void)
); );
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1057,7 +1148,12 @@ static void test_sixlo_recv_fwd__1st_frag_abort(void)
); );
vrbe->in_netif = _mock_netif; vrbe->in_netif = _mock_netif;
exp_tag = vrbe->out_tag & 0xff; exp_tag = vrbe->out_tag & 0xff;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1100,7 +1196,12 @@ static void test_sixlo_recv_fwd__1st_frag_nalp(void)
data[sizeof(sixlowpan_sfr_rfrag_t)] &= ~(0xc0); data[sizeof(sixlowpan_sfr_rfrag_t)] &= ~(0xc0);
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1133,7 +1234,12 @@ static void test_sixlo_recv_fwd__1st_frag_nalp__req_ack(void)
sixlowpan_sfr_rfrag_set_ack_req(frag->data); sixlowpan_sfr_rfrag_set_ack_req(frag->data);
/* configure route to destination of IP header in frag */ /* configure route to destination of IP header in frag */
TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN)); TEST_ASSERT_EQUAL_INT(0, _set_route_and_nce(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1166,7 +1272,12 @@ static void test_sixlo_recv_fwd__1st_frag_nalp__no_vrb(void)
data = frag->data; data = frag->data;
/* mark dispatch after RFRAG header a non-6LoWPAN frame */ /* mark dispatch after RFRAG header a non-6LoWPAN frame */
data[sizeof(sixlowpan_sfr_rfrag_t)] &= ~(0xc0); data[sizeof(sixlowpan_sfr_rfrag_t)] &= ~(0xc0);
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1199,7 +1310,12 @@ static void test_sixlo_recv_fwd__nth_frag(void)
vrbe->in_netif = _mock_netif; vrbe->in_netif = _mock_netif;
/* set offset_diff to test it in the outgoing RFRAG */ /* set offset_diff to test it in the outgoing RFRAG */
vrbe->offset_diff = TEST_OFFSET_DIFF; vrbe->offset_diff = TEST_OFFSET_DIFF;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1236,7 +1352,12 @@ static void test_sixlo_recv_fwd__nth_frag__no_vrbe(void)
TEST_ASSERT_NOT_NULL( TEST_ASSERT_NOT_NULL(
(frag = _create_recv_frag(_test_nth_frag, sizeof(_test_nth_frag))) (frag = _create_recv_frag(_test_nth_frag, sizeof(_test_nth_frag)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1268,7 +1389,12 @@ static void test_sixlo_recv_fwd__nth_frag__duplicate(void)
(vrbe = gnrc_sixlowpan_frag_vrb_add(&_vrbe_base, _mock_netif, (vrbe = gnrc_sixlowpan_frag_vrb_add(&_vrbe_base, _mock_netif,
_rem_l2, sizeof(_rem_l2))) _rem_l2, sizeof(_rem_l2)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1313,7 +1439,12 @@ static void test_sixlo_recv_fwd__nth_frag__overlap(void)
(vrbe = gnrc_sixlowpan_frag_vrb_add(&_vrbe_base, _mock_netif, (vrbe = gnrc_sixlowpan_frag_vrb_add(&_vrbe_base, _mock_netif,
_rem_l2, sizeof(_rem_l2))) _rem_l2, sizeof(_rem_l2)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1358,7 +1489,12 @@ static void test_sixlo_recv_fwd__frag__too_short(void)
(frag = _create_recv_frag(_test_1st_frag_comp, (frag = _create_recv_frag(_test_1st_frag_comp,
sizeof(sixlowpan_sfr_rfrag_t) - 1)) sizeof(sixlowpan_sfr_rfrag_t) - 1))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1392,7 +1528,12 @@ static void test_sixlo_recv_fwd__ack(void)
vrbe->in_netif = _mock_netif; vrbe->in_netif = _mock_netif;
ack_hdr = ack->data; ack_hdr = ack->data;
ack_hdr->base.tag = vrbe->out_tag; ack_hdr->base.tag = vrbe->out_tag;
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1428,7 +1569,12 @@ static void test_sixlo_recv_fwd__NULL_ack(void)
ack_hdr->base.tag = vrbe->out_tag; ack_hdr->base.tag = vrbe->out_tag;
/* set ACK bitmap to NULL */ /* set ACK bitmap to NULL */
memset(ack_hdr->bitmap, 0, sizeof(ack_hdr->bitmap)); memset(ack_hdr->bitmap, 0, sizeof(ack_hdr->bitmap));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1466,7 +1612,12 @@ static void test_sixlo_recv_fwd__FULL_ack(void)
ack_hdr->base.tag = vrbe->out_tag; ack_hdr->base.tag = vrbe->out_tag;
/* set ACK bitmap to NULL */ /* set ACK bitmap to NULL */
memcpy(ack_hdr->bitmap, full_bitmap, sizeof(ack_hdr->bitmap)); memcpy(ack_hdr->bitmap, full_bitmap, sizeof(ack_hdr->bitmap));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1490,7 +1641,12 @@ static void test_sixlo_recv_fwd__ack__no_vrbe(void)
TEST_ASSERT_NOT_NULL( TEST_ASSERT_NOT_NULL(
(ack = _create_recv_ack(_test_ack, sizeof(_test_ack))) (ack = _create_recv_ack(_test_ack, sizeof(_test_ack)))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1519,7 +1675,12 @@ static void test_sixlo_recv_fwd__ack__too_short(void)
(frag = _create_recv_frag(_test_ack, (frag = _create_recv_frag(_test_ack,
sizeof(sixlowpan_sfr_ack_t) - 1)) sizeof(sixlowpan_sfr_ack_t) - 1))
); );
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1548,7 +1709,12 @@ static void test_sixlo_recv_ep__1st_frag_uncomp(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1591,7 +1757,12 @@ static void test_sixlo_recv_ep__1st_frag_uncomp__req_ack(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1633,7 +1804,12 @@ static void test_sixlo_recv_ep__1st_frag_uncomp__after_nth_frag(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1691,7 +1867,12 @@ static void test_sixlo_recv_ep__1st_frag_comp(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1730,7 +1911,12 @@ static void test_sixlo_recv_ep__1st_frag_comp__after_nth_frag(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1788,7 +1974,12 @@ static void test_sixlo_recv_ep__1st_frag_abort(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1836,7 +2027,12 @@ static void test_sixlo_recv_ep__1st_frag_abort__req_ack(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_receive(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -1888,7 +2084,12 @@ static void test_sixlo_recv_ep__complete_datagram(void)
/* configure interface to be endpoint of route */ /* configure interface to be endpoint of route */
TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t), TEST_ASSERT_EQUAL_INT(sizeof(ipv6_addr_t),
_add_dst(&_rem_gb, REM_GB_PFX_LEN)); _add_dst(&_rem_gb, REM_GB_PFX_LEN));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
/* ==== FIRST FRAGMENT ==== */ /* ==== FIRST FRAGMENT ==== */
TEST_ASSERT_NOT_NULL( TEST_ASSERT_NOT_NULL(
@ -2011,7 +2212,12 @@ static void test_sixlo_send(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -2071,7 +2277,12 @@ static void test_sixlo_send__first_ackd(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -2154,7 +2365,12 @@ static void test_sixlo_send__middle_ackd(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -2239,7 +2455,12 @@ static void test_sixlo_send__last_ackd(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -2324,7 +2545,12 @@ static void test_sixlo_send__all_ackd(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,
@ -2384,7 +2610,12 @@ static void test_sixlo_send__FULL_ack_recv(void)
TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE); TEST_ASSERT(3 <= CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE);
TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true))); TEST_ASSERT_NOT_NULL((pkt = _create_send_datagram(false, true)));
netdev_test_set_send_cb((netdev_test_t *)_mock_netif->dev, netdev_ieee802154_t *netdev_ieee802154 = container_of(_mock_netif->dev,
netdev_ieee802154_t,
netdev);
netdev_test_t *netdev_test = container_of(netdev_ieee802154, netdev_test_t,
netdev);
netdev_test_set_send_cb(netdev_test,
_mock_netdev_send); _mock_netdev_send);
TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN, TEST_ASSERT(0 < gnrc_netapi_dispatch_send(GNRC_NETTYPE_SIXLOWPAN,
GNRC_NETREG_DEMUX_CTX_ALL, GNRC_NETREG_DEMUX_CTX_ALL,

View File

@ -311,7 +311,7 @@ static void _init_mock_netif(void)
_get_netdev_addr_long); _get_netdev_addr_long);
gnrc_netif_ieee802154_create(&_netif, _mock_netif_stack, gnrc_netif_ieee802154_create(&_netif, _mock_netif_stack,
THREAD_STACKSIZE_DEFAULT, GNRC_NETIF_PRIO, THREAD_STACKSIZE_DEFAULT, GNRC_NETIF_PRIO,
"mock_netif", (netdev_t *)&_mock_dev); "mock_netif", &_mock_dev.netdev.netdev);
_mock_netif = &_netif; _mock_netif = &_netif;
thread_yield_higher(); thread_yield_higher();
} }