ci: Refactor CI scripts

1. CI_TARGET now determines which run_${CI_TARGET}.sh script to use. Defaults to
   `tests`.
2. Build no longer halts on the first failing suit: e.g. if functional tests
   failed it will continue with unit tests, etc.
3. All ${MAKE_CMD} occurrences moved to `top_make` function, added `build_make`
   as an alias to `make -C build` (`"${MAKE_CMD}" -C "${BUILD_DIR}"`) which is
   too verbose.

`suite.sh` was copied from powerline (tests/common.sh file), assumes running
with POSIX shells (and actually uses dash in powerline). Then some convenience
functions were added (run_test and below).
This commit is contained in:
ZyX
2017-03-31 16:02:53 +03:00
parent 4d0f90f94d
commit 2bf9d36ccd
7 changed files with 104 additions and 19 deletions

View File

@@ -3,16 +3,11 @@
set -e
set -o pipefail
if [[ -n "${CI_TARGET}" ]]; then
make "${CI_TARGET}"
exit 0
fi
# This will pass the environment variables down to a bash process which runs
# as $USER, while retaining the environment variables defined and belonging
# to secondary groups given above in usermod.
if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
sudo -E su "${USER}" -c "ci/run_tests.sh"
sudo -E su "${USER}" -c "ci/run_${CI_TARGET}.sh"
else
ci/run_tests.sh
ci/run_${CI_TARGET}.sh
fi