diff --git a/.travis.yml b/.travis.yml index 8e865e5..aa2cd35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,36 @@ -language: minimal -install: skip +# global options +dist: xenial +os: linux +language: shell services: docker before_install: docker pull ghdl/vunit:llvm -script: docker run --rm -t -v `pwd`:/build -w /build ghdl/vunit:llvm bash -c "apt update && apt install -y python3-pexpect && make GNATMAKE='gnatmake -j'$(nproc) && if [ -n \"$TRAVIS_FULL_CHECK\" ] ; then make -j$(nproc) check; else make -j$(nproc) check_light ; fi" +env: + matrix: + - TASK="tests_unit" + - TASK="tests_console" + - TASK="; apt update && apt install -y python3-pexpect && make -j$(nproc) test_micropython test_micropython_long" + - TASK="{1..99}" + - TASK="{100..199}" + - TASK="{200..299}" + - TASK="{300..399}" + - TASK="{400..499}" + - TASK="{500..599}" + - TASK="{600..699}" + - TASK="{700..799}" + - TASK="{800..899}" + - TASK="{900..999}" + +script: docker run -t -v `pwd`:/build -w /build ghdl/vunit:llvm bash -c "make -j$(nproc) $TASK" + +stages: + - building + - test + +jobs: + include: + - stage: building + env: NAME="Building core" + script: docker run -t -v `pwd`:/build -w /build ghdl/vunit:llvm bash -c "make GNATMAKE='gnatmake -j'$(nproc)" \ No newline at end of file diff --git a/Makefile b/Makefile index 23c79b2..887b908 100644 --- a/Makefile +++ b/Makefile @@ -171,9 +171,11 @@ prog: microwatt.svf tests = $(sort $(patsubst tests/%.out,%,$(wildcard tests/*.out))) tests_console = $(sort $(patsubst tests/%.console_out,%,$(wildcard tests/*.console_out))) -check: $(tests) $(tests_console) test_micropython test_micropython_long +tests_console: $(tests_console) -check_light: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 test_micropython test_micropython_long $(tests_console) +check: $(tests) tests_console test_micropython test_micropython_long tests_unit + +check_light: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 test_micropython test_micropython_long tests_console tests_unit $(tests): core_tb @./scripts/run_test.sh $@ @@ -187,6 +189,20 @@ test_micropython: core_tb test_micropython_long: core_tb @./scripts/test_micropython_long.py +tests_core_tb = $(patsubst %_tb,%_tb_test,$(core_tbs)) +tests_soc_tb = $(patsubst %_tb,%_tb_test,$(soc_tbs)) + +%_test: % + ./$< --assert-level=error > /dev/null + +tests_core: $(tests_core_tb) + +tests_soc: $(tests_soc_tb) + +# FIXME SOC tests have bit rotted, so disable for now +#tests_unit: tests_core tests_soc +tests_unit: tests_core + TAGS: find . -name '*.vhdl' | xargs ./scripts/vhdltags