#!/bin/sh

# look for some error messages in all test logs

for i in *.txt; do
	echo "Scanning $i"
	last=
	while read line; do
		case "$line" in
			===\ Entering*) last="$line" ;;
			*Assertion*failed*) echo "ASSERTION FAILED: $last" ;;
			*runtime\ error*) echo "RUNTIME ERROR (sanitizer): $last" ;;
			*AddressSanitizer*heap-use-after-free*) echo "RUNTIME ERROR (use after free): $last" ;;
			*LeakSanitizer:*leak*) echo "SANITIZER REPORT: memory leak: $last" ;;
			*Warning:\ assertion*failed*) echo "ASSERTION WARNING: $last" ;;
			*command\ not\ found*) echo "COMMAND NOT FOUND: $last" ;;
			*) : ;;
		esac
	done < "$i"
done
