redict/tests/integration
Binbin c50af0aeba
Add LMPOP/BLMPOP commands. (#9373)
We want to add COUNT option for BLPOP.
But we can't do it without breaking compatibility due to the command arguments syntax.
So this commit introduce two new commands.

Syntax for the new LMPOP command:
`LMPOP numkeys [<key> ...] LEFT|RIGHT [COUNT count]`

Syntax for the new BLMPOP command:
`BLMPOP timeout numkeys [<key> ...] LEFT|RIGHT [COUNT count]`

Some background:
- LPOP takes one key, and can return multiple elements.
- BLPOP takes multiple keys, but returns one element from just one key.
- LMPOP can take multiple keys and return multiple elements from just one key.

Note that LMPOP/BLMPOP  can take multiple keys, it eventually operates on just one key.
And it will propagate as LPOP or RPOP with the COUNT option.

As a new command, it still return NIL if we can't pop any elements.
For the normal response is nested arrays in RESP2 and RESP3, like:
```
LMPOP/BLMPOP 
1) keyname
2) 1) element1
   2) element2
```
I.e. unlike BLPOP that returns a key name and one element so it uses a flat array,
and LPOP that returns multiple elements with no key name, and again uses a flat array,
this one has to return a nested array, and it does for for both RESP2 and RESP3 (like SCAN does)

Some discuss can see: #766 #8824
2021-09-09 12:02:33 +03:00
..
aof-race.tcl TLS: Connections refactoring and TLS support. 2019-10-07 21:06:13 +03:00
aof.tcl Add LMPOP/BLMPOP commands. (#9373) 2021-09-09 12:02:33 +03:00
block-repl.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
convert-ziplist-hash-on-load.tcl Replace all usage of ziplist with listpack for t_hash (#8887) 2021-08-10 09:18:49 +03:00
convert-zipmap-hash-on-load.tcl Replace all usage of ziplist with listpack for t_hash (#8887) 2021-08-10 09:18:49 +03:00
corrupt-dump-fuzzer.tcl corrupt-dump-fuzzer test, avoid creating junk keys (#9302) 2021-08-05 22:57:05 +03:00
corrupt-dump.tcl Optimize quicklistIndex to seek from the nearest end (#9454) 2021-09-06 09:12:38 +03:00
dismiss-mem.tcl Use madvise(MADV_DONTNEED) to release memory to reduce COW (#8974) 2021-08-04 23:01:46 +03:00
failover.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
logging.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2-pingoff.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2-reg.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2.tcl Make sure execute SLAVEOF command in the right order in psync2 test. (#9316) 2021-08-05 11:26:09 +03:00
rdb.tcl solve test timing issues in replication tests (#9121) 2021-06-22 11:10:11 +03:00
redis-benchmark.tcl redis-benchmark: improved help and warnings (#9419) 2021-08-29 14:31:08 +03:00
redis-cli.tcl redis-cli ASK redirect test: Add retry loop to fix timing issue (#9315) 2021-08-05 08:20:30 +03:00
replication-2.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication-3.tcl Allow master to replicate command longer than replica's query buffer limit (#9340) 2021-08-08 17:34:11 -07:00
replication-4.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication-psync.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication.tcl Delay to discard cached master when full synchronization (#9398) 2021-09-09 11:32:29 +03:00