Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
da9c4cc1
Commit
da9c4cc1
authored
Jan 25, 2012
by
antirez
Browse files
Added test for client output buffer limit (soft limit).
parent
efc8f6c1
Changes
1
Show whitespace changes
Inline
Side-by-side
tests/unit/obuf-limits.tcl
View file @
da9c4cc1
start_server
{
tags
{
"obuf-limits"
}}
{
test
{
Test that c
lient output buffer hard limit is enforced
}
{
test
{
C
lient output buffer hard limit is enforced
}
{
r config set client-output-buffer-limit
{
pubsub 100000 0 0
}
set rd1
[
redis_deferring_client
]
...
...
@@ -18,4 +18,56 @@ start_server {tags {"obuf-limits"}} {
assert
{
$omem
>= 100000 && $omem < 200000
}
$rd1 close
}
test
{
Client output buffer soft limit is not enforced if time is not overreached
}
{
r config set client-output-buffer-limit
{
pubsub 0 100000 10
}
set rd1
[
redis_deferring_client
]
$rd1 subscribe foo
set reply
[
$rd1
read
]
assert
{
$reply
eq
"subscribe foo 1"
}
set omem 0
set start_time 0
set time_elapsed 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
{[
clock seconds
]
-$start_time >= 5
}
break
}
}
assert
{
$omem
>= 100000 && $time_elapsed >= 5 && $time_elapsed <= 10
}
$rd1 close
}
test
{
Client output buffer soft limit is enforced if time is overreached
}
{
r config set client-output-buffer-limit
{
pubsub 0 100000 3
}
set rd1
[
redis_deferring_client
]
$rd1 subscribe foo
set reply
[
$rd1
read
]
assert
{
$reply
eq
"subscribe foo 1"
}
set omem 0
set start_time 0
set time_elapsed 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
{[
clock seconds
]
-$start_time >= 10
}
break
}
}
assert
{
$omem
>= 100000 && $time_elapsed < 6
}
$rd1 close
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment