| 
									
										
										
										
											2022-02-11 18:06:37 -07:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | set +x | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-14 13:23:08 -07:00
										 |  |  | function report_results() { | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   if [[ -n "${FAILED_TESTS}" ]]; then | 
					
						
							|  |  |  |     cecho "RED" "SOME TESTS FAILED! To debug:" | 
					
						
							|  |  |  |     cecho "RED" "${FAILED_TESTS}" | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     cecho "GREEN" "All tests passed!" | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | trap "report_results; cd $(pwd -P)" EXIT | 
					
						
							| 
									
										
										
										
											2022-02-11 18:06:37 -07:00
										 |  |  | cd "$(dirname $0)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | source ./initialize_test.sh | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | setup_env_variables | 
					
						
							|  |  |  | echo "Building packages..." | 
					
						
							|  |  |  | build_packages | 
					
						
							|  |  |  | clean_test_root | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function gh_echo { | 
					
						
							|  |  |  |   if [[ -z "${GITHUB_ACTIONS}" ]]; then | 
					
						
							|  |  |  |     return | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  |   echo "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FAILED_TESTS="" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-14 13:23:08 -07:00
										 |  |  | TOTAL=$(ls -1 test_*.sh | wc -l | tr -d ' ') | 
					
						
							|  |  |  | COUNTER=1 | 
					
						
							| 
									
										
										
										
											2022-02-11 18:06:37 -07:00
										 |  |  | for i in test_*.sh | 
					
						
							|  |  |  | do | 
					
						
							|  |  |  |   set +e | 
					
						
							| 
									
										
										
										
											2022-02-14 13:23:08 -07:00
										 |  |  |   cecho "YELLOW" "Running ${COUNTER}/${TOTAL} - $i..." | 
					
						
							|  |  |  |   COUNTER=$(( COUNTER + 1 )) | 
					
						
							| 
									
										
										
										
											2022-02-11 18:06:37 -07:00
										 |  |  |   OUTPUT=$(bash $i --multitest --no-build 2>&1) | 
					
						
							|  |  |  |   RV=$? | 
					
						
							|  |  |  |   set -e | 
					
						
							|  |  |  |   if [[ "${RV}" != 0 ]]; then | 
					
						
							| 
									
										
										
										
											2022-02-14 13:23:08 -07:00
										 |  |  |     FAILED_TESTS="${FAILED_TESTS}- ${i}\n" | 
					
						
							| 
									
										
										
										
											2022-02-11 18:06:37 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     gh_echo "::group::FAILED - $i" | 
					
						
							|  |  |  |     cecho "RED" "FAILED - $i" | 
					
						
							|  |  |  |     echo "${OUTPUT}" | 
					
						
							|  |  |  |     gh_echo "::endgroup::" | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     gh_echo "::group::PASSED - $i" | 
					
						
							|  |  |  |     cecho "GREEN" "PASSED - $i" | 
					
						
							|  |  |  |     gh_echo "${OUTPUT}" | 
					
						
							|  |  |  |     gh_echo "::endgroup::" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 |