2014-05-05 21:54:10 +02:00
|
|
|
APPLICATION = unittests
|
2014-04-07 15:15:25 +02:00
|
|
|
include ../Makefile.tests_common
|
|
|
|
|
2017-04-15 01:15:10 +02:00
|
|
|
BOARD_INSUFFICIENT_MEMORY := airfy-beacon \
|
|
|
|
arduino-duemilanove \
|
|
|
|
arduino-mega2560 \
|
|
|
|
arduino-uno \
|
|
|
|
arduino-zero \
|
|
|
|
calliope-mini \
|
|
|
|
cc2538dk \
|
|
|
|
cc2650stk \
|
|
|
|
chronos \
|
|
|
|
ek-lm4f120xl \
|
|
|
|
limifrog-v1 maple-mini \
|
|
|
|
mbed_lpc1768 \
|
|
|
|
microbit \
|
|
|
|
msb-430 \
|
|
|
|
msb-430h \
|
|
|
|
nrf51dongle \
|
|
|
|
nrf6310 \
|
|
|
|
nucleo32-f031 \
|
|
|
|
nucleo32-f042 \
|
|
|
|
nucleo32-f303 \
|
|
|
|
nucleo32-l031 \
|
|
|
|
nucleo32-l432 \
|
|
|
|
nucleo-f030 \
|
|
|
|
nucleo-f070 \
|
|
|
|
nucleo-f072 \
|
|
|
|
nucleo-f091 \
|
|
|
|
nucleo-f103 \
|
|
|
|
nucleo-f302 \
|
|
|
|
nucleo-f334 \
|
|
|
|
nucleo-f410 \
|
|
|
|
nucleo-l053 \
|
|
|
|
nucleo-l073 \
|
|
|
|
opencm904 \
|
|
|
|
openmote \
|
|
|
|
openmote-cc2538 \
|
|
|
|
pba-d-01-kw2x \
|
|
|
|
pca10000 \
|
|
|
|
pca10005 \
|
|
|
|
remote-pa \
|
|
|
|
remote-reva \
|
|
|
|
remote-revb \
|
|
|
|
saml21-xpro \
|
|
|
|
samd21-xpro \
|
|
|
|
samr21-xpro \
|
|
|
|
seeeduino_arch-pro \
|
|
|
|
slwstk6220a \
|
|
|
|
sodaq-autonomo \
|
|
|
|
spark-core \
|
|
|
|
stm32f0discovery \
|
|
|
|
stm32f3discovery \
|
|
|
|
telosb \
|
|
|
|
waspmote-pro \
|
|
|
|
weio \
|
|
|
|
wsn430-v1_3b \
|
|
|
|
wsn430-v1_4 \
|
|
|
|
yunjia-nrf51822 z1
|
2014-07-14 21:40:04 +02:00
|
|
|
|
2014-04-07 15:15:25 +02:00
|
|
|
USEMODULE += embunit
|
|
|
|
|
2014-05-14 11:13:53 +02:00
|
|
|
ifeq (, $(filter tests-%, $(MAKECMDGOALS)))
|
2017-04-03 20:20:06 +02:00
|
|
|
# the $(dir) Makefile function leaves a trailing slash after the directory
|
|
|
|
# name, therefore we use patsubst instead.
|
|
|
|
UNIT_TESTS := $(patsubst %/Makefile,%,$(wildcard tests-*/Makefile))
|
2014-05-14 11:13:53 +02:00
|
|
|
else
|
|
|
|
UNIT_TESTS := $(filter tests-%, $(MAKECMDGOALS))
|
|
|
|
endif
|
2014-04-07 15:15:25 +02:00
|
|
|
|
2015-12-18 23:39:23 +01:00
|
|
|
ARM7_BOARDS := msba2 avrextrem
|
2017-04-03 19:47:32 +02:00
|
|
|
DISABLE_TEST_FOR_ARM7 := tests-relic tests-cpp_%
|
2015-12-18 23:39:23 +01:00
|
|
|
|
2017-04-15 01:15:10 +02:00
|
|
|
ARM_CORTEX_M_BOARDS := airfy-beacon \
|
|
|
|
arduino-due \
|
|
|
|
arduino-zero \
|
|
|
|
cc2538dk \
|
|
|
|
ek-lm4f120xl \
|
|
|
|
f4vi1 \
|
|
|
|
fox \
|
|
|
|
frdm-k64f \
|
|
|
|
iotlab-m3 \
|
|
|
|
limifrog-v1 \
|
|
|
|
mbed_lpc1768 \
|
|
|
|
msbiot \
|
|
|
|
mulle \
|
|
|
|
nrf51dongle \
|
|
|
|
nrf52840dk \
|
|
|
|
nrf6310 \
|
|
|
|
nucleo144-f303 \
|
|
|
|
nucleo144-f429 \
|
|
|
|
nucleo144-f446 \
|
|
|
|
nucleo32-f031 \
|
|
|
|
nucleo32-f303 \
|
|
|
|
nucleo32-l031 \
|
|
|
|
nucleo32-l432 \
|
|
|
|
nucleo-f030 \
|
|
|
|
nucleo-f070 \
|
|
|
|
nucleo-f072 \
|
|
|
|
nucleo-f091 \
|
|
|
|
nucleo-f302 \
|
|
|
|
nucleo-f303 \
|
|
|
|
nucleo-f334 \
|
|
|
|
nucleo-f401 \
|
|
|
|
nucleo-f410 \
|
|
|
|
nucleo-f411 \
|
|
|
|
nucleo-l053 \
|
|
|
|
nucleo-l073 \
|
|
|
|
nucleo-l1 \
|
|
|
|
nucleo-l476 \
|
|
|
|
opencm904 \
|
|
|
|
openmote-cc2538 \
|
|
|
|
pba-d-01-kw2x \
|
|
|
|
pca10000 \
|
|
|
|
pca10005 \
|
|
|
|
remote \
|
|
|
|
samd21-xpro \
|
|
|
|
saml21-xpro \
|
|
|
|
samr21-xpro \
|
|
|
|
slwstk6220a \
|
|
|
|
sodaq-autonomo \
|
|
|
|
spark-core \
|
|
|
|
stm32f0discovery \
|
|
|
|
stm32f3discovery \
|
|
|
|
stm32f4discovery \
|
|
|
|
udoo \
|
|
|
|
weio \
|
|
|
|
yunjia-nrf51822
|
2016-05-29 15:39:38 +02:00
|
|
|
|
2015-12-18 23:39:23 +01:00
|
|
|
DISABLE_TEST_FOR_ARM_CORTEX_M := tests-relic
|
|
|
|
|
2016-09-19 21:46:55 +02:00
|
|
|
AVR_BOARDS := arduino-mega2560 waspmote-pro arduino-uno arduino-duemilanove
|
2017-04-03 19:47:32 +02:00
|
|
|
DISABLE_TEST_FOR_AVR := tests-relic tests-cpp_%
|
2015-12-02 16:11:13 +01:00
|
|
|
|
|
|
|
MSP430_BOARDS := chronos msb-430 msb-430h telosb wsn430-v1_3b wsn430-v1_4 z1
|
2017-04-03 19:47:32 +02:00
|
|
|
DISABLE_TEST_FOR_MSP430 := tests-relic tests-spiffs tests-cpp_%
|
2015-12-02 16:11:13 +01:00
|
|
|
|
2015-12-18 23:39:23 +01:00
|
|
|
ifneq (, $(filter $(ARM7_BOARDS), $(BOARD)))
|
|
|
|
UNIT_TESTS := $(filter-out $(DISABLE_TEST_FOR_ARM7), $(UNIT_TESTS))
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (, $(filter $(ARM_CORTEX_M_BOARDS), $(BOARD)))
|
|
|
|
UNIT_TESTS := $(filter-out $(DISABLE_TEST_FOR_ARM_CORTEX_M), $(UNIT_TESTS))
|
|
|
|
endif
|
|
|
|
|
2015-12-02 16:11:13 +01:00
|
|
|
ifneq (, $(filter $(AVR_BOARDS), $(BOARD)))
|
|
|
|
UNIT_TESTS := $(filter-out $(DISABLE_TEST_FOR_AVR), $(UNIT_TESTS))
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (, $(filter $(MSP430_BOARDS), $(BOARD)))
|
2016-07-11 20:06:04 +02:00
|
|
|
UNIT_TESTS := $(filter-out $(DISABLE_TEST_FOR_MSP430), $(UNIT_TESTS))
|
2015-12-02 16:11:13 +01:00
|
|
|
endif
|
|
|
|
|
2017-04-03 19:47:32 +02:00
|
|
|
ifneq (,$(filter tests-cpp_%, $(UNIT_TESTS)))
|
|
|
|
# We need to tell the build system to use the C++ compiler for linking
|
|
|
|
export FEATURES_REQUIRED += cpp
|
|
|
|
export CPPMIX := 1
|
|
|
|
endif
|
|
|
|
|
2014-08-21 20:45:36 +02:00
|
|
|
DISABLE_MODULE += auto_init
|
|
|
|
|
2014-05-18 16:17:02 +02:00
|
|
|
# Pull in `Makefile.include`s from the test suites:
|
|
|
|
-include $(UNIT_TESTS:%=$(RIOTBASE)/tests/unittests/%/Makefile.include)
|
|
|
|
|
2014-06-18 11:21:05 +02:00
|
|
|
DIRS += $(UNIT_TESTS)
|
2016-10-18 23:27:59 +02:00
|
|
|
BASELIBS += $(UNIT_TESTS:%=$(BINDIR)/%.a)
|
2014-05-14 11:13:53 +02:00
|
|
|
|
2015-03-20 19:57:08 +01:00
|
|
|
INCLUDES += -I$(RIOTBASE)/tests/unittests/common
|
2014-05-14 11:13:53 +02:00
|
|
|
|
2015-03-20 19:57:08 +01:00
|
|
|
include $(RIOTBASE)/Makefile.include
|
2014-08-08 19:21:03 +02:00
|
|
|
|
2016-07-05 16:06:33 +02:00
|
|
|
.PHONY: $(UNIT_TESTS)
|
2014-08-27 14:04:22 +02:00
|
|
|
|
2016-07-05 16:06:33 +02:00
|
|
|
all:
|
2014-08-27 14:04:22 +02:00
|
|
|
|
2016-07-05 16:06:33 +02:00
|
|
|
$(UNIT_TESTS): all
|
2014-05-14 11:13:53 +02:00
|
|
|
|
2014-05-14 12:21:20 +02:00
|
|
|
charCOMMA := ,
|
|
|
|
|
|
|
|
ifeq (, $(UNIT_TESTS))
|
|
|
|
CFLAGS += -DNO_TEST_SUITES
|
|
|
|
$(warning There was no test suite specified!)
|
|
|
|
else
|
2014-06-18 11:21:05 +02:00
|
|
|
CFLAGS += -DTEST_SUITES='$(subst $() $(),$(charCOMMA),$(UNIT_TESTS:tests-%=%))'
|
2014-05-14 12:21:20 +02:00
|
|
|
endif
|
2014-05-29 04:40:43 +02:00
|
|
|
|
|
|
|
test:
|
2015-07-03 14:50:52 +02:00
|
|
|
./tests/01-run.py
|