48 lines
1 KiB
Text
48 lines
1 KiB
Text
|
#!/usr/bin/env bash
|
||
|
#
|
||
|
# travis_at_home
|
||
|
#
|
||
|
# Run all Travis test builds at home to save time finding typos
|
||
|
# Make sure to have 'arduino' somewhere in your PATH
|
||
|
#
|
||
|
|
||
|
LOG="travis-out.txt"
|
||
|
|
||
|
cd `dirname "$0"`/../..
|
||
|
|
||
|
TRAVIS_BUILD_DIR=`pwd`
|
||
|
echo $'Tests for '$TRAVIS_BUILD_DIR$' ...\n' >"$LOG"
|
||
|
|
||
|
# Add a temporary execution PATH
|
||
|
export PATH="./buildroot/bin:$PATH"
|
||
|
|
||
|
# Scan .travis.yml and run config/build commands only
|
||
|
X=1
|
||
|
while read P; do
|
||
|
|
||
|
# Command lines start with a hyphen
|
||
|
if [[ $P =~ ^-\ (([^ ]+)(\ .*)?)$ ]]; then
|
||
|
WORD="${BASH_REMATCH[2]}" ; # The first word
|
||
|
CMD="${BASH_REMATCH[1]}" ; # The whole command
|
||
|
RUN=1 ; BUILD=0
|
||
|
case "$WORD" in
|
||
|
cp|opt_*|pins_*|use_*|restore_*|gen*) ;;
|
||
|
build_*) BUILD=1 ;;
|
||
|
*) RUN=0 ;;
|
||
|
esac
|
||
|
|
||
|
# Runnable command
|
||
|
if [[ $RUN == 1 ]]; then
|
||
|
echo "$CMD" >>"$LOG"
|
||
|
RESULT=$( eval "$CMD >>\"$LOG\" 2>&1" )
|
||
|
if [[ $BUILD == 1 ]]; then
|
||
|
echo "--- Build $X done."
|
||
|
echo >>"$LOG"
|
||
|
X=$((X+1))
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
done <.travis.yml
|
||
|
|
||
|
cd - >/dev/null
|