Commits

Anonymous committed efc8f6c

Added test for client output buffer limit (hard limit).

Comments (0)

Files changed (2)

tests/test_helper.tcl

     unit/scripting
     unit/maxmemory
     unit/introspection
+    unit/obuf-limits
 }
 # Index to the next test to run in the ::all_tests list.
 set ::next_test 0

tests/unit/obuf-limits.tcl

+start_server {tags {"obuf-limits"}} {
+    test {Test that client output buffer hard limit is enforced} {
+        r config set client-output-buffer-limit {pubsub 100000 0 0}
+        set rd1 [redis_deferring_client]
+
+        $rd1 subscribe foo
+        set reply [$rd1 read]
+        assert {$reply eq "subscribe foo 1"}
+
+        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
+        }
+        assert {$omem >= 100000 && $omem < 200000}
+        $rd1 close
+    }
+}