diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh')
-rwxr-xr-x | Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh b/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh index f7c4b44cf51..b959afe76fd 100755 --- a/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh +++ b/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh @@ -9,18 +9,23 @@ CFLAGS_EXTRA=$2 # Extra C flags LOG=run_tests.log -CFLAGS="-g -Igdtest/ -I. -I../src/ -D_WIN32 -DHAVE_SYS_STAT_H $CFLAGS_EXTRA" -LDFLAGS='-L../src -llibgd' +CFLAGS=( -g -Igdtest/ -I. -I../src/ -D_WIN32 -DHAVE_SYS_STAT_H ) +if [[ -n "${CFLAGS_EXTRA}" ]]; then + # shellcheck disable=SC2206 + CFLAGS+=( ${CFLAGS_EXTRA} ) +fi +LDFLAGS=( -L../src -llibgd ) DLLPATH=../src:$DLLPATH_EXTRA -function run_gcc { - if msg=`gcc $* 2>&1`; then - true - else - echo "COMMAND: gcc $*" >> $LOG - echo $msg >> $LOG - false - fi +run_gcc() { + local msg + if msg=$(gcc "$@" 2>&1); then + true + else + echo "COMMAND: gcc $*" >> "${LOG}" + echo "${msg}" >> "${LOG}" + false + fi } # Switch to the working directory @@ -29,36 +34,36 @@ cd ../../tests # Initial setup echo "Setting up..." -[ -f $LOG ] && rm -f $LOG +rm -f "${LOG}" [ -f test_config.h ] || echo '#define GDTEST_TOP_DIR "."' > test_config.h -run_gcc -c $CFLAGS gdtest/gdtest.c +run_gcc -c "${CFLAGS[@]}" gdtest/gdtest.c echo "Running tests:" count=0 failures=0 compile_failures=0 -for test in `find . -name \*.c | grep -vE '^./(fontconfig|gdtest|gdhelpers|xpm)'`; do - count=`expr $count + 1` +for test in $(find . -name '*.c' | grep -vE '^./(fontconfig|gdtest|gdhelpers|xpm)'); do + : $(( count += 1 )) - exe=${test%.c}.exe - if run_gcc -o $exe $CFLAGS $LDFLAGS $test gdtest.o; then - true; - else - echo "COMPILE_FAIL: $test" - compile_failures=`expr $compile_failures + 1` - continue - fi + exe=${test%.c}.exe + if run_gcc -o "${exe}" "${CFLAGS[@]}" "${LDFLAGS[@]}" "${test}" gdtest.o; then + true + else + echo "COMPILE_FAIL: $test" + : $(( compile_failures += 1 )) + continue + fi - echo "Running $exe:" >> $LOG - if $exe 2>&1 >> $LOG; then - echo "PASS: $test" - else - failures=`expr $failures + 1` - echo "FAIL: $test" - fi - echo >> $LOG + echo "Running $exe:" >> "${LOG}" + if $exe >> "${LOG}" 2>&1; then + echo "PASS: $test" + else + : $(( failures += 1 )) + echo "FAIL: $test" + fi + echo >> "${LOG}" done echo "$failures failures and $compile_failures compile failures out of $count tests." -echo "Error messages in $LOG" +echo "Error messages in ${LOG}" |