mirror of https://github.com/ARMmbed/mbed-os.git
equeue_stub updated and code fixed accordingly
parent
a54c271814
commit
48e2ccd006
|
@ -201,9 +201,9 @@ TEST_F(Test_LoRaWANStack, connect)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
@ -410,16 +410,15 @@ TEST_F(Test_LoRaWANStack, handle_rx)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
|
||||||
loramac_mcps_indication_t ind;
|
loramac_mcps_indication_t ind;
|
||||||
LoRaMac_stub::mcps_ind_ptr = &ind;
|
LoRaMac_stub::mcps_ind_ptr = &ind;
|
||||||
ind.status = LORAMAC_EVENT_INFO_STATUS_OK;
|
|
||||||
|
|
||||||
loramac_mlme_confirm_t mlme;
|
loramac_mlme_confirm_t mlme;
|
||||||
LoRaMac_stub::mlme_conf_ptr = &mlme;
|
LoRaMac_stub::mlme_conf_ptr = &mlme;
|
||||||
|
@ -443,7 +442,6 @@ TEST_F(Test_LoRaWANStack, handle_rx)
|
||||||
ind.buffer = ind_buf;
|
ind.buffer = ind_buf;
|
||||||
ind.buffer_size = 150;
|
ind.buffer_size = 150;
|
||||||
ind.type = MCPS_UNCONFIRMED;
|
ind.type = MCPS_UNCONFIRMED;
|
||||||
ind.is_data_recvd = true;
|
|
||||||
radio._ev->rx_done(NULL, 0, 0, 0);
|
radio._ev->rx_done(NULL, 0, 0, 0);
|
||||||
|
|
||||||
//data == NULL || LENGTH == 0 (2 cases)
|
//data == NULL || LENGTH == 0 (2 cases)
|
||||||
|
@ -572,9 +570,9 @@ TEST_F(Test_LoRaWANStack, acquire_tx_metadata)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
@ -599,9 +597,9 @@ TEST_F(Test_LoRaWANStack, acquire_rx_metadata)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
@ -687,9 +685,9 @@ TEST_F(Test_LoRaWANStack, interrupt_functions)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
@ -750,9 +748,9 @@ TEST_F(Test_LoRaWANStack, process_transmission)
|
||||||
|
|
||||||
object->connect();
|
object->connect();
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
@ -807,9 +805,9 @@ TEST_F(Test_LoRaWANStack, process_reception)
|
||||||
my_LoRaPHY phy;
|
my_LoRaPHY phy;
|
||||||
object->bind_phy_and_radio_driver(radio, phy);
|
object->bind_phy_and_radio_driver(radio, phy);
|
||||||
|
|
||||||
// struct equeue_event ptr;
|
struct equeue_event ptr;
|
||||||
// equeue_stub.void_ptr = &ptr;
|
equeue_stub.void_ptr = &ptr;
|
||||||
// equeue_stub.call_cb_immediately = true;
|
equeue_stub.call_cb_immediately = true;
|
||||||
loramac_mcps_confirm_t conf;
|
loramac_mcps_confirm_t conf;
|
||||||
LoRaMac_stub::mcps_conf_ptr = &conf;
|
LoRaMac_stub::mcps_conf_ptr = &conf;
|
||||||
radio._ev->tx_done();
|
radio._ev->tx_done();
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#include "events/EventQueue.h"
|
#include "events/EventQueue.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "equeue_stub.h"
|
||||||
|
|
||||||
// Control nsapi stub return value. See stubs/nsapi_dns_stub.cpp
|
// Control nsapi stub return value. See stubs/nsapi_dns_stub.cpp
|
||||||
extern nsapi_error_t nsapi_stub_return_value;
|
extern nsapi_error_t nsapi_stub_return_value;
|
||||||
|
|
||||||
|
@ -186,6 +188,9 @@ TEST_F(TestNetworkStack, gethostbyname_async_delay)
|
||||||
SocketAddress a;
|
SocketAddress a;
|
||||||
stack->ip_address = std::string("127.0.0.1");
|
stack->ip_address = std::string("127.0.0.1");
|
||||||
SetUpQueue();
|
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(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_EQ(callin_callback(1, mbed::callback(noarg_callback)), NSAPI_ERROR_OK);
|
||||||
EXPECT_TRUE(noarg_callback_is_called);
|
EXPECT_TRUE(noarg_callback_is_called);
|
||||||
|
@ -197,6 +202,9 @@ TEST_F(TestNetworkStack, gethostbyname_async)
|
||||||
SocketAddress a;
|
SocketAddress a;
|
||||||
stack->ip_address = std::string("127.0.0.1");
|
stack->ip_address = std::string("127.0.0.1");
|
||||||
SetUpQueue();
|
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(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_EQ(callin_callback(0, mbed::callback(noarg_callback)), NSAPI_ERROR_OK);
|
||||||
EXPECT_TRUE(noarg_callback_is_called);
|
EXPECT_TRUE(noarg_callback_is_called);
|
||||||
|
|
|
@ -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)
|
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)
|
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)
|
int equeue_post(equeue_t *queue, void (*cb)(void *), void *event)
|
||||||
{
|
{
|
||||||
if (cb) {
|
struct equeue_event *e = (struct equeue_event*)event - 1;
|
||||||
cb(event);
|
if (cb && equeue_stub.call_cb_immediately) {
|
||||||
free(event);
|
cb(e + 1);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue