From d58e0f1a1a8f3ae18bed1545568da5aa36457417 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Wed, 10 Jul 2019 21:29:13 +0200 Subject: [PATCH] fix compiling unit tests after adding compile-time check for LWIP_NETCONN_FULLDUPLEX --- test/unit/arch/sys_arch.c | 18 +++++++++++++++++- test/unit/arch/sys_arch.h | 7 +++++++ test/unit/lwipopts.h | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/test/unit/arch/sys_arch.c b/test/unit/arch/sys_arch.c index cf826ebf..ed0e34f0 100644 --- a/test/unit/arch/sys_arch.c +++ b/test/unit/arch/sys_arch.c @@ -365,7 +365,23 @@ sys_arch_mbox_tryfetch(sys_mbox_t *q, void **msg) } #if LWIP_NETCONN_SEM_PER_THREAD -#error LWIP_NETCONN_SEM_PER_THREAD==1 not supported +/* Simple implementation of this: unit tests only support one thread */ +static sys_sem_t global_netconn_sem; + +sys_sem_t* sys_arch_netconn_sem_get(void) +{ + return &global_netconn_sem; +} + +void sys_arch_netconn_sem_alloc(void) +{ + sys_sem_new(&global_netconn_sem, 0); +} + +void sys_arch_netconn_sem_free(void) +{ + sys_sem_free(&global_netconn_sem); +} #endif /* LWIP_NETCONN_SEM_PER_THREAD */ #endif /* !NO_SYS */ diff --git a/test/unit/arch/sys_arch.h b/test/unit/arch/sys_arch.h index 331c2f2f..9157b6a8 100644 --- a/test/unit/arch/sys_arch.h +++ b/test/unit/arch/sys_arch.h @@ -68,5 +68,12 @@ void test_sys_arch_wait_callback(test_sys_arch_waiting_fn waiting_fn); /* current time */ extern u32_t lwip_sys_now; +sys_sem_t* sys_arch_netconn_sem_get(void); +void sys_arch_netconn_sem_alloc(void); +void sys_arch_netconn_sem_free(void); +#define LWIP_NETCONN_THREAD_SEM_GET() sys_arch_netconn_sem_get() +#define LWIP_NETCONN_THREAD_SEM_ALLOC() sys_arch_netconn_sem_alloc() +#define LWIP_NETCONN_THREAD_SEM_FREE() sys_arch_netconn_sem_free() + #endif /* LWIP_HDR_TEST_SYS_ARCH_H */ diff --git a/test/unit/lwipopts.h b/test/unit/lwipopts.h index c00ace15..e4523fc1 100644 --- a/test/unit/lwipopts.h +++ b/test/unit/lwipopts.h @@ -46,6 +46,7 @@ #define LWIP_NETCONN !NO_SYS #define LWIP_SOCKET !NO_SYS #define LWIP_NETCONN_FULLDUPLEX LWIP_SOCKET +#define LWIP_NETCONN_SEM_PER_THREAD 1 #define LWIP_NETBUF_RECVINFO 1 #define LWIP_HAVE_LOOPIF 1 #define TCPIP_THREAD_TEST