#!/bin/sh dirs=src/kernel main() { local failures=0 for dir in $dirs; do local files=`find $dir -name "*.tt"` for suite in $files; do test_exec=`mktemp /tmp/tmp.XXXXXX` compiler_output=`cc -x c $suite -o $test_exec -ggdb -I $dir/include -I toolchain -DTTEST 2>&1` compiler_status=$? echo -e "\x1b[35m$suite\x1b[0m" if [[ "$compiler_status" -eq "0" ]]; then $test_exec $suite || failures=$(($failures + 1)) else failures=$(($failures + 1)) echo -e "\x1b[31mCOMPILATION OF SUITE FAILED\x1b[0m" echo "$compiler_output" | sed -e 's/\.tt\.c:/\.tt:/' fi rm -f $test_exec done done exit $failures } main "$@"