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"}} {
test
{
Commands pipelining
}
{
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
set res
{}
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"}} {
for
{
set i 0
}
{
$i
< 100000
}
{
incr i
}
{
set q
{}
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
set q
{}
append q
"GET key:
$i
\r\n
"
...
...
tests/unit/protocol.tcl
View file @
dc11daf3
start_server
{
tags
{
"protocol"
}}
{
test
{
Handle an empty query
well
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"
\r\n
"
flush
$fd
r ping
}
{
PONG
}
test
"
Handle an empty query
"
{
reco
nne
ct
r write
"
\r\n
"
r
flush
assert_equal
"PONG"
[
r ping
]
}
test
{
Negative multi
bulk
command does not create problems
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"*-10
\r\n
"
flush
$fd
r ping
}
{
PONG
}
test
"
Negative multibulk
length"
{
reco
nne
ct
r write
"*-10
\r\n
"
r
flush
assert_equal PONG
[
r ping
]
}
test
{
Negative
multi
bulk payload
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"SET x -10
\r\n
"
flush
$fd
gets $fd
}
{
*invalid bulk*
}
test
"Wrong
multibulk payload
header"
{
reco
nne
ct
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n
fooz
\r\n
"
r
flush
assert_error
"*expected '
$
', got 'f'*"
{
r read
}
}
test
{
Too big
bulk payload
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"SET x 200000000
0
\r\n
"
flush
$fd
gets $fd
}
{
*invalid bulk*count*
}
test
"Negative multi
bulk payload
length"
{
reco
nne
ct
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
-1
0
\r\n
"
r
flush
assert_error
"*invalid bulk length*"
{
r read
}
}
test
{
bulk payload is not a number
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"SET x blabla
\r\n
"
flush
$fd
gets $fd
}
{
*invalid bulk*count*
}
test
"Out of range multibulk payload length"
{
reco
nne
ct
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
2000000000
\r\n
"
r
flush
assert_error
"*invalid bulk length*"
{
r read
}
}
test
{
M
ulti
bulk
request not followed by bulk args
}
{
set fd
[
r cha
nne
l
]
puts -nonewline $fd
"*1
\r\n
foo
\r\n
"
flush
$fd
gets $fd
}
{
*protocol error*
}
test
"Non-number m
ultibulk
payload length"
{
reco
nne
ct
r write
"*3
\r\n\$
3
\r\n
SET
\r\n\$
1
\r\n
x
\r\n\$
blabla
\r\n
"
r
flush
assert_error
"*invalid bulk length*"
{
r read
}
}
test
{
Generic wrong number of args
}
{
catch
{
r ping x y z
}
err
set _ $err
}
{
*wrong*arguments*ping*
}
test
"Multi bulk request not followed by bulk arguments"
{
reconnect
r write
"*1
\r\n
foo
\r\n
"
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 {
assert_encoding $enc tosort
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"
{
assert_equal $result
[
r sort tosort
{
BY wobj_*->weight
}
]
assert_equal $result
[
r sort tosort BY wobj_*->weight
]
}
}
...
...
@@ -78,21 +78,21 @@ start_server {
}
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 16
[
r llen sort-res
]
assert_encoding ziplist sort-res
}
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 16
[
r llen sort-res
]
assert_encoding ziplist sort-res
}
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"
{
...
...
@@ -141,7 +141,7 @@ start_server {
test
"SORT speed,
$num
element list BY key, 100 times"
{
set start
[
clock clicks -milliseconds
]
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
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
...
@@ -151,7 +151,7 @@ start_server {
test
"SORT speed,
$num
element list BY hash field, 100 times"
{
set start
[
clock clicks -milliseconds
]
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
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
...
@@ -161,7 +161,7 @@ start_server {
test
"SORT speed,
$num
element list directly, 100 times"
{
set start
[
clock clicks -milliseconds
]
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
]
puts -nonewline
"
\n
Average time to sort:
[
expr double
(
$elapsed
)
/100
]
milliseconds "
...
...
@@ -171,7 +171,7 @@ start_server {
test
"SORT speed,
$num
element list BY <const>, 100 times"
{
set start
[
clock clicks -milliseconds
]
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
]
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