diff --git a/tests/host/common/MockWiFiServerSocket.cpp b/tests/host/common/MockWiFiServerSocket.cpp index f56b9f424..ed3a13353 100644 --- a/tests/host/common/MockWiFiServerSocket.cpp +++ b/tests/host/common/MockWiFiServerSocket.cpp @@ -67,8 +67,8 @@ void WiFiServer::begin (uint16_t port, uint8_t backlog) { if (!backlog) return; - _port = port; - return begin(); + _port = port; + return begin(); } void WiFiServer::begin () diff --git a/tests/host/common/MocklwIP.cpp b/tests/host/common/MocklwIP.cpp index f114572c1..8628cc47b 100644 --- a/tests/host/common/MocklwIP.cpp +++ b/tests/host/common/MocklwIP.cpp @@ -33,4 +33,31 @@ err_t etharp_request(struct netif *netif, const ip4_addr_t *ipaddr) return ERR_OK; } +err_t igmp_start(struct netif* netif) +{ + (void)netif; + return ERR_OK; +} + +err_t igmp_joingroup_netif(struct netif *netif, const ip4_addr_t *groupaddr) +{ + (void)netif; + (void)groupaddr; + return ERR_OK; +} + +err_t igmp_leavegroup_netif(struct netif *netif, const ip4_addr_t *groupaddr) +{ + (void)netif; + (void)groupaddr; + return ERR_OK; +} + +struct netif* netif_get_by_index(u8_t idx) +{ + (void)idx; + return &netif0; +} + + } // extern "C" diff --git a/tests/host/common/include/UdpContext.h b/tests/host/common/include/UdpContext.h index ab7c2a97d..c4a87c19b 100644 --- a/tests/host/common/include/UdpContext.h +++ b/tests/host/common/include/UdpContext.h @@ -28,6 +28,8 @@ class UdpContext; #define GET_IP_HDR(pb) reinterpret_cast(((uint8_t*)((pb)->payload)) - UDP_HLEN - IP_HLEN); #define GET_UDP_HDR(pb) reinterpret_cast(((uint8_t*)((pb)->payload)) - UDP_HLEN); +extern netif netif0; + class UdpContext { public: @@ -86,12 +88,24 @@ public: _dst.addr = staticMCastAddr; } + void setMulticastInterface(netif* p_pNetIf) + { + (void)p_pNetIf; + // user multicast, and this is how it works with posix: send to multicast address: + _dst.addr = staticMCastAddr; + } + void setMulticastTTL(int ttl) { (void)ttl; //mockverbose("TODO: UdpContext::setMulticastTTL\n"); } + netif* getInputNetif() const + { + return &netif0; + } + // warning: handler is called from tcp stack context // esp_yield and non-reentrant functions which depend on it will fail void onRx(rxhandler_t handler) { @@ -246,7 +260,7 @@ private: uint8_t addr[16]; }; -inline err_t igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr) +extern "C" inline err_t igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr) { (void)ifaddr; UdpContext::staticMCastAddr = groupaddr->addr; diff --git a/tests/host/sys/pgmspace.h b/tests/host/sys/pgmspace.h index 1b357d2e3..69a3b4fd9 100644 --- a/tests/host/sys/pgmspace.h +++ b/tests/host/sys/pgmspace.h @@ -67,5 +67,6 @@ inline int vsnprintf_P(char *str, size_t size, const char *format, va_list ap) { #define snprintf_P snprintf #define sprintf_P sprintf #define strncmp_P strncmp +#define strcat_P strcat #endif