HINCRBYFLOAT tests

This commit is contained in:
antirez 2011-11-15 15:26:10 +01:00
parent 68bfe993c8
commit 3c5680ed9d

View File

@ -298,7 +298,7 @@ start_server {tags {"hash"}} {
list [r hincrby smallhash tmp 17179869184] [r hincrby bighash tmp 17179869184]
} {34359738368 34359738368}
test {HINCRBY fails against hash value with spaces} {
test {HINCRBY fails against hash value with spaces (left)} {
r hset smallhash str " 11"
r hset bighash str " 11"
catch {r hincrby smallhash str 1} smallerr
@ -308,6 +308,78 @@ start_server {tags {"hash"}} {
lappend rv [string match "ERR*not an integer*" $bigerr]
} {1 1}
test {HINCRBY fails against hash value with spaces (right)} {
r hset smallhash str "11 "
r hset bighash str "11 "
catch {r hincrby smallhash str 1} smallerr
catch {r hincrby smallhash str 1} bigerr
set rv {}
lappend rv [string match "ERR*not an integer*" $smallerr]
lappend rv [string match "ERR*not an integer*" $bigerr]
} {1 1}
test {HINCRBYFLOAT against non existing database key} {
r del htest
list [r hincrbyfloat htest foo 2.5]
} {2.5}
test {HINCRBYFLOAT against non existing hash key} {
set rv {}
r hdel smallhash tmp
r hdel bighash tmp
lappend rv [r hincrbyfloat smallhash tmp 2.5]
lappend rv [r hget smallhash tmp]
lappend rv [r hincrbyfloat bighash tmp 2.5]
lappend rv [r hget bighash tmp]
} {2.5 2.5 2.5 2.5}
test {HINCRBYFLOAT against hash key created by hincrby itself} {
set rv {}
lappend rv [r hincrbyfloat smallhash tmp 3.1]
lappend rv [r hget smallhash tmp]
lappend rv [r hincrbyfloat bighash tmp 3.1]
lappend rv [r hget bighash tmp]
} {5.6 5.6 5.6 5.6}
test {HINCRBYFLOAT against hash key originally set with HSET} {
r hset smallhash tmp 100
r hset bighash tmp 100
list [r hincrbyfloat smallhash tmp 2.5] [r hincrbyfloat bighash tmp 2.5]
} {102.5 102.5}
test {HINCRBYFLOAT over 32bit value} {
r hset smallhash tmp 17179869184
r hset bighash tmp 17179869184
list [r hincrbyfloat smallhash tmp 1] [r hincrbyfloat bighash tmp 1]
} {17179869185 17179869185}
test {HINCRBYFLOAT over 32bit value with over 32bit increment} {
r hset smallhash tmp 17179869184
r hset bighash tmp 17179869184
list [r hincrbyfloat smallhash tmp 17179869184] \
[r hincrbyfloat bighash tmp 17179869184]
} {34359738368 34359738368}
test {HINCRBYFLOAT fails against hash value with spaces (left)} {
r hset smallhash str " 11"
r hset bighash str " 11"
catch {r hincrbyfloat smallhash str 1} smallerr
catch {r hincrbyfloat smallhash str 1} bigerr
set rv {}
lappend rv [string match "ERR*not*float*" $smallerr]
lappend rv [string match "ERR*not*float*" $bigerr]
} {1 1}
test {HINCRBYFLOAT fails against hash value with spaces (right)} {
r hset smallhash str "11 "
r hset bighash str "11 "
catch {r hincrbyfloat smallhash str 1} smallerr
catch {r hincrbyfloat smallhash str 1} bigerr
set rv {}
lappend rv [string match "ERR*not*float*" $smallerr]
lappend rv [string match "ERR*not*float*" $bigerr]
} {1 1}
test {Hash zipmap regression test for large keys} {
r hset hash kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk a
r hset hash kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk b