diff --git a/tests/unit/bitops.tcl b/tests/unit/bitops.tcl index dade8923..a145199a 100644 --- a/tests/unit/bitops.tcl +++ b/tests/unit/bitops.tcl @@ -52,7 +52,7 @@ start_server {tags {"bitops"}} { } } - test {BITCOUNT fuzzing} { + test {BITCOUNT fuzzing without start/end} { for {set j 0} {$j < 100} {incr j} { set str [randstring 0 3000] r set str $str @@ -60,6 +60,20 @@ start_server {tags {"bitops"}} { } } + test {BITCOUNT fuzzing with start/end} { + for {set j 0} {$j < 100} {incr j} { + set str [randstring 0 3000] + r set str $str + set l [string length $str] + set start [randomInt $l] + set end [randomInt $l] + if {$start > $end} { + lassign [list $end $start] start end + } + assert {[r bitcount str $start $end] == [count_bits [string range $str $start $end]]} + } + } + test {BITCOUNT with start, end} { r set s "foobar" assert_equal [r bitcount s 0 -1] [count_bits "foobar"]