leak_var.tests 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. pid=$$
  2. # Warm up
  3. beg=`ps -o pid,vsz | grep "^ *$pid "`
  4. i=1
  5. while test $i != X; do
  6. unset t
  7. t=111111111111111111111111111111111111111111111111111111111111111111111111
  8. export t
  9. unset t
  10. t=111111111111111111111111111111111111111111111111111111111111111111111111
  11. export t
  12. unset t
  13. t=111111111111111111111111111111111111111111111111111111111111111111111111
  14. export t
  15. unset t
  16. t=111111111111111111111111111111111111111111111111111111111111111111111111
  17. export t
  18. unset t
  19. t=111111111111111111111111111111111111111111111111111111111111111111111111
  20. export t
  21. i=1$i
  22. if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi
  23. if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi
  24. if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi
  25. if test $i = 1111111111111111111111111111111111111111111114; then i=5; fi
  26. if test $i = 1111111111111111111111111111111111111111111115; then i=6; fi
  27. if test $i = 1111111111111111111111111111111111111111111116; then i=7; fi
  28. if test $i = 1111111111111111111111111111111111111111111117; then i=8; fi
  29. if test $i = 1111111111111111111111111111111111111111111118; then i=9; fi
  30. if test $i = 1111111111111111111111111111111111111111111119; then i=a; fi
  31. if test $i = 111111111111111111111111111111111111111111111a; then i=b; fi
  32. if test $i = 111111111111111111111111111111111111111111111b; then i=c; fi
  33. if test $i = 111111111111111111111111111111111111111111111c; then i=d; fi
  34. if test $i = 111111111111111111111111111111111111111111111d; then i=e; fi
  35. if test $i = 111111111111111111111111111111111111111111111e; then i=f; fi
  36. if test $i = 111111111111111111111111111111111111111111111f; then i=g; fi
  37. if test $i = 111111111111111111111111111111111111111111111g; then i=h; fi
  38. if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi
  39. if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi
  40. if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi
  41. done
  42. end=`ps -o pid,vsz | grep "^ *$pid "`
  43. echo "Measuring memory leak..."
  44. beg=`ps -o pid,vsz | grep "^ *$pid "`
  45. i=1
  46. while test $i != X; do
  47. unset t
  48. t=111111111111111111111111111111111111111111111111111111111111111111111111
  49. export t
  50. unset t
  51. t=111111111111111111111111111111111111111111111111111111111111111111111111
  52. export t
  53. unset t
  54. t=111111111111111111111111111111111111111111111111111111111111111111111111
  55. export t
  56. unset t
  57. t=111111111111111111111111111111111111111111111111111111111111111111111111
  58. export t
  59. unset t
  60. t=111111111111111111111111111111111111111111111111111111111111111111111111
  61. export t
  62. i=1$i
  63. if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi
  64. if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi
  65. if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi
  66. if test $i = 1111111111111111111111111111111111111111111114; then i=5; fi
  67. if test $i = 1111111111111111111111111111111111111111111115; then i=6; fi
  68. if test $i = 1111111111111111111111111111111111111111111116; then i=7; fi
  69. if test $i = 1111111111111111111111111111111111111111111117; then i=8; fi
  70. if test $i = 1111111111111111111111111111111111111111111118; then i=9; fi
  71. if test $i = 1111111111111111111111111111111111111111111119; then i=a; fi
  72. if test $i = 111111111111111111111111111111111111111111111a; then i=b; fi
  73. if test $i = 111111111111111111111111111111111111111111111b; then i=c; fi
  74. if test $i = 111111111111111111111111111111111111111111111c; then i=d; fi
  75. if test $i = 111111111111111111111111111111111111111111111d; then i=e; fi
  76. if test $i = 111111111111111111111111111111111111111111111e; then i=f; fi
  77. if test $i = 111111111111111111111111111111111111111111111f; then i=g; fi
  78. if test $i = 111111111111111111111111111111111111111111111g; then i=h; fi
  79. if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi
  80. if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi
  81. if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi
  82. done
  83. end=`ps -o pid,vsz | grep "^ *$pid "`
  84. if test "$beg" != "$end"; then
  85. echo "vsz grows: $beg -> $end"
  86. else
  87. echo "vsz does not grow"
  88. fi