123456789101112131415161718192021222324252627282930313233 |
- #!/bin/bash
- echo "Compiling test framework";
- fpc -glh dbtestframework.pas
- if [ $? != 0 ]; then
- echo "Compilation failed";
- exit
- fi
- echo "Generating test list"
- ./dbtestframework --list 2>/dev/null | sed /TestSuites/d | tr -d '[:blank:]' > test-list.txt
- exit
- for f in `cat test-list.txt`
- do
- echo -n "Doing test $f"
- ./dbtestframework --suite=$f > $f-mem.txt 2>&1
- grep '^0 unfreed memory blocks' $f-mem.txt >/dev/null 2>&1
- EC=$?
- if [ $EC = 1 ]; then
- echo "Error:"
- echo "Memory leak in $f"
- else
- if [ $EC = 0 ]; then
- echo "OK, removing log file."
- rm $f-mem.txt
- fi
- fi
- done
- NOTESTS=`cat test-list.txt | wc -l`
- grep -L '^0 unfreed memory blocks' *-mem.txt > leaklist.txt
- NOLEAKS=`cat leaklist.txt | wc -l`
- echo "Failures:"
- cat leaklist.txt
- echo "$NOTESTS tests performed, $NOLEAKS tests have memleak"
- # done
|