From 399da01ae4eb5c5e3e9349bacc2063c946c3d4a1 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Tue, 11 Aug 2009 11:17:23 +0000 Subject: Merge the branches/struggleyb/libdom-remain back to trunk. svn path=/trunk/dom/; revision=9191 --- test/leak-test.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 test/leak-test.sh (limited to 'test/leak-test.sh') diff --git a/test/leak-test.sh b/test/leak-test.sh new file mode 100755 index 0000000..4a6ea13 --- /dev/null +++ b/test/leak-test.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# +# This is a simple script used to test libdom memory leakage. +# Usage: +# You should firstly run "run-test.sh", which will genrate a test output directory. In that +# directory, there are C source files and corresponding executables. +# Go to the test output directory. For example , for core, level 1, it is output/level1/core +# And run this script as ../../../leak-test.sh "log-file" +# +# This file is part of libdom test suite. +# Licensed under the MIT License, +# http://www.opensource.org/licenses/mit-license.php +# Copyright 2009 Bo Yang + +log=$1; +totla=0; +leak=0; +ok=0; +while read f; do + #Test defnitely lost + echo -n "$f: " >&3; + echo -n "$f: "; + dl=$(valgrind "$f" 2>&1 | grep "definitely lost" | sed -e 's/definitely lost//g' -e 's/bytes in//g' -e 's/blocks.//g' -e 's/^.*://g' -e 's/ //g' -e 's/,//g'); + pl=$(valgrind "$f" 2>&1 | grep "possibly lost" | sed -e 's/possibly lost//g' -e 's/bytes in//g' -e 's/blocks.//g' -e 's/^.*://g' -e 's/ //g' -e 's/,//g'); + + total=$((total+1)); + if [ "$dl" -eq "00" -a "$pl" -eq "00" ]; then + echo "ok..." >&3; + echo "ok..."; + ok=$((ok+1)); + else + echo "leaked!" >&3; + echo "leaked!"; + leak=$((leak+1)); + fi + +done 3>"$log" < <(find ./ -perm -o=x -type f -print); + +echo "Total: $total" >>"$log"; +echo "Leak: $leak" >>"$log"; +echo "Ok: $ok" >>"$log"; + +echo "Total: $total"; +echo "Leak: $leak"; +echo "Ok: $ok"; -- cgit v1.2.3