- #!/bin/bash
-
- set -x -e -v
-
- cd code
-
- case "$1" in
- ("host")
- # runs unit tests, using the host compiler and the esp8266 mock framework
- # - https://github.com/esp8266/Arduino/blob/master/tests/host/Makefile
- # - https://github.com/ThrowTheSwitch/Unity
- pushd test/unit
- cmake -B build
- cmake --build build
- cmake --build build --target test
- popd
- ;;
- ("webui")
- # TODO: both can only parse one file at a time
- npm exec --no -- eslint html/custom.js
- npm exec --no -- html-validate html/index.html
- # checks whether the webui can be built
- ./build.sh -f environments
- # TODO: gzip inserts an OS-dependant byte in the header, ref.
- # - https://datatracker.ietf.org/doc/html/rfc1952
- # - https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/deps/zlib/deflate.c#L901
- # - windowBits description in the https://zlib.net/manual.html#Advanced
- git --no-pager diff --stat
- ;;
- ("build")
- # simply build the given environment
- pio run -e $2
- ;;
- ("test")
- # run generic build test with the specified environment as base
- scripts/test_build.py -e $2
- ;;
- ("release")
- # TODO: pending removal in favour of code/scripts/generate_release_sh.py
- ./build.sh -r
- ;;
- (*)
- echo -e "\e[1;33mUnknown stage name, exiting!\e[0m"
- exit 1
- ;;
- esac
|