Added valgrind memory leak tests in testmem.sh for cli and netconf

This commit is contained in:
Olof hagsand 2019-02-18 16:05:51 +01:00
parent 055b1df80c
commit 286c2ec04f
6 changed files with 140 additions and 31 deletions

58
test/mem.sh Executable file
View file

@ -0,0 +1,58 @@
#!/bin/bash
# Run valgrind leak test for cli, restconf, netconf or background.
# Stop on first error
#
if [ $# -ne 1 ]; then
echo "usage: $0 cli|netconf|restconf|backend" # valgrind memleak checks
exit -1
fi
PROGRAM=$1
valgrindfile=$(mktemp)
echo "valgrindfile:$valgrindfile"
case "$PROGRAM" in
'cli')
valgrindtest=1
DEMSLEEP=1
clixon_cli="/usr/bin/valgrind --leak-check=full --show-leak-kinds=all --suppressions=./clixon.supp --trace-children=no --child-silent-after-fork=yes --log-file=$valgrindfile clixon_cli"
;;
'netconf')
valgrindtest=1
DEMSLEEP=1
clixon_netconf="/usr/bin/valgrind --leak-check=full --show-leak-kinds=all --suppressions=./clixon.supp --trace-children=no --child-silent-after-fork=yes --log-file=$valgrindfile clixon_netconf"
;;
# 'backend')
# valgrindtest=2
# DEMSLEEP=20
# clixon_backend="/usr/bin/valgrind --leak-check=full --show-leak-kinds=all --suppressions=./clixon.supp --trace-children=yes --log-file=$valgrindfile clixon_backend"
#;;
*)
echo "usage: $0 cli|netconf|restconf|backend" # valgrind memleak checks
exit -1
;;
esac
rm -f
err=0
testnr=0
for test in test*.sh; do
testfile=$test
DEMSLEEP=$DEMSLEEP . ./$test
errcode=$?
if [ $errcode -ne 0 ]; then
err=1
echo -e "\e[31mError in $test errcode=$errcode"
echo -ne "\e[0m"
exit $errcode
fi
if [ $valgrindtest -eq 2 ]; then
# sudo cat $valgrindfile
sudo checkvalgrind
# sudo rm -f $valgrindfile
fi
done
checkvalgrind
rm -f $valgrindfile