1# "Check many leaks" test #2 2# Cramming all kinds of weird commands in here. 3# As you find leaks, please create separate, small test 4# for each leak. 5# Narrowing down the leak using this large test may be difficult. 6# It is intended to be a blanket "is everything ok?" test 7 8echo "Warm up" 9local_var="local val" 10export dev_null="/dev/null" 11>$dev_null 12echo hi1 $local_var `echo ho` >>/dev/null 13echo hi2 $local_var </dev/null | echo 2>&- | cat 1<>/dev/null 14{ echo hi4 $local_var `echo ho` 1<>/dev/null; } 15( echo hi4 $local_var `echo ho` 1<>/dev/null ) 16if echo $local_var; false 17 then echo not run 18 elif false <$dev_null 19 then none 20 else cat 0<>$dev_null 1<>"$dev_null" 21fi >>/dev/null 22{ 23 if echo $local_var; then cat <<HERE 24Hi cat 25HERE 26 fi >>/dev/null 27} 1<>/dev/null 28while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 29( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 30f() { echo $1; } 31f >/dev/null 32 33memleak 34 35echo "Measuring memory leak..." 36# Please copy the entire block from above verbatim 37local_var="local val" 38export dev_null="/dev/null" 39>$dev_null 40echo hi1 $local_var `echo ho` >>/dev/null 41echo hi2 $local_var </dev/null | echo 2>&- | cat 1<>/dev/null 42{ echo hi4 $local_var `echo ho` 1<>/dev/null; } 43( echo hi4 $local_var `echo ho` 1<>/dev/null ) 44if echo $local_var; false 45 then echo not run 46 elif false <$dev_null 47 then none 48 else cat 0<>$dev_null 1<>"$dev_null" 49fi >>/dev/null 50{ 51 if echo $local_var; then cat <<HERE 52Hi cat 53HERE 54 fi >>/dev/null 55} 1<>/dev/null 56while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 57( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 58f() { echo $1; } 59f >/dev/null 60 61# And same again 62 63local_var="local val" 64export dev_null="/dev/null" 65>$dev_null 66echo hi1 $local_var `echo ho` >>/dev/null 67echo hi2 $local_var </dev/null | echo 2>&- | cat 1<>/dev/null 68{ echo hi4 $local_var `echo ho` 1<>/dev/null; } 69( echo hi4 $local_var `echo ho` 1<>/dev/null ) 70if echo $local_var; false 71 then echo not run 72 elif false <$dev_null 73 then none 74 else cat 0<>$dev_null 1<>"$dev_null" 75fi >>/dev/null 76{ 77 if echo $local_var; then cat <<HERE 78Hi cat 79HERE 80 fi >>/dev/null 81} 1<>/dev/null 82while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 83( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 84f() { echo $1; } 85f >/dev/null 86 87memleak 88kb=$? 89if test $kb -le 4; then 90 echo Ok #$kb 91else 92 echo "Bad: $kb kb (or more) leaked" 93fi 94