]> git.saurik.com Git - redis.git/commitdiff
more advanced leaks detection in test redis
authorantirez <antirez@gmail.com>
Thu, 15 Apr 2010 17:13:14 +0000 (19:13 +0200)
committerantirez <antirez@gmail.com>
Thu, 15 Apr 2010 17:13:14 +0000 (19:13 +0200)
test-redis.tcl

index 944e631deedd5655a19dd1d7d10e379968e10efe..8ba1ff85838e9a94805f9790304ea8a45a4f22f6 100644 (file)
@@ -23,6 +23,12 @@ proc test {name code okpattern} {
         puts "!! ERROR expected\n'$okpattern'\nbut got\n'$retval'"
         incr ::failed
     }
+    if {$::traceleaks} {
+        if {![string match {*0 leaks*} [exec leaks redis-server]]} {
+            puts "--------- Test $::testnum LEAKED! --------"
+            exit 1
+        }
+    }
 }
 
 proc randstring {min max {type binary}} {
@@ -2150,6 +2156,7 @@ proc stress {} {
 set ::host 127.0.0.1
 set ::port 6379
 set ::stress 0
+set ::traceleaks 0
 set ::flush 0
 set ::first 0
 set ::last 1000000
@@ -2165,8 +2172,10 @@ for {set j 0} {$j < [llength $argv]} {incr j} {
     } elseif {$opt eq {-p} && !$lastarg} {
         set ::port $arg
         incr j
-    } elseif {$opt eq {-stress}} {
+    } elseif {$opt eq {--stress}} {
         set ::stress 1
+    } elseif {$opt eq {--trace-leaks}} {
+        set ::traceleaks 1
     } elseif {$opt eq {--flush}} {
         set ::flush 1
     } elseif {$opt eq {--first} && !$lastarg} {