This repository has been archived on 2022-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
Marlin-Artillery-M600/buildroot/share/tests/run_tests

49 lines
1.1 KiB
Text
Raw Normal View History

#!/usr/bin/env bash
2018-10-09 06:03:53 +02:00
#
# run_tests
#
export PATH="$PATH:$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )"
export PATH="$PATH:./buildroot/bin"
# exit on first failure
set -e
exec_test () {
2018-10-02 11:25:46 +02:00
printf "\n\033[0;32m[Test $2] \033[0m$3...\n"
if build_marlin_pio $1 "-e $2"; then
printf "\033[0;32mPassed\033[0m\n"
return 0
else
env_restore
printf "\033[0;31mFailed!\033[0m\n"
return 1
fi
}
export -f exec_test
printf "Running \033[0;32m$2\033[0m Tests\n"
if [[ $3 = "--deep-clean" ]]; then
echo "Deleting all PlatformIO caches, downloads and installed packages..."
env_clean --deep
fi
if [[ $2 = "ALL" ]]; then
dir_list=("$(dirname "${BASH_SOURCE[0]}")"/*)
2018-10-09 06:03:53 +02:00
declare -a tests=(${dir_list[@]/*run_tests/})
for f in "${tests[@]}"; do
env_backup
2019-02-23 02:09:10 +01:00
testenv=$(basename $f | cut -d"-" -f1)
printf "Running \033[0;32m$f\033[0m Tests\n"
exec_test $1 "$testenv --target clean" "Setup Build Environment"
$f $1 $testenv
env_restore
done
else
env_backup
exec_test $1 "$2 --target clean" "Setup Build Environment"
2019-02-23 02:09:10 +01:00
$2-tests $1 $2
env_restore
fi
printf "\033[0;32mAll tests completed successfully\033[0m\n"