42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
#
 | 
						|
# 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 () {
 | 
						|
  printf "\n\033[0;32m[Test $2] \033[0m$3...\n"
 | 
						|
  if platformio run --project-dir $1 -e $2 --silent; then
 | 
						|
    printf "\033[0;32mPassed\033[0m\n"
 | 
						|
    return 0
 | 
						|
  else
 | 
						|
    git reset --hard HEAD
 | 
						|
    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 [[ $2 = "ALL" ]]; then
 | 
						|
  dir_list=("$(dirname "${BASH_SOURCE[0]}")"/*)
 | 
						|
  declare -a tests=(${dir_list[@]/*run_tests/})
 | 
						|
  for f in "${tests[@]}"; do
 | 
						|
    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
 | 
						|
    git reset --hard HEAD
 | 
						|
  done
 | 
						|
else
 | 
						|
  exec_test $1 "$2 --target clean" "Setup Build Environment"
 | 
						|
  $2-tests $1 $2
 | 
						|
  git reset --hard HEAD
 | 
						|
fi
 | 
						|
printf "\033[0;32mAll tests completed successfully\033[0m\n"
 |