From f3cd74cb460d79a48665e2f4e19885a25e057391 Mon Sep 17 00:00:00 2001 From: "Sergio R. Caprile" Date: Fri, 4 Oct 2024 11:53:56 -0300 Subject: [PATCH] Add test Makefiles for IDEs Add Wizard test script --- test/cube/Makefile | 15 ++------- test/esp-idf/Makefile | 16 ++++++++++ test/gcc+make/Makefile | 9 ++++++ test/pico-sdk/Makefile | 18 +++++++++++ test/wizard/Makefile | 39 +++++++++++++++++++++++ test/wizard/test.sh | 72 ++++++++++++++++++++++++++++++++++++++++++ test/xpresso/Makefile | 16 ++++++++++ 7 files changed, 173 insertions(+), 12 deletions(-) create mode 100644 test/esp-idf/Makefile create mode 100644 test/gcc+make/Makefile create mode 100644 test/pico-sdk/Makefile create mode 100644 test/wizard/Makefile create mode 100755 test/wizard/test.sh create mode 100644 test/xpresso/Makefile diff --git a/test/cube/Makefile b/test/cube/Makefile index 679cfeb3..e9f7935e 100644 --- a/test/cube/Makefile +++ b/test/cube/Makefile @@ -9,17 +9,8 @@ all: $(PROJECTS) $(DOCKER) $(IMAGE) $(PATHTO)headless-build.sh -data workspace -removeAll workspace $(PROJECTS): FORCE - (make -C $@ && sudo make -C $@ clean) || $(DOCKER) $(IMAGE) $(PATHTO)headless-build.sh -data workspace -import $@ -cleanBuild $(@F)/$(TARGET) + (make -C $@ && make -C $@ clean) || ( \ + PROJNAME=`xq -r .projectDescription.name $@/.project` && \ + $(DOCKER) $(IMAGE) $(PATHTO)headless-build.sh -data workspace -import $@ -cleanBuild $$PROJNAME/$(TARGET) ) FORCE: - -# Automated remote test. See https://vcon.io/automated-firmware-tests/ -URL ?= https://dash.vcon.io/api/v3/devices -update: $(PROJECTS) - curl --fail-with-body -su :$(VCON_API_KEY) $(URL)/$(DEVICE)/ota --data-binary @$> test.log + make BOARD=$1 IDE=$2 RTOS=$3 || ( \ + echo "^^^ FAILED ^^^" >> test.log && rm -rf wizard* workspace ) +} + + +cd `dirname "$0"` +rm test.log + + +STM32="f207 f429 f439 f746 f756 f767 h563 h573 h723 h735 h743 h745 h747 h753 h755" +STIDES="GCC+make CubeIDE" +# Zephyr: !f439 +# Keil: f756 +for board in $STM32; do + for ide in $STIDES; do + for rtos in $RTOSES; do + dotest $board $ide $rtos + done + done +done + + +NXP="rt1020 rt1024 rt1040 rt1060 rt1064 rt1170 mcxn947" +NXPIDES="GCC+make" +#MCUXpresso: mcxn947 +for board in $NXP; do + for ide in $NXPIDES; do + for rtos in "baremetal"; do + dotest $board $ide $rtos + done + done +done + + +INFINEON="xmc4400 xmc4700 xmc7200" +INFINEONIDES="GCC+make" +for board in $INFINEON; do + for ide in $INFINEONIDES; do + for rtos in "baremetal"; do + dotest $board $ide $rtos + done + done +done + + +PICO="evb-pico" +#Zephyr +for board in $PICO; do + for rtos in "baremetal"; do + dotest $board "Pico-SDK" $rtos + done +done + + +ESP="esp32" +for board in $ESP; do + dotest $board "ESP-IDF" "baremetal" +done + + +ARDUINO="teensy41" + +rm -rf workspace pico-sdk +cd - diff --git a/test/xpresso/Makefile b/test/xpresso/Makefile new file mode 100644 index 00000000..702e9072 --- /dev/null +++ b/test/xpresso/Makefile @@ -0,0 +1,16 @@ +ROOT ?= $(realpath $(CURDIR)/../..) +PROJECTS ?= $(wildcard ../../examples/nxp/*-xpresso-*) +TARGET ?= Debug +DOCKER = docker run --rm -v $(ROOT):$(ROOT) -v $(CURDIR):/root -w $(CURDIR) +IMAGE ?= scaprile/xpresso +HEADLESS_BUILD = /usr/local/mcuxpressoide/ide/mcuxpressoide --launcher.suppressErrors -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild + +all: $(PROJECTS) + $(DOCKER) $(IMAGE) $(HEADLESS_BUILD) -data workspace -removeAll workspace + +$(PROJECTS): FORCE + (make -C $@ && make -C $@ clean) || ( \ + PROJNAME=`xq -r .projectDescription.name $@/.project` && \ + ($(DOCKER) $(IMAGE) $(HEADLESS_BUILD) -data workspace -import wizard -cleanBuild $$PROJNAME/$(TARGET) || true) && \ + test -f $(@F)/$(TARGET)/$$PROJNAME.axf ) +FORCE: