From e2162fc10706b1434cc40b394d27a0cf03485022 Mon Sep 17 00:00:00 2001 From: Jonathan Pickett Date: Tue, 29 Oct 2013 19:21:02 -0700 Subject: [PATCH] "r client list" returning information on 3 connections. Fixed loop logic to check for omem in all connections. --- tests/unit/obuf-limits.tcl | 90 ++++++++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 29 deletions(-) diff --git a/tests/unit/obuf-limits.tcl b/tests/unit/obuf-limits.tcl index 5d625cf4..536dfe66 100644 --- a/tests/unit/obuf-limits.tcl +++ b/tests/unit/obuf-limits.tcl @@ -6,16 +6,24 @@ start_server {tags {"obuf-limits"}} { $rd1 subscribe foo set reply [$rd1 read] assert {$reply eq "subscribe foo 1"} + set omem_max 0 - set omem 0 while 1 { - r publish foo bar - set clients [split [r client list] "\r\n"] - set c [split [lindex $clients 1] " "] - if {![regexp {omem=([0-9]+)} $c - omem]} break - if {$omem > 200000} break + if {[r publish foo bar] == 1} { + set clients [split [r client list] "\r\n"] + foreach client $clients { + if {[regexp {omem=([0-9]+)} $client - omem_value]} { + if {$omem_value > $omem_max} { + set omem_max $omem_value + } + } + if {$omem_max > 200000} break + } + } else { + break; + } } - assert {$omem >= 90000 && $omem < 200000} + assert {$omem_max >= 90000 && $omem_max < 200000} $rd1 close } @@ -27,21 +35,33 @@ start_server {tags {"obuf-limits"}} { set reply [$rd1 read] assert {$reply eq "subscribe foo 1"} - set omem 0 set start_time 0 set time_elapsed 0 + set omem_max 0 while 1 { - r publish foo bar - set clients [split [r client list] "\r\n"] - set c [split [lindex $clients 1] " "] - if {![regexp {omem=([0-9]+)} $c - omem]} break - if {$omem > 100000} { - if {$start_time == 0} {set start_time [clock seconds]} - set time_elapsed [expr {[clock seconds]-$start_time}] - if {$time_elapsed >= 5} break - } + if {[r publish foo bar] == 1} { + set clients [split [r client list] "\r\n"] + foreach client $clients { + if {[regexp {omem=([0-9]+)} $client - omem_value]} { + if {$omem_value > $omem_max} { + set omem_max $omem_value + } + } + } + if {$omem_max > 100000} { + if {$start_time == 0} { + set start_time [clock seconds] + } + set time_elapsed [expr {[clock seconds]-$start_time}] + if {$time_elapsed >= 5} { + break + } + } + } else { + break; + } } - assert {$omem >= 100000 && $time_elapsed >= 5 && $time_elapsed <= 10} + assert {$omem_max >= 100000 && $time_elapsed >= 5 && $time_elapsed <= 10} $rd1 close } @@ -53,21 +73,33 @@ start_server {tags {"obuf-limits"}} { set reply [$rd1 read] assert {$reply eq "subscribe foo 1"} - set omem 0 set start_time 0 set time_elapsed 0 + set omem_max 0 while 1 { - r publish foo bar - set clients [split [r client list] "\r\n"] - set c [split [lindex $clients 1] " "] - if {![regexp {omem=([0-9]+)} $c - omem]} break - if {$omem > 100000} { - if {$start_time == 0} {set start_time [clock seconds]} - set time_elapsed [expr {[clock seconds]-$start_time}] - if {$time_elapsed >= 10} break - } + if {[r publish foo bar] == 1} { + set clients [split [r client list] "\r\n"] + foreach client $clients { + if {[regexp {omem=([0-9]+)} $client - omem_value]} { + if {$omem_value > $omem_max} { + set omem_max $omem_value + } + } + } + if {$omem_max > 100000} { + if {$start_time == 0} { + set start_time [clock seconds] + } + set time_elapsed [expr {[clock seconds]-$start_time}] + if {$time_elapsed >= 10} { + break + } + } + } else { + break; + } } - assert {$omem >= 100000 && $time_elapsed < 6} + assert {$omem_max >= 100000 && $time_elapsed < 6} $rd1 close } }