#!/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
|