diff options
author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-12-15 11:20:54 +0100 |
---|---|---|
committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-12-15 11:20:54 +0100 |
commit | e983cf34be97ac01448f331b9c106f8b9ce55889 (patch) | |
tree | d3608a27e523a6217f69521c5189593e8bfe5323 /tests | |
parent | 30407e1f4fc290468f3d8ec31cb933402767568d (diff) | |
download | redis-e983cf34be97ac01448f331b9c106f8b9ce55889.tar.gz |
Add fuzzy test for SETBIT
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/basic.tcl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/unit/basic.tcl b/tests/unit/basic.tcl index 901507964..884522a83 100644 --- a/tests/unit/basic.tcl +++ b/tests/unit/basic.tcl @@ -422,6 +422,24 @@ start_server {tags {"basic"}} { assert_error "*out of range*" {r setbit mykey 0 20} } + test "SETBIT fuzzing" { + set str "" + set len [expr 256*8] + r del mykey + + for {set i 0} {$i < 2000} {incr i} { + set bitnum [randomInt $len] + set bitval [randomInt 2] + set fmt [format "%%-%ds%%d%%-s" $bitnum] + set head [string range $str 0 $bitnum-1] + set tail [string range $str $bitnum+1 end] + set str [string map {" " 0} [format $fmt $head $bitval $tail]] + + r setbit mykey $bitnum $bitval + assert_equal [binary format B* $str] [r get mykey] + } + } + test "GETBIT against non-existing key" { r del mykey assert_equal 0 [r getbit mykey 0] |