mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-31 13:00:49 +00:00
Add big-endian tests for our BSD layer
This commit is contained in:
1 parent
72a0787161
commit
0aa25dbd18
6 files changed
+277
-106
No files matched your search
+21
-4
@@ -13,6 +13,7 @@ else
|
||||
C_WARN ?= -Wno-deprecated
|
||||
endif
|
||||
|
||||
.PHONY: all bsd_test bsd_client shm_tap_bridge shm_port_bridge bsd_s390 clean
|
||||
|
||||
SOURCES = bsd_shm_test.c ../../mongoose.c
|
||||
|
||||
@@ -23,26 +24,42 @@ SOURCES += FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c
|
||||
CFLAGS += -IFreeRTOS-Kernel/include
|
||||
CFLAGS += -IFreeRTOS-Kernel/portable/ThirdParty/GCC/Posix -Wno-conversion -Wno-undef
|
||||
|
||||
DOCKER_BIN ?= docker
|
||||
CWD ?= $(realpath $(CURDIR))
|
||||
ROOT_DIR = $(realpath $(CWD)/../..)
|
||||
ENV ?= -e Tmp=. -e WINEDEBUG=-all
|
||||
DOCKER ?= $(DOCKER_BIN) run --platform linux/amd64 --net=host --rm $(ENV) -v $(ROOT_DIR):$(ROOT_DIR) -w $(CWD)
|
||||
|
||||
# Mongoose options are defined in mongoose_config.h, this forces loading and skips OS detection
|
||||
CFLAGS_MONGOOSE += -DMG_ARCH=MG_ARCH_CUSTOM
|
||||
|
||||
|
||||
all: shm_tap_bridge bsd_client FreeRTOS-Kernel bsd_test
|
||||
all bsd: shm_tap_bridge bsd_client FreeRTOS-Kernel bsd_test
|
||||
ASAN_OPTIONS=$(ASAN_OPTIONS) $(RUN) ./bsd_test $(ARGS)
|
||||
|
||||
# requires shm_tap_bridge to be running
|
||||
bsd_test: $(SOURCES) bsd_x_test.c ../../mongoose.h
|
||||
bsd_test: $(SOURCES) bsd_x_test.c ../../mongoose.h shm_queue.h
|
||||
$(CC) $(SOURCES) $(wildcard FreeRTOS-Kernel/*.c) $(CFLAGS) $(CFLAGS_MONGOOSE) $(CFLAGS_EXTRA) -o $@
|
||||
|
||||
bsd_client: bsd_client.c
|
||||
$(CC) bsd_client.c -pthread -o $@
|
||||
|
||||
# bridge shm queue <--> TAP interface
|
||||
shm_tap_bridge: shm_tap_bridge.c
|
||||
shm_tap_bridge: shm_tap_bridge.c shm_queue.h
|
||||
$(CC) shm_tap_bridge.c -pthread -o $@
|
||||
|
||||
# requires test/port_tap_bridge to be running
|
||||
bsd_s390: ASAN=
|
||||
bsd_s390: CC = $(DOCKER) mdashnet/s390 cc
|
||||
bsd_s390: RUN = $(DOCKER) --init mdashnet/s390
|
||||
bsd_s390: shm_port_bridge bsd_client FreeRTOS-Kernel bsd_test
|
||||
$(RUN) sh -c './shm_port_bridge & pid=$$!; sleep 1; ./bsd_test; rc=$$?; kill $$pid >/dev/null 2>&1; wait $$pid >/dev/null 2>&1; exit $$rc'
|
||||
|
||||
shm_port_bridge: shm_port_bridge.c shm_queue.h
|
||||
$(CC) shm_port_bridge.c $(CFLAGS) -pthread -o $@
|
||||
|
||||
clean: # Cleanup. Delete built program and all build artifacts
|
||||
rm -rf bsd_test bsd_client *.o *.obj FreeRTOS-Kernel
|
||||
rm -rf bsd_test bsd_client shm_port_bridge *.o *.obj FreeRTOS-Kernel
|
||||
|
||||
FreeRTOS-Kernel: # FreeRTOS sources
|
||||
git clone -q -c advice.detachedHead=false --depth 1 -b V11.2.0 https://github.com/FreeRTOS/FreeRTOS-Kernel $@
|
||||
Reference in new issue
Block a user