tests: Tweak the isolation wrapper for style and robustness.
Followup to c015339202.
Suggested-by: Matthew Martin
			
			
This commit is contained in:
		
							parent
							
								
									8f19af6b31
								
							
						
					
					
						commit
						1397f1bae1
					
				|  | @ -114,14 +114,14 @@ run_test_internal() { | |||
| 
 | ||||
| run_test() { | ||||
|   # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. | ||||
|   local __tests_tempdir; __tests_tempdir="$(mktemp -d)" | ||||
|   if [[ $? -ne 0 ]] || [[ -z $__tests_tempdir ]] || [[ ! -d $__tests_tempdir ]]; then | ||||
|   local __tests_tempdir | ||||
|   __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { | ||||
|     echo >&2 "Bail out! mktemp failed"; return 1 | ||||
|   fi | ||||
|   } | ||||
|   typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on | ||||
| 
 | ||||
|   { | ||||
|     run_test_internal "$__tests_tempdir" "$@" | ||||
|     (run_test_internal "$__tests_tempdir" "$@") | ||||
|   } always { | ||||
|     rm -rf -- "$__tests_tempdir" | ||||
|   } | ||||
|  | @ -130,7 +130,7 @@ run_test() { | |||
| # Process each test data file in test data directory. | ||||
| integer something_failed=0 | ||||
| for data_file in ${0:h:h}/highlighters/$1/test-data/*.zsh; do | ||||
|   (run_test "$data_file") | tee >(${0:A:h}/tap-colorizer.zsh) | grep -v '^not ok.*# TODO' | grep -q '^not ok\|^ok.*# TODO' && (( something_failed=1 )) | ||||
|   run_test "$data_file" | tee >(${0:A:h}/tap-colorizer.zsh) | grep -v '^not ok.*# TODO' | grep -q '^not ok\|^ok.*# TODO' && (( something_failed=1 )) | ||||
|   (( $pipestatus[1] )) && exit 2 | ||||
| done | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue