equeue_stub updated and code fixed accordingly

pull/8233/head
Antti Kauppila 2018-09-27 12:26:48 +03:00
parent a54c271814
commit 48e2ccd006
3 changed files with 33 additions and 27 deletions

View File

@ -201,9 +201,9 @@ TEST_F(Test_LoRaWANStack, connect)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
@ -410,16 +410,15 @@ TEST_F(Test_LoRaWANStack, handle_rx)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
loramac_mcps_indication_t ind;
LoRaMac_stub::mcps_ind_ptr = &ind;
ind.status = LORAMAC_EVENT_INFO_STATUS_OK;
loramac_mlme_confirm_t mlme;
LoRaMac_stub::mlme_conf_ptr = &mlme;
@ -443,7 +442,6 @@ TEST_F(Test_LoRaWANStack, handle_rx)
ind.buffer = ind_buf;
ind.buffer_size = 150;
ind.type = MCPS_UNCONFIRMED;
ind.is_data_recvd = true;
radio._ev->rx_done(NULL, 0, 0, 0);
//data == NULL || LENGTH == 0 (2 cases)
@ -572,9 +570,9 @@ TEST_F(Test_LoRaWANStack, acquire_tx_metadata)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
@ -599,9 +597,9 @@ TEST_F(Test_LoRaWANStack, acquire_rx_metadata)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
@ -687,9 +685,9 @@ TEST_F(Test_LoRaWANStack, interrupt_functions)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
@ -750,9 +748,9 @@ TEST_F(Test_LoRaWANStack, process_transmission)
object->connect();
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();
@ -807,9 +805,9 @@ TEST_F(Test_LoRaWANStack, process_reception)
my_LoRaPHY phy;
object->bind_phy_and_radio_driver(radio, phy);
// struct equeue_event ptr;
// equeue_stub.void_ptr = &ptr;
// equeue_stub.call_cb_immediately = true;
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
loramac_mcps_confirm_t conf;
LoRaMac_stub::mcps_conf_ptr = &conf;
radio._ev->tx_done();

View File

@ -21,6 +21,8 @@
#include "events/EventQueue.h"
#include <string>
#include "equeue_stub.h"
// Control nsapi stub return value. See stubs/nsapi_dns_stub.cpp
extern nsapi_error_t nsapi_stub_return_value;
@ -186,6 +188,9 @@ TEST_F(TestNetworkStack, gethostbyname_async_delay)
SocketAddress a;
stack->ip_address = std::string("127.0.0.1");
SetUpQueue();
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
EXPECT_EQ(stack->gethostbyname_async("localhost", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_DNS_FAILURE);
EXPECT_EQ(callin_callback(1, mbed::callback(noarg_callback)), NSAPI_ERROR_OK);
EXPECT_TRUE(noarg_callback_is_called);
@ -197,6 +202,9 @@ TEST_F(TestNetworkStack, gethostbyname_async)
SocketAddress a;
stack->ip_address = std::string("127.0.0.1");
SetUpQueue();
struct equeue_event ptr;
equeue_stub.void_ptr = &ptr;
equeue_stub.call_cb_immediately = true;
EXPECT_EQ(stack->gethostbyname_async("localhost", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_DNS_FAILURE);
EXPECT_EQ(callin_callback(0, mbed::callback(noarg_callback)), NSAPI_ERROR_OK);
EXPECT_TRUE(noarg_callback_is_called);

View File

@ -59,7 +59,7 @@ int equeue_call_every(equeue_t *queue, int ms, void (*cb)(void *), void *data)
void *equeue_alloc(equeue_t *queue, size_t size)
{
return malloc(size);
return equeue_stub.void_ptr;
}
void equeue_dealloc(equeue_t *queue, void *event)
@ -84,9 +84,9 @@ void equeue_event_dtor(void *event, void (*dtor)(void *))
int equeue_post(equeue_t *queue, void (*cb)(void *), void *event)
{
if (cb) {
cb(event);
free(event);
struct equeue_event *e = (struct equeue_event*)event - 1;
if (cb && equeue_stub.call_cb_immediately) {
cb(e + 1);
return 1;
}
return 0;