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
dc11daf3
Commit
dc11daf3
authored
Oct 15, 2010
by
Pieter Noordhuis
Browse files
Change tests to use either the inline or the multibulk protocol
parent
5b12b47d
Changes
4
Hide whitespace changes
Inline
Side-by-side
tests/unit/basic.tcl
View file @
dc11daf3
...
@@ -172,7 +172,7 @@ start_server {tags {"basic"}} {
...
@@ -172,7 +172,7 @@ start_server {tags {"basic"}} {
test
{
Commands pipelining
}
{
test
{
Commands pipelining
}
{
set fd
[
r channel
]
set fd
[
r channel
]
puts -nonewline $fd
"SET k1
4
\r\n
xyzk
\r\n
GET k1
\r\n
PING
\r\n
"
puts -nonewline $fd
"SET k1 xyzk
\r\n
GET k1
\r\n
PING
\r\n
"
flush $fd
flush $fd
set res
{}
set res
{}
append res
[
string match OK*
[
::redis::redis_read_reply $fd
]]
append res
[
string match OK*
[
::redis::redis_read_reply $fd
]]
...
...
tests/unit/other.tcl
View file @
dc11daf3
...
@@ -123,7 +123,7 @@ start_server {tags {"other"}} {
...
@@ -123,7 +123,7 @@ start_server {tags {"other"}} {
for
{
set i 0
}
{
$i
< 100000
}
{
incr i
}
{
for
{
set i 0
}
{
$i
< 100000
}
{
incr i
}
{
set q
{}
set q
{}
set val
"0000
${i}
0000"
set val
"0000
${i}
0000"
append q
"SET key:
$i
[
string length $val
]
\r\n
$val
\r\n
"
append q
"SET key:
$i
$val
\r\n
"
puts -nonewline $fd2 $q
puts -nonewline $fd2 $q
set q
{}
set q
{}
append q
"GET key:
$i
\r\n
"
append q
"GET key:
$i
\r\n
"
...
...
tests/unit/protocol.tcl
View file @
dc11daf3
start_server
{
tags
{
"protocol"
}}
{
start_server
{
tags
{
"protocol"
}}
{
test
{
Handle an empty query
well
}
{
test
"
Handle an empty query
"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"
\r\n
"
r write
"
\r\n
"
flush
$fd
r
flush
r ping
assert_equal
"PONG"
[
r ping
]
}
{
PONG
}
}
test
{
Negative multi
bulk
command does not create problems
}
{
test
"
Negative multibulk
length"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"*-10
\r\n
"
r write
"*-10
\r\n
"
flush
$fd
r
flush
r ping
assert_equal PONG
[
r ping
]
}
{
PONG
}
}
test
{
Negative
multi
bulk payload
}
{
test
"Wrong
multibulk payload
header"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"SET x -10
\r\n
"
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n
fooz
\r\n
"
flush
$fd
r
flush
gets $fd
assert_error
"*expected '
$
', got 'f'*"
{
r read
}
}
{
*invalid bulk*
}
}
test
{
Too big
bulk payload
}
{
test
"Negative multi
bulk payload
length"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"SET x 200000000
0
\r\n
"
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
-1
0
\r\n
"
flush
$fd
r
flush
gets $fd
assert_error
"*invalid bulk length*"
{
r read
}
}
{
*invalid bulk*count*
}
}
test
{
bulk payload is not a number
}
{
test
"Out of range multibulk payload length"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"SET x blabla
\r\n
"
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
2000000000
\r\n
"
flush
$fd
r
flush
gets $fd
assert_error
"*invalid bulk length*"
{
r read
}
}
{
*invalid bulk*count*
}
}
test
{
M
ulti
bulk
request not followed by bulk args
}
{
test
"Non-number m
ultibulk
payload length"
{
set fd
[
r cha
nne
l
]
reco
nne
ct
puts -nonewline $fd
"*1
\r\n
foo
\r\n
"
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
blabla
\r\n
"
flush
$fd
r
flush
gets $fd
assert_error
"*invalid bulk length*"
{
r read
}
}
{
*protocol error*
}
}
test
{
Generic wrong number of args
}
{
test
"Multi bulk request not followed by bulk arguments"
{
catch
{
r ping x y z
}
err
reconnect
set _ $err
r write
"*1
\r\n
foo
\r\n
"
}
{
*wrong*arguments*ping*
}
r flush
assert_error
"*expected '
$
', got 'f'*"
{
r read
}
}
test
"Generic wrong number of args"
{
reconnect
assert_error
"*wrong*arguments*ping*"
{
r ping x y z
}
}
}
}
tests/unit/sort.tcl
View file @
dc11daf3
...
@@ -47,11 +47,11 @@ start_server {
...
@@ -47,11 +47,11 @@ start_server {
assert_encoding $enc tosort
assert_encoding $enc tosort
test
"
$title:
SORT BY key"
{
test
"
$title:
SORT BY key"
{
assert_equal $result
[
r sort tosort
{
BY weight_*
}
]
assert_equal $result
[
r sort tosort BY weight_*
]
}
}
test
"
$title:
SORT BY hash field"
{
test
"
$title:
SORT BY hash field"
{
assert_equal $result
[
r sort tosort
{
BY wobj_*->weight
}
]
assert_equal $result
[
r sort tosort BY wobj_*->weight
]
}
}
}
}
...
@@ -78,21 +78,21 @@ start_server {
...
@@ -78,21 +78,21 @@ start_server {
}
}
test
"SORT BY key STORE"
{
test
"SORT BY key STORE"
{
r sort tosort
{
BY weight_*
}
store sort-res
r sort tosort BY weight_* store sort-res
assert_equal $result
[
r lrange sort-res 0 -1
]
assert_equal $result
[
r lrange sort-res 0 -1
]
assert_equal 16
[
r llen sort-res
]
assert_equal 16
[
r llen sort-res
]
assert_encoding ziplist sort-res
assert_encoding ziplist sort-res
}
}
test
"SORT BY hash field STORE"
{
test
"SORT BY hash field STORE"
{
r sort tosort
{
BY wobj_*->weight
}
store sort-res
r sort tosort BY wobj_*->weight store sort-res
assert_equal $result
[
r lrange sort-res 0 -1
]
assert_equal $result
[
r lrange sort-res 0 -1
]
assert_equal 16
[
r llen sort-res
]
assert_equal 16
[
r llen sort-res
]
assert_encoding ziplist sort-res
assert_encoding ziplist sort-res
}
}
test
"SORT DESC"
{
test
"SORT DESC"
{
assert_equal
[
lsort -decreasing -integer $result
]
[
r sort tosort
{
DESC
}
]
assert_equal
[
lsort -decreasing -integer $result
]
[
r sort tosort DESC
]
}
}
test
"SORT ALPHA against integer encoded strings"
{
test
"SORT ALPHA against integer encoded strings"
{
...
@@ -141,7 +141,7 @@ start_server {
...
@@ -141,7 +141,7 @@ start_server {
test
"SORT speed,
$num
element list BY key, 100 times"
{
test
"SORT speed,
$num
element list BY key, 100 times"
{
set start
[
clock clicks -milliseconds
]
set start
[
clock clicks -milliseconds
]
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
set sorted
[
r sort tosort
{
BY weight_* LIMIT 0 10
}
]
set sorted
[
r sort tosort BY weight_* LIMIT 0 10
]
}
}
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
@@ -151,7 +151,7 @@ start_server {
...
@@ -151,7 +151,7 @@ start_server {
test
"SORT speed,
$num
element list BY hash field, 100 times"
{
test
"SORT speed,
$num
element list BY hash field, 100 times"
{
set start
[
clock clicks -milliseconds
]
set start
[
clock clicks -milliseconds
]
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
set sorted
[
r sort tosort
{
BY wobj_*->weight LIMIT 0 10
}
]
set sorted
[
r sort tosort BY wobj_*->weight LIMIT 0 10
]
}
}
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
@@ -161,7 +161,7 @@ start_server {
...
@@ -161,7 +161,7 @@ start_server {
test
"SORT speed,
$num
element list directly, 100 times"
{
test
"SORT speed,
$num
element list directly, 100 times"
{
set start
[
clock clicks -milliseconds
]
set start
[
clock clicks -milliseconds
]
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
set sorted
[
r sort tosort
{
LIMIT 0 10
}
]
set sorted
[
r sort tosort LIMIT 0 10
]
}
}
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
@@ -171,7 +171,7 @@ start_server {
...
@@ -171,7 +171,7 @@ start_server {
test
"SORT speed,
$num
element list BY <const>, 100 times"
{
test
"SORT speed,
$num
element list BY <const>, 100 times"
{
set start
[
clock clicks -milliseconds
]
set start
[
clock clicks -milliseconds
]
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
for
{
set i 0
}
{
$i
< 100
}
{
incr i
}
{
set sorted
[
r sort tosort
{
BY nokey LIMIT 0 10
}
]
set sorted
[
r sort tosort BY nokey LIMIT 0 10
]
}
}
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
set elapsed
[
expr
[
clock clicks -milliseconds
]
-$start
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
...
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