From 2352a519928aa693d73d03c67898577a3bb2f56d Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 13 Jul 2018 17:58:17 +0200 Subject: [PATCH] Test: XDEL fuzz testing. Remove and check stage. --- tests/unit/type/stream.tcl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/unit/type/stream.tcl b/tests/unit/type/stream.tcl index cf37ad38..5cf6805d 100644 --- a/tests/unit/type/stream.tcl +++ b/tests/unit/type/stream.tcl @@ -264,6 +264,21 @@ start_server { # to report the right number of elements with XRANGE: this will also # force accessing the whole data structure to check sanity. assert {[r xlen somestream] == $x} + + # We want to remove elements in random order to really test the + # implementation in a better way. + set ids [lshuffle $ids] + foreach id $ids { + assert {[r xdel somestream $id] == 1} + incr x -1 + assert {[r xlen somestream] == $x} + # The test would be too slow calling XRANGE for every iteration. + # Do it every 100 removal. + if {$x % 100 == 0} { + set res [r xrange somestream - +] + assert {[llength $res] == $x} + } + } } test {XRANGE fuzzing} {