]> git.saurik.com Git - redis.git/blob - tests/unit/protocol.tcl
memory fragmentation reporting in INFO also added for Mac OS X
[redis.git] / tests / unit / protocol.tcl
1 start_server {tags {"protocol"}} {
2 test {Handle an empty query well} {
3 set fd [r channel]
4 puts -nonewline $fd "\r\n"
5 flush $fd
6 r ping
7 } {PONG}
8
9 test {Negative multi bulk command does not create problems} {
10 set fd [r channel]
11 puts -nonewline $fd "*-10\r\n"
12 flush $fd
13 r ping
14 } {PONG}
15
16 test {Negative multi bulk payload} {
17 set fd [r channel]
18 puts -nonewline $fd "SET x -10\r\n"
19 flush $fd
20 gets $fd
21 } {*invalid bulk*}
22
23 test {Too big bulk payload} {
24 set fd [r channel]
25 puts -nonewline $fd "SET x 2000000000\r\n"
26 flush $fd
27 gets $fd
28 } {*invalid bulk*count*}
29
30 test {bulk payload is not a number} {
31 set fd [r channel]
32 puts -nonewline $fd "SET x blabla\r\n"
33 flush $fd
34 gets $fd
35 } {*invalid bulk*count*}
36
37 test {Multi bulk request not followed by bulk args} {
38 set fd [r channel]
39 puts -nonewline $fd "*1\r\nfoo\r\n"
40 flush $fd
41 gets $fd
42 } {*protocol error*}
43
44 test {Generic wrong number of args} {
45 catch {r ping x y z} err
46 set _ $err
47 } {*wrong*arguments*ping*}
48 }