| 1 | set ::passed 0 |
| 2 | set ::failed 0 |
| 3 | set ::testnum 0 |
| 4 | |
| 5 | proc test {name code okpattern} { |
| 6 | incr ::testnum |
| 7 | # if {$::testnum < $::first || $::testnum > $::last} return |
| 8 | puts -nonewline [format "#%03d %-68s " $::testnum $name] |
| 9 | flush stdout |
| 10 | set retval [uplevel 1 $code] |
| 11 | if {$okpattern eq $retval || [string match $okpattern $retval]} { |
| 12 | puts "PASSED" |
| 13 | incr ::passed |
| 14 | } else { |
| 15 | puts "!! ERROR expected\n'$okpattern'\nbut got\n'$retval'" |
| 16 | incr ::failed |
| 17 | } |
| 18 | if {$::traceleaks} { |
| 19 | if {![string match {*0 leaks*} [exec leaks redis-server]]} { |
| 20 | puts "--------- Test $::testnum LEAKED! --------" |
| 21 | exit 1 |
| 22 | } |
| 23 | } |
| 24 | } |