mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-28 13:43:40 +02:00
34 lines
850 B
Bash
Executable File
34 lines
850 B
Bash
Executable File
#!/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
|