- if grep -q -E '^E: ' "$OUTPUT"; then
- echo >&2
- cat >&2 $OUTPUT
- msgfail 'successful run, but output contains errors'
+ if grep -q -E ' runtime error: ' "$OUTPUT"; then
+ msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@"
+ elif grep -q -E '^[WE]: ' "$OUTPUT"; then
+ msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@"
+ else
+ msgpass
+ fi
+ else
+ msgpass
+ fi
+ else
+ local EXITCODE=$?
+ msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@"
+ fi
+ aptautotest 'testsuccess' "$@"
+}
+testwarning() {
+ if [ "$1" = '--nomsg' ]; then
+ shift
+ else
+ msgtest 'Test for successful execution with warnings of' "$*"
+ fi
+ local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output"
+ if "$@" >${OUTPUT} 2>&1; then
+ if expr match "$1" '^apt.*' >/dev/null; then
+ if grep -q -E ' runtime error: ' "$OUTPUT"; then
+ msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@"
+ elif grep -q -E '^E: ' "$OUTPUT"; then
+ msgfailoutput 'successful run, but output contains errors' "$OUTPUT" "$@"
+ elif ! grep -q -E '^W: ' "$OUTPUT"; then
+ msgfailoutput 'successful run, but output contains no warnings' "$OUTPUT" "$@"