Skip to content
PostRESP
Esc
navigateopen⌘Jpreview
On this page

Compatibility

Redis compatibility progress against the full Valkey test suite.

How far PostRESP is toward Redis compatibility for in-scope behavior, measured with the Valkey 8.1.4 test suite (unit, type, cluster, and integration). Tests marked out of scope (for example Redis replica protocol — HA is Postgres) are excluded from the pass rate. Each square is one test; hover to see its name.

11.3%
332 of 2945 in-scope tests passing
Valkey 8.1.4 · 2979 tests · 34 out of scope
Passing(332)Failing(2613)Out of scope(34)

Unit

Acl-v2

0 / 32 passing (0.0%)
Test Status
Cardinality commands require some type of permission to execute Failing
Existence test commands are not marked as access Failing
Intersection cardinaltiy commands are access commands Failing
Test ACL GETUSER response information Failing
Test ACL list idempotency Failing
Test ACL log correctly identifies the relevant item when selectors are used Failing
Test ACL selectors by default have no permissions Failing
Test BITFIELD with read and write permissions Failing
Test BITFIELD with separate read permission Failing
Test BITFIELD with separate write permission Failing
Test DRYRUN with wrong number of arguments Failing
Test R+W is the same as all permissions Failing
Test SET with read and write permissions Failing
Test SET with separate read permission Failing
Test SET with separate write permission Failing
Test basic dry run functionality Failing
Test basic multiple selectors Failing
Test behavior of loading ACLs Failing
Test deleting selectors Failing
Test flexible selector definition Failing
Test general keyspace commands require some type of permission to execute Failing
Test selector syntax error reports the error in the selector context Failing
Test separate read and write permissions Failing
Test separate read and write permissions on different selectors are not additive Failing
Test separate read permission Failing
Test separate write permission Failing
Test sharded channel permissions Failing
Test sort with ACL permissions Failing
Test various commands for command permissions Failing
Test various odd commands for key permissions Failing
Validate key permissions format - empty and omitted pattern Failing
Validate read and write permissions format Failing

Acl

0 / 110 passing (0.0%)
Test Status
ACL #5998 regression: memory leaks adding / removing subcommands Failing
ACL CAT category - list all commands/subcommands that belong to category Failing
ACL CAT with illegal arguments Failing
ACL CAT without category - list all categories Failing
ACL GENPASS command failed test Failing
ACL GETUSER is able to translate back command permissions Failing
ACL GETUSER provides correct results Failing
ACL GETUSER provides correct results when commands renamed Failing
ACL GETUSER provides reasonable results Failing
ACL GETUSER returns the password hash instead of the actual password Failing
ACL HELP should not have unexpected options Failing
ACL LOAD disconnects clients of deleted users Failing
ACL LOAD only disconnects affected clients Failing
ACL LOG RESET is able to flush the entries in the log Failing
ACL LOG aggregates similar errors together and assigns unique entry-id to new errors Failing
ACL LOG can accept a numerical argument to show less entries Failing
ACL LOG can distinguish the transaction context (1) Failing
ACL LOG can distinguish the transaction context (2) Failing
ACL LOG can log failed auth attempts Failing
ACL LOG entries are limited to a maximum amount Failing
ACL LOG entries are still present on update of max len config Failing
ACL LOG is able to log channel access violations and channel name Failing
ACL LOG is able to log keys access violations and key name Failing
ACL LOG is able to test similar events Failing
ACL LOG shows failed command executions at toplevel Failing
ACL LOG shows failed subcommand executions at toplevel Failing
ACL SETUSER RESET reverting to default newly created user Failing
ACL can log errors in the context of Lua scripting Failing
ACL command classes aren’t affected by command renaming Failing
ACL from config file and config rewrite Failing
ACL load and save Failing
ACL load and save with restricted channels Failing
ACL load non-existing configured ACL file Failing
ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO Failing
ACL still denies individual renamed commands Failing
ACL-Metrics invalid channels accesses Failing
ACL-Metrics invalid command accesses Failing
ACL-Metrics invalid key accesses Failing
ACL-Metrics user AUTH failure Failing
ACLLOG - zero max length is correctly handled Failing
ACLs can block SELECT of all but a specific DB Failing
ACLs can block all DEBUG subcommands except one Failing
ACLs can exclude single commands Failing
ACLs can exclude single subcommands, case 1 Failing
ACLs can exclude single subcommands, case 2 Failing
ACLs can include or exclude whole classes of commands Failing
ACLs can include single subcommands Failing
ACLs cannot exclude or include a container command with two args Failing
ACLs cannot exclude or include a container commands with a specific arg Failing
ACLs cannot include a subcommand with a specific arg Failing
ACLs including of a type includes also subcommands Failing
ACLs set can exclude subcommands, if already full command exists Failing
ACLs set can include subcommands, if already full command exists Failing
Alice: can execute all command Failing
Bob: just execute @set and acl command Failing
By default users are not able to access any command Failing
By default users are not able to access any key Failing
By default, only default user is able to publish to any channel Failing
By default, only default user is able to subscribe to any channel Failing
By default, only default user is able to subscribe to any pattern Failing
By default, only default user is able to subscribe to any shard channel Failing
By default, only default user is not able to publish to any shard channel Failing
Connections start with the default user Failing
Coverage: ACL USERS Failing
Default user can not be removed Failing
Default user has access to all channels irrespective of flag Failing
Delete a user that the client doesn’t use Failing
Delete a user that the client is using Failing
Enabling the user allows the login Failing
In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail Failing
It is possible to create new users Failing
It is possible to remove passwords from the set of valid ones Failing
It’s possible to allow publishing to a subset of channels Failing
It’s possible to allow publishing to a subset of shard channels Failing
It’s possible to allow subscribing to a subset of channel patterns Failing
It’s possible to allow subscribing to a subset of channels Failing
It’s possible to allow subscribing to a subset of shard channels Failing
It’s possible to allow the access of a subset of keys Failing
New users start disabled Failing
Only default user has access to all channels irrespective of flag Failing
Only the set of correct passwords work Failing
Single channel is not valid with allchannels Failing
Single channel is valid Failing
Subscribers are killed when revoked of allchannels permission Failing
Subscribers are killed when revoked of channel permission Failing
Subscribers are killed when revoked of pattern permission Failing
Subscribers are pardoned if literal permissions are retained and/or gaining allchannels Failing
Test ACL LOAD works on primary Failing
Test ACL LOAD works on replica Failing
Test hashed passwords removal Failing
Test loading an ACL file with duplicate default user Failing
Test loading an ACL file with duplicate users Failing
Test loading duplicate users in config on startup Failing
Test password hashes can be added Failing
Test password hashes validate input Failing
Update acl-pubsub-default, existing users shouldn’t get affected Failing
Usernames can not contain spaces or null characters Failing
Users can be configured to authenticate with any password Failing
Validate subset of channels is prefixed with resetchannels flag Failing
When a setname chain is used in the HELLO cmd, the last setname cmd has precedence Failing
When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence Failing
When authentication fails in the HELLO cmd, the client setname should not be applied Failing
When default user has no command permission, hello command still works for other users Failing
When default user is off, new connections are not authenticated Failing
blocked command gets rejected when reprocessed after permission change Failing
default: load from config file with all channels permissions Failing
default: load from config file, without channel permission default user can’t access any channels Failing
default: load from include file, can access any channels Failing
default: with config acl-pubsub-default allchannels after reset, can access any channels Failing
default: with config acl-pubsub-default resetchannels after reset, can not access any channels Failing

Aofrw

0 / 22 passing (0.0%)
Test Status
AOF rewrite during write load: RDB preamble=no Failing
AOF rewrite during write load: RDB preamble=yes Failing
AOF rewrite functions Failing
AOF rewrite of hash with hashtable encoding, int data Failing
AOF rewrite of hash with hashtable encoding, string data Failing
AOF rewrite of hash with listpack encoding, int data Failing
AOF rewrite of hash with listpack encoding, string data Failing
AOF rewrite of list with listpack encoding, int data Failing
AOF rewrite of list with listpack encoding, string data Failing
AOF rewrite of list with quicklist encoding, int data Failing
AOF rewrite of list with quicklist encoding, string data Failing
AOF rewrite of set with hashtable encoding, int data Failing
AOF rewrite of set with hashtable encoding, string data Failing
AOF rewrite of set with intset encoding, int data Failing
AOF rewrite of set with intset encoding, string data Failing
AOF rewrite of zset with listpack encoding, int data Failing
AOF rewrite of zset with listpack encoding, string data Failing
AOF rewrite of zset with skiplist encoding, int data Failing
AOF rewrite of zset with skiplist encoding, string data Failing
BGREWRITEAOF is delayed if BGSAVE is in progress Failing
BGREWRITEAOF is refused if already in progress Failing
Turning off AOF kills the background writing child if any Failing

Auth

0 / 13 passing (0.0%)
Test Status
AUTH fails if there is no password configured server side Failing
AUTH fails when a wrong password is given Failing
AUTH fails when binary password is wrong Failing
AUTH succeeds when binary password is correct Failing
AUTH succeeds when the right password is given Failing
Arbitrary command gives an error when AUTH is required Failing
Arity check for auth command Failing
For once authenticated clients output buffer is NOT limited Failing
For unauthenticated clients multibulk and bulk length are limited Failing
For unauthenticated clients output buffer is limited Failing
Once AUTH succeeded we can actually send commands to the server Failing
primaryauth test with binary password dualchannel = no Failing
primaryauth test with binary password dualchannel = yes Failing

Bitfield

0 / 22 passing (0.0%)
Test Status
BITFIELD #<idx> form Failing
BITFIELD basic INCRBY form Failing
BITFIELD chaining of multiple commands Failing
BITFIELD overflow detection fuzzing Failing
BITFIELD overflow wrap fuzzing Failing
BITFIELD regression for #3221 Failing
BITFIELD regression for #3564 Failing
BITFIELD signed SET and GET basics Failing
BITFIELD signed SET and GET together Failing
BITFIELD signed overflow sat Failing
BITFIELD signed overflow wrap Failing
BITFIELD unsigned SET and GET basics Failing
BITFIELD unsigned overflow sat Failing
BITFIELD unsigned overflow wrap Failing
BITFIELD unsigned with SET, GET and INCRBY arguments Failing
BITFIELD with only key as argument Failing
BITFIELD: setup slave Failing
BITFIELD: write on master, read on slave Failing
BITFIELD_RO fails when write option is used Failing
BITFIELD_RO fails when write option is used on read-only replica Failing
BITFIELD_RO with only key as argument Failing
BITFIELD_RO with only key as argument on read-only replica Failing

Bitops

0 / 52 passing (0.0%)
Test Status
BIT pos larger than UINT_MAX Failing
BITCOUNT against non-integer value Failing
BITCOUNT against test vector #1 Failing
BITCOUNT against test vector #2 Failing
BITCOUNT against test vector #3 Failing
BITCOUNT against test vector #4 Failing
BITCOUNT against test vector #5 Failing
BITCOUNT against wrong type Failing
BITCOUNT fuzzing with start/end Failing
BITCOUNT fuzzing without start/end Failing
BITCOUNT misaligned prefix Failing
BITCOUNT misaligned prefix + full words + remainder Failing
BITCOUNT regression test for github issue #582 Failing
BITCOUNT returns 0 against non existing key Failing
BITCOUNT returns 0 with negative indexes where start > end Failing
BITCOUNT returns 0 with out of range indexes Failing
BITCOUNT with illegal arguments Failing
BITCOUNT with just start Failing
BITCOUNT with start, end Failing
BITOP AND|OR|XOR don’t change the string with single input key Failing
BITOP NOT (empty string) Failing
BITOP NOT (known string) Failing
BITOP NOT fuzzing Failing
BITOP and fuzzing Failing
BITOP missing key is considered a stream of zero Failing
BITOP or fuzzing Failing
BITOP shorter keys are zero-padded to the key with max length Failing
BITOP where dest and target are the same key Failing
BITOP with empty string after non empty string (issue #529) Failing
BITOP with integer encoded source objects Failing
BITOP with non string source key Failing
BITOP xor fuzzing Failing
BITPOS against non-integer value Failing
BITPOS against wrong type Failing
BITPOS bit=0 changes behavior if end is given Failing
BITPOS bit=0 fuzzy testing using SETBIT Failing
BITPOS bit=0 starting at unaligned address Failing
BITPOS bit=0 unaligned+full word+reminder Failing
BITPOS bit=0 with empty key returns 0 Failing
BITPOS bit=0 with string less than 1 word works Failing
BITPOS bit=0 works with intervals Failing
BITPOS bit=1 fuzzy testing using SETBIT Failing
BITPOS bit=1 returns -1 if string is all 0 bits Failing
BITPOS bit=1 starting at unaligned address Failing
BITPOS bit=1 unaligned+full word+reminder Failing
BITPOS bit=1 with empty key returns -1 Failing
BITPOS bit=1 with string less than 1 word works Failing
BITPOS bit=1 works with intervals Failing
BITPOS will illegal arguments Failing
BITPOS/BITCOUNT fuzzy testing using SETBIT Failing
SETBIT values larger than UINT32_MAX and lzf_compress/lzf_decompress correctly Failing
SETBIT/BITFIELD only increase dirty when the value changed Failing

Client-eviction

0 / 17 passing (0.0%)
Test Status
avoid client eviction when client is freed by output buffer limit Failing
client evicted due to client tracking prefixes Failing
client evicted due to large argv Failing
client evicted due to large multi buf Failing
client evicted due to large query buf Failing
client evicted due to output buf Failing
client evicted due to percentage of maxmemory Failing
client evicted due to pubsub subscriptions Failing
client evicted due to tracking redirection Failing
client evicted due to watched key list Failing
client no-evict off Failing
client no-evict on Failing
client total memory grows during client no-evict Failing
client total memory grows during maxmemory-clients disabled Failing
decrease maxmemory-clients causes client eviction Failing
evict clients in right order (large to small) Failing
evict clients only until below limit Failing

Commandlog

0 / 20 passing (0.0%)
Test Status
COMMANDLOG - GET optional argument to limit output len works Failing
COMMANDLOG - RESET subcommand works Failing
COMMANDLOG - check that it starts with an empty log Failing
COMMANDLOG - logged entry sanity check Failing
COMMANDLOG - max entries is correctly handled Failing
COMMANDLOG - only logs commands exceeding the threshold Failing
COMMANDLOG - zero max length is correctly handled Failing
COMMANDLOG slow - Certain commands are omitted that contain sensitive information Failing
COMMANDLOG slow - EXEC is not logged, just executed commands Failing
COMMANDLOG slow - Rewritten commands are logged as their original command Failing
COMMANDLOG slow - Some commands can redact sensitive fields Failing
COMMANDLOG slow - blocking command is reported only after unblocked Failing
COMMANDLOG slow - can be disabled Failing
COMMANDLOG slow - can clean older entries Failing
COMMANDLOG slow - commands with too many arguments are trimmed Failing
COMMANDLOG slow - count must be >= -1 Failing
COMMANDLOG slow - get all slow logs Failing
COMMANDLOG slow - the commands in script are recorded normally - is_eval: 0 Failing
COMMANDLOG slow - the commands in script are recorded normally - is_eval: 1 Failing
COMMANDLOG slow - too long arguments are trimmed Failing

Dump

0 / 29 passing (0.0%)
Test Status
DUMP / RESTORE are able to serialize / unserialize a simple key Failing
DUMP of non existing key returns nil Failing
MIGRATE AUTH: correct and wrong password cases Failing
MIGRATE cached connections are released after some time Failing
MIGRATE can correctly transfer hashes Failing
MIGRATE can correctly transfer large values Failing
MIGRATE can migrate multiple keys at once Failing
MIGRATE is able to copy a key between two instances Failing
MIGRATE is able to migrate a key between two instances Failing
MIGRATE is caching connections Failing
MIGRATE propagates TTL correctly Failing
MIGRATE timeout actually works Failing
MIGRATE will not overwrite existing keys, unless REPLACE is used Failing
MIGRATE with multiple keys migrate just existing ones Failing
MIGRATE with multiple keys must have empty key arg Failing
MIGRATE with multiple keys: delete just ack keys Failing
MIGRATE with multiple keys: stress command rewriting Failing
RESTORE can detect a syntax error for unrecognized options Failing
RESTORE can overwrite an existing key with REPLACE Failing
RESTORE can set LFU Failing
RESTORE can set LRU Failing
RESTORE can set an absolute expire Failing
RESTORE can set an arbitrary expire to the materialized key Failing
RESTORE can set an expire that overflows a 32 bit integer Failing
RESTORE key with future RDB version, relaxed version check Failing
RESTORE key with future RDB version, strict version check Failing
RESTORE returns an error of the key already exists Failing
RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK Failing
RESTORE with ABSTTL in the past Failing

Expire

57 / 76 passing (75.0%)
Test Status
5 keys in, 5 keys out Passing
EXPIRE - After 2.1 seconds the key should no longer be here Passing
EXPIRE - It should be still possible to read ‘x’ Passing
EXPIRE - set timeouts multiple times Passing
EXPIRE - write on expire should work Passing
EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired Passing
EXPIRE precision is now the millisecond Passing
EXPIRE with GT option on a key with higher ttl Passing
EXPIRE with GT option on a key with lower ttl Passing
EXPIRE with GT option on a key without ttl Passing
EXPIRE with LT and XX option on a key with ttl Passing
EXPIRE with LT and XX option on a key without ttl Passing
EXPIRE with LT option on a key with higher ttl Passing
EXPIRE with LT option on a key with lower ttl Passing
EXPIRE with LT option on a key without ttl Passing
EXPIRE with NX option on a key with ttl Passing
EXPIRE with NX option on a key without ttl Passing
EXPIRE with XX option on a key with ttl Passing
EXPIRE with XX option on a key without ttl Passing
EXPIRE with big integer overflows when converted to milliseconds Passing
EXPIRE with big negative integer Passing
EXPIRE with conflicting options: LT GT Passing
EXPIRE with conflicting options: NX GT Passing
EXPIRE with conflicting options: NX LT Passing
EXPIRE with conflicting options: NX XX Passing
EXPIRE with empty string as TTL should report an error Passing
EXPIRE with negative expiry Passing
EXPIRE with negative expiry on a non-valitale key Passing
EXPIRE with non-existed key Passing
EXPIRE with unsupported options Passing
EXPIREAT - Check for EXPIRE alike behavior Passing
EXPIRETIME returns absolute expiration time in seconds Passing
GETEX use of PERSIST option should remove TTL Passing
GETEX with big integer should report an error Passing
GETEX with smallest integer should report an error Passing
PERSIST can undo an EXPIRE Passing
PERSIST returns 0 against non existing or non volatile keys Passing
PEXPIRE can set sub-second expires Passing
PEXPIRE with big integer overflow when basetime is added Passing
PEXPIREAT can set sub-second expires Passing
PEXPIREAT with big integer works Passing
PEXPIREAT with big negative integer works Passing
PEXPIRETIME returns absolute expiration time in milliseconds Passing
PSETEX can set sub-second expires Passing
PTTL returns time to live in milliseconds Passing
SET - use KEEPTTL option, TTL should not be removed Passing
SET command will remove expire Passing
SET with EX with big integer should report an error Passing
SET with EX with smallest integer should report an error Passing
SETEX - Check value Passing
SETEX - Overwrite old key Passing
SETEX - Set + Expire combo operation. Check for TTL Passing
SETEX - Wait for the key to expire Passing
SETEX - Wrong time parameter Passing
TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire Passing
TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit Passing
TTL returns time to live in seconds Passing
Active expiration triggers hashtable shrink Failing
All TTL in commands are propagated as absolute timestamp in replication stream Failing
All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF Failing
Client can visit expired key in import-source state Failing
EXPIRE should not resurrect keys (issue #1026) Failing
First server should have role slave after REPLICAOF Failing
For all replicated TTL-related commands, absolute expire times are identical on primary and replica Failing
GETEX propagate as to replica as PERSIST, UNLINK, or nothing Failing
GETEX use of PERSIST option should remove TTL after loadaof Failing
Import mode should forbid active expiration Failing
Import mode should forbid lazy expiration Failing
RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC Failing
SCAN: Lazy-expire should not be wrapped in MULTI/EXEC Failing
SET - use KEEPTTL option, TTL should not be removed after loadaof Failing
Server should actively expire keys incrementally Failing
Server should lazy expire keys Failing
Server should not propagate the read command on lazy expire Failing
expired key which is created in writeable replicas should be deleted by active expiry Failing
import-source can be closed when import-mode is off Failing

Functions

0 / 110 passing (0.0%)
Test Status
Connect a replica to the master instance Failing
Disconnecting the replica from master instance Failing
FUNCTION - Basic usage Failing
FUNCTION - Create a library with wrong name format Failing
FUNCTION - Create an already exiting library raise error Failing
FUNCTION - Create an already exiting library raise error (case insensitive) Failing
FUNCTION - Create library with unexisting engine Failing
FUNCTION - Load with unknown argument Failing
FUNCTION - Test uncompiled script Failing
FUNCTION - allow stale Failing
FUNCTION - call on replica Failing
FUNCTION - create on read only replica Failing
FUNCTION - creation is replicated to replica Failing
FUNCTION - delete is replicated to replica Failing
FUNCTION - delete on read only replica Failing
FUNCTION - deny oom Failing
FUNCTION - deny oom on no-writes function Failing
FUNCTION - flush is replicated to replica Failing
FUNCTION - function effect is replicated to replica Failing
FUNCTION - function stats Failing
FUNCTION - function stats cleaned after flush Failing
FUNCTION - function stats delete library Failing
FUNCTION - function stats reloaded correctly from rdb Failing
FUNCTION - function test empty engine Failing
FUNCTION - function test multiple names Failing
FUNCTION - function test name with quotes Failing
FUNCTION - function test no name Failing
FUNCTION - function test unknown metadata value Failing
FUNCTION - modify key space of read only replica Failing
FUNCTION - restore is replicated to replica Failing
FUNCTION - test command get keys on fcall Failing
FUNCTION - test command get keys on fcall_ro Failing
FUNCTION - test debug reload different options Failing
FUNCTION - test debug reload with nosave and noflush Failing
FUNCTION - test delete on not exiting library Failing
FUNCTION - test fcall bad arguments Failing
FUNCTION - test fcall bad number of keys arguments Failing
FUNCTION - test fcall negative number of keys Failing
FUNCTION - test fcall_ro with read only commands Failing
FUNCTION - test fcall_ro with write command Failing
FUNCTION - test flushall and flushdb do not clean functions Failing
FUNCTION - test function case insensitive Failing
FUNCTION - test function delete Failing
FUNCTION - test function dump and restore Failing
FUNCTION - test function dump and restore with append argument Failing
FUNCTION - test function dump and restore with flush argument Failing
FUNCTION - test function dump and restore with replace argument Failing
FUNCTION - test function flush Failing
FUNCTION - test function kill Failing
FUNCTION - test function kill not working on eval Failing
FUNCTION - test function kill when function is not running Failing
FUNCTION - test function list libraryname multiple times Failing
FUNCTION - test function list with bad argument to library name Failing
FUNCTION - test function list with code Failing
FUNCTION - test function list with pattern Failing
FUNCTION - test function list withcode multiple times Failing
FUNCTION - test function list wrong argument Failing
FUNCTION - test function restore with bad payload do not drop existing functions Failing
FUNCTION - test function restore with function name collision Failing
FUNCTION - test function restore with wrong number of arguments Failing
FUNCTION - test function stats on loading failure Failing
FUNCTION - test function wrong argument Failing
FUNCTION - test getmetatable on script load Failing
FUNCTION - test keys and argv Failing
FUNCTION - test loading from rdb Failing
FUNCTION - test replace argument Failing
FUNCTION - test replace argument with failure keeps old libraries Failing
FUNCTION - test replication to replica on rdb phase Failing
FUNCTION - test replication to replica on rdb phase info command Failing
FUNCTION - test script kill not working on function Failing
FUNCTION - test wrong subcommand Failing
FUNCTION - trick global protection 1 Failing
FUNCTION - unknown flag Failing
FUNCTION - valkey version api Failing
FUNCTION - verify OOM on function load and function restore Failing
FUNCTION - verify allow-omm allows running any command Failing
FUNCTION - write script on fcall_ro Failing
FUNCTION - write script with no-writes flag Failing
FUNCTION - wrong flag type Failing
FUNCTION - wrong flags type named arguments Failing
FUNCTION can processes create, delete and flush commands in AOF when doing “debug loadaof” in read-only slaves Failing
LIBRARIES - delete removed all functions on library Failing
LIBRARIES - load timeout Failing
LIBRARIES - malicious access test Failing
LIBRARIES - math.random from function load Failing
LIBRARIES - named arguments Failing
LIBRARIES - named arguments, bad callback type Failing
LIBRARIES - named arguments, bad description Failing
LIBRARIES - named arguments, bad function name Failing
LIBRARIES - named arguments, missing callback Failing
LIBRARIES - named arguments, missing function name Failing
LIBRARIES - named arguments, unknown argument Failing
LIBRARIES - redis.acl_check_cmd from function load Failing
LIBRARIES - redis.call from function load Failing
LIBRARIES - redis.set_repl from function load Failing
LIBRARIES - redis.setresp from function load Failing
LIBRARIES - register function inside a function Failing
LIBRARIES - register library with no functions Failing
LIBRARIES - test registration failure revert the entire load Failing
LIBRARIES - test registration function name collision Failing
LIBRARIES - test registration function name collision on same library Failing
LIBRARIES - test registration with empty name Failing
LIBRARIES - test registration with no argument Failing
LIBRARIES - test registration with no string name Failing
LIBRARIES - test registration with only name Failing
LIBRARIES - test registration with to many arguments Failing
LIBRARIES - test registration with wrong name format Failing
LIBRARIES - test shared function can access default globals Failing
LIBRARIES - usage and code sharing Failing
LIBRARIES - verify global protection on the load run Failing

Geo

0 / 64 passing (0.0%)
Test Status
Check geoset values Failing
GEO BYLONLAT with empty search Failing
GEO BYMEMBER with non existing member Failing
GEO with non existing src key Failing
GEO with wrong type src key Failing
GEOADD create Failing
GEOADD invalid coordinates Failing
GEOADD multi add Failing
GEOADD update Failing
GEOADD update with CH NX option Failing
GEOADD update with CH XX option Failing
GEOADD update with CH option Failing
GEOADD update with NX option Failing
GEOADD update with XX NX option will return syntax error Failing
GEOADD update with XX option Failing
GEOADD update with invalid option Failing
GEODIST missing elements Failing
GEODIST simple & unit Failing
GEOHASH is able to return geohash strings Failing
GEOHASH with only key as argument Failing
GEOPOS missing element Failing
GEOPOS simple Failing
GEOPOS with only key as argument Failing
GEORADIUS HUGE, issue #2767 Failing
GEORADIUS STORE option: syntax error Failing
GEORADIUS simple (sorted) Failing
GEORADIUS with ANY but no COUNT Failing
GEORADIUS with ANY not sorted by default Failing
GEORADIUS with ANY sorted by ASC Failing
GEORADIUS with COUNT Failing
GEORADIUS with COUNT DESC Failing
GEORADIUS with COUNT but missing integer argument Failing
GEORADIUS with multiple WITH* tokens Failing
GEORADIUS withdist (sorted) Failing
GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage Failing
GEORADIUSBYMEMBER crossing pole search Failing
GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction Failing
GEORADIUSBYMEMBER simple (sorted) Failing
GEORADIUSBYMEMBER withdist (sorted) Failing
GEORADIUSBYMEMBER_RO simple (sorted) Failing
GEORADIUS_RO simple (sorted) Failing
GEORANGE STORE option: incompatible options Failing
GEORANGE STORE option: plain usage Failing
GEORANGE STOREDIST option: COUNT ASC and DESC Failing
GEORANGE STOREDIST option: plain usage Failing
GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time Failing
GEOSEARCH BYRADIUS and BYBOX one must exist Failing
GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time Failing
GEOSEARCH FROMLONLAT and FROMMEMBER one must exist Failing
GEOSEARCH FROMMEMBER simple (sorted) Failing
GEOSEARCH box edges fuzzy test Failing
GEOSEARCH corner point test Failing
GEOSEARCH fuzzy test - bybox Failing
GEOSEARCH fuzzy test - byradius Failing
GEOSEARCH non square, long and narrow Failing
GEOSEARCH simple (sorted) Failing
GEOSEARCH the box spans -180° or 180° Failing
GEOSEARCH vs GEORADIUS Failing
GEOSEARCH with STOREDIST option Failing
GEOSEARCH with small distance Failing
GEOSEARCH withdist (sorted) Failing
GEOSEARCHSTORE STORE option: plain usage Failing
GEOSEARCHSTORE STORE option: syntax error Failing
GEOSEARCHSTORE STOREDIST option: plain usage Failing

Hyperloglog

0 / 27 passing (0.0%)
Test Status
Approximated cardinality after creation is zero Failing
CVE-2025-32023: Sparse HLL XZERO overflow triggers crash Failing
Change hll-sparse-max-bytes Failing
Corrupted dense HyperLogLogs are detected: Wrong length Failing
Corrupted sparse HyperLogLogs are detected: Additional at tail Failing
Corrupted sparse HyperLogLogs are detected: Broken magic Failing
Corrupted sparse HyperLogLogs are detected: Invalid encoding Failing
Fuzzing dense/sparse encoding: Server should always detect errors Failing
HyperLogLog self test passes Failing
HyperLogLog sparse encoding stress test Failing
HyperLogLogs are promote from sparse to dense Failing
Hyperloglog promote to dense well in different hll-sparse-max-bytes Failing
PFADD / PFCOUNT cache invalidation works Failing
PFADD returns 0 when no reg was modified Failing
PFADD returns 1 when at least 1 reg was modified Failing
PFADD without arguments creates an HLL value Failing
PFADD works with empty string (regression) Failing
PFADD, PFCOUNT, PFMERGE type checking works Failing
PFCOUNT multiple-keys merge returns cardinality of union #1 Failing
PFCOUNT multiple-keys merge returns cardinality of union #2 Failing
PFCOUNT returns approximated cardinality of set Failing
PFDEBUG GETREG returns the HyperLogLog raw registers Failing
PFMERGE on missing source keys will create an empty destkey Failing
PFMERGE results on the cardinality of union of sets Failing
PFMERGE results with simd Failing
PFMERGE with one empty input key, create an empty destkey Failing
PFMERGE with one non-empty input key, dest key is actually one of the source keys Failing

Info-command

0 / 4 passing (0.0%)
Test Status
Extract version and sha1 details from info command and print Failing
info command with at most one sub command Failing
info command with multiple sub-sections Failing
info command with one sub-section Failing

Info

0 / 25 passing (0.0%)
Test Status
clients: pubsub clients Failing
clients: watching clients Failing
errorstats: blocking commands Failing
errorstats: failed call NOGROUP error Failing
errorstats: failed call NOSCRIPT error Failing
errorstats: failed call authentication error Failing
errorstats: failed call within LUA Failing
errorstats: failed call within MULTI/EXEC Failing
errorstats: limit errors will not increase indefinitely Failing
errorstats: rejected call by OOM error Failing
errorstats: rejected call by authorization error Failing
errorstats: rejected call due to wrong arity Failing
errorstats: rejected call unknown command Failing
errorstats: rejected call within MULTI/EXEC Failing
latencystats: bad configure percentiles Failing
latencystats: blocking commands Failing
latencystats: configure percentiles Failing
latencystats: disable/enable Failing
latencystats: measure latency Failing
latencystats: subcommands Failing
memory: database and pubsub overhead and rehashing dict count Failing
stats: client input and output buffer limit disconnections Failing
stats: debug metrics Failing
stats: eventloop metrics Failing
stats: instantaneous metrics Failing

Introspection-2

0 / 47 passing (0.0%)
Test Status
BITFIELD command will not be marked with movablekeys Failing
BLPOP command will not be marked with movablekeys Failing
COMMAND COUNT get total number of commands Failing
COMMAND GETKEYS EVAL with keys Failing
COMMAND GETKEYS EVAL without keys Failing
COMMAND GETKEYS GET Failing
COMMAND GETKEYS LCS Failing
COMMAND GETKEYS MEMORY USAGE Failing
COMMAND GETKEYS MORE THAN 256 KEYS Failing
COMMAND GETKEYS XGROUP Failing
COMMAND GETKEYSANDFLAGS Failing
COMMAND INFO of invalid subcommands Failing
COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands Failing
COMMAND LIST FILTERBY ACLCAT against non existing category Failing
COMMAND LIST FILTERBY MODULE against non existing module Failing
COMMAND LIST FILTERBY PATTERN - list all commands/subcommands Failing
COMMAND LIST WITHOUT FILTERBY Failing
COMMAND LIST syntax error Failing
EVAL command is marked with movablekeys Failing
GEORADIUS command is marked with movablekeys Failing
GEORADIUS_RO command will not be marked with movablekeys Failing
GET command will not be marked with movablekeys Failing
LMOVE command will not be marked with movablekeys Failing
LPOP command will not be marked with movablekeys Failing
MEMORY command will not be marked with movablekeys Failing
MEMORY|USAGE command will not be marked with movablekeys Failing
MIGRATE command is marked with movablekeys Failing
MSET command will not be marked with movablekeys Failing
Operations in no-touch mode do not alter the last access time of a key Failing
PING command will not be marked with movablekeys Failing
RENAME command will not be marked with movablekeys Failing
SET command will not be marked with movablekeys Failing
SORT command is marked with movablekeys Failing
SORT_RO command is marked with movablekeys Failing
TOUCH alters the last access time of a key Failing
TOUCH alters the last access time of a key in no-touch mode Failing
TOUCH returns the number of existing keys specified Failing
TTL, TYPE and EXISTS do not alter the last access time of a key Failing
The microsecond part of the TIME command will not overflow Failing
XREAD command is marked with movablekeys Failing
ZUNIONSTORE command is marked with movablekeys Failing
command stats for BRPOP Failing
command stats for EXPIRE Failing
command stats for GEOADD Failing
command stats for MULTI Failing
command stats for scripts Failing
errors stats for GEOADD Failing

Introspection

0 / 67 passing (0.0%)
Test Status
After CLIENT SETNAME, connection can still be closed Failing
CLIENT GETNAME check if name set correctly Failing
CLIENT GETNAME should return NIL if name is not assigned Failing
CLIENT INFO Failing
CLIENT KILL SKIPME YES/NO will kill all clients Failing
CLIENT KILL close the client connection during bgsave Failing
CLIENT KILL maxAGE will kill old clients Failing
CLIENT KILL with illegal arguments Failing
CLIENT LIST Failing
CLIENT LIST shows empty fields for unassigned names Failing
CLIENT LIST with ADDR filter Failing
CLIENT LIST with IDs Failing
CLIENT LIST with LADDR filter Failing
CLIENT LIST with MAXAGE filter Failing
CLIENT LIST with SKIPME filter Failing
CLIENT LIST with TYPE filter Failing
CLIENT LIST with USER filter Failing
CLIENT LIST with filters matching no clients Failing
CLIENT LIST with illegal arguments Failing
CLIENT LIST with multiple IDs and TYPE filter Failing
CLIENT REPLY OFF/ON: disable all commands reply Failing
CLIENT REPLY ON: unset SKIP flag Failing
CLIENT REPLY SKIP: skip the next command reply Failing
CLIENT SETINFO can clear library name Failing
CLIENT SETINFO can set a library name to this connection Failing
CLIENT SETINFO invalid args Failing
CLIENT SETNAME can assign a name to this connection Failing
CLIENT SETNAME can change the name of an existing connection Failing
CLIENT SETNAME does not accept spaces Failing
CLIENT command unhappy path coverage Failing
CONFIG GET hidden configs Failing
CONFIG GET multiple args Failing
CONFIG REWRITE handles alias config properly Failing
CONFIG REWRITE handles rename-command properly Failing
CONFIG REWRITE handles save and shutdown properly Failing
CONFIG REWRITE sanity Failing
CONFIG SET duplicate configs Failing
CONFIG SET rollback on apply error Failing
CONFIG SET rollback on set error Failing
CONFIG SET set immutable Failing
CONFIG SET with multiple args Failing
CONFIG sanity Failing
CONFIG save params special case handled properly Failing
MEMORY commands during loading Failing
MONITOR can log commands issued by functions Failing
MONITOR can log commands issued by the scripting engine Failing
MONITOR can log executed commands Failing
MONITOR correctly handles multi-exec cases Failing
MONITOR correctly records SET EX in MULTI-EXEC Failing
MONITOR log blocked command only once Failing
MONITOR properly escapes special characters through sdscatrepr Failing
MONITOR supports redacting command arguments Failing
PING Failing
RESET does NOT clean library name Failing
cannot modify protected configuration - local Failing
cannot modify protected configuration - no Failing
client input output and command process statistics Failing
config during loading Failing
tot-net-out for replica client Failing
valkey-server command line arguments - allow option value to use the -- prefix Failing
valkey-server command line arguments - allow passing option name and option value in the same arg Failing
valkey-server command line arguments - dir multiple times Failing
valkey-server command line arguments - error cases Failing
valkey-server command line arguments - option name and option value in the same arg and -- prefix Failing
valkey-server command line arguments - save with empty input Failing
valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing Failing
valkey-server command line arguments - wrong usage that we support anyway Failing

Keyspace

14 / 58 passing (24.1%)
Test Status
DBSIZE Passing
DEL against a single item Passing
DEL all keys Passing
EXISTS Passing
KEYS * two times with long key, Github issue #1208 Passing
KEYS to get all keys Passing
KEYS with empty DB Passing
KEYS with hashtag Passing
KEYS with pattern Passing
RANDOMKEY Passing
RANDOMKEY against empty DB Passing
RANDOMKEY regression 1 Passing
Vararg DEL Passing
Zero length value in key. SET/GET/EXISTS Passing
COPY basic usage for $type set Failing
COPY basic usage for hashtable hash Failing
COPY basic usage for list - listpack Failing
COPY basic usage for list - quicklist Failing
COPY basic usage for listpack hash Failing
COPY basic usage for listpack sorted set Failing
COPY basic usage for skiplist sorted set Failing
COPY basic usage for stream Failing
COPY basic usage for stream-cgroups Failing
COPY basic usage for string Failing
COPY can copy key expire metadata as well Failing
COPY does not create an expire if it does not exist Failing
COPY for string can replace an existing key with REPLACE option Failing
COPY for string does not copy data to no-integer DB Failing
COPY for string does not replace an existing key without REPLACE option Failing
COPY for string ensures that copied data is independent of copying data Failing
Commands pipelining Failing
Coverage: SWAPDB and FLUSHDB Failing
Coverage: basic SWAPDB test and unhappy path Failing
DEL against expired key Failing
DEL all keys again (DB 0) Failing
DEL all keys again (DB 1) Failing
MOVE against key existing in the target DB Failing
MOVE against non-integer DB (#1428) Failing
MOVE basic usage Failing
MOVE can move key expire metadata as well Failing
MOVE does not create an expire if it does not exist Failing
Non existing command Failing
RENAME against already existing key Failing
RENAME against non existing source key Failing
RENAME basic usage Failing
RENAME source key should no longer exist Failing
RENAME where source and dest key are the same (existing) Failing
RENAME where source and dest key are the same (non existing) Failing
RENAME with volatile key, should move the TTL as well Failing
RENAME with volatile key, should not inherit TTL of target key Failing
RENAMENX against already existing key Failing
RENAMENX against already existing key (2) Failing
RENAMENX basic usage Failing
RENAMENX where source and dest key are the same (existing) Failing
Regression for pattern matching long nested loops Failing
Regression for pattern matching very long nested loops Failing
SET/GET keys in different DBs Failing
Untagged multi-key commands Failing

Latency-monitor

0 / 15 passing (0.0%)
Test Status
LATENCY DOCTOR produces some output Failing
LATENCY GRAPH can output the event graph Failing
LATENCY HELP should not have unexpected options Failing
LATENCY HISTOGRAM all commands Failing
LATENCY HISTOGRAM command Failing
LATENCY HISTOGRAM sub commands Failing
LATENCY HISTOGRAM with a subset of commands Failing
LATENCY HISTOGRAM with empty histogram Failing
LATENCY HISTOGRAM with wrong command name skips the invalid one Failing
LATENCY HISTORY / RESET with wrong event name is fine Failing
LATENCY HISTORY output is ok Failing
LATENCY LATEST output is ok Failing
LATENCY RESET is able to reset events Failing
LATENCY of expire events are correctly collected Failing
Test latency events logging Failing

Lazyfree

0 / 4 passing (0.0%)
Test Status
FLUSHDB ASYNC can reclaim memory in background Failing
UNLINK can reclaim memory in background Failing
lazy free a stream with all types of metadata Failing
lazy free a stream with deleted cgroup Failing

Limits

0 / 1 passing (0.0%)
Test Status
Check if maxclients works refusing connections Failing

Maxmemory

0 / 30 passing (0.0%)
Test Status
Don’t rehash if used memory exceeds maxmemory after rehash Failing
Import mode should forbid eviction Failing
client tracking don’t cause eviction feedback loop Failing
eviction due to input buffer of a dead client, client eviction: false Failing
eviction due to input buffer of a dead client, client eviction: true Failing
eviction due to output buffers of many MGET clients, client eviction: false Failing
eviction due to output buffers of many MGET clients, client eviction: true Failing
eviction due to output buffers of pubsub, client eviction: false Failing
eviction due to output buffers of pubsub, client eviction: true Failing
lru/lfu value of the key just added Failing
maxmemory - is the memory limit honoured? (policy allkeys-lfu) Failing
maxmemory - is the memory limit honoured? (policy allkeys-lru) Failing
maxmemory - is the memory limit honoured? (policy allkeys-random) Failing
maxmemory - is the memory limit honoured? (policy volatile-lfu) Failing
maxmemory - is the memory limit honoured? (policy volatile-lru) Failing
maxmemory - is the memory limit honoured? (policy volatile-random) Failing
maxmemory - is the memory limit honoured? (policy volatile-ttl) Failing
maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) Failing
maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) Failing
maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) Failing
maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) Failing
maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) Failing
maxmemory - policy volatile-lfu should only remove volatile keys. Failing
maxmemory - policy volatile-lru should only remove volatile keys. Failing
maxmemory - policy volatile-random should only remove volatile keys. Failing
maxmemory - policy volatile-ttl should only remove volatile keys. Failing
propagation with eviction Failing
propagation with eviction in MULTI Failing
replica buffer don’t induce eviction Failing
slave buffer are counted correctly Failing

Memefficiency

0 / 5 passing (0.0%)
Test Status
Memory efficiency with values in range 1024 Failing
Memory efficiency with values in range 128 Failing
Memory efficiency with values in range 16384 Failing
Memory efficiency with values in range 32 Failing
Memory efficiency with values in range 64 Failing

Multi

0 / 64 passing (0.0%)
Test Status
AUTH errored inside MULTI will add the reply Failing
After failed EXEC key is no longer watched Failing
After successful EXEC key is no longer watched Failing
Blocking commands ignores the timeout Failing
DISCARD Failing
DISCARD should UNWATCH all the keys Failing
DISCARD should clear the WATCH dirty flag on the client Failing
DISCARD should not fail during OOM Failing
Delete WATCHed stale keys should not fail EXEC Failing
EXEC and script timeout Failing
EXEC fail on WATCHed key modified (1 key of 1 watched) Failing
EXEC fail on WATCHed key modified (1 key of 5 watched) Failing
EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty Failing
EXEC fail on lazy expired WATCHed key Failing
EXEC fails if there are errors while queueing commands #1 Failing
EXEC fails if there are errors while queueing commands #2 Failing
EXEC with at least one use-memory command should fail Failing
EXEC with only read commands should not be rejected when OOM Failing
EXEC works on WATCHed key not modified Failing
FLUSHALL does not touch non affected keys Failing
FLUSHALL is able to touch the watched keys Failing
FLUSHDB does not touch non affected keys Failing
FLUSHDB is able to touch the watched keys Failing
FLUSHDB while watching stale keys should not fail EXEC Failing
Flushall while watching several keys by one client Failing
If EXEC aborts, the client MULTI state is cleared Failing
It is possible to UNWATCH Failing
MULTI / EXEC basics Failing
MULTI / EXEC is not propagated (single write command) Failing
MULTI / EXEC is propagated correctly (empty transaction) Failing
MULTI / EXEC is propagated correctly (multiple commands with SELECT) Failing
MULTI / EXEC is propagated correctly (multiple commands) Failing
MULTI / EXEC is propagated correctly (read-only commands) Failing
MULTI / EXEC is propagated correctly (write command, no effect) Failing
MULTI / EXEC with REPLICAOF Failing
MULTI and script timeout Failing
MULTI propagation of EVAL Failing
MULTI propagation of PUBLISH Failing
MULTI propagation of SCRIPT FLUSH Failing
MULTI propagation of SCRIPT LOAD Failing
MULTI propagation of XREADGROUP Failing
MULTI where commands alter argc/argv Failing
MULTI with BGREWRITEAOF Failing
MULTI with FLUSHALL and AOF Failing
MULTI with SAVE Failing
MULTI with SHUTDOWN Failing
MULTI with config error Failing
MULTI with config set appendonly Failing
MULTI-EXEC body and script timeout Failing
Nested MULTI are not allowed Failing
SWAPDB does not touch non-existing key replaced with stale key Failing
SWAPDB does not touch stale key replaced with another stale key Failing
SWAPDB does not touch watched stale keys Failing
SWAPDB is able to touch the watched keys that do not exist Failing
SWAPDB is able to touch the watched keys that exist Failing
UNWATCH when there is nothing watched works as expected Failing
WATCH inside MULTI is not allowed Failing
WATCH is able to remember the DB a key belongs to Failing
WATCH stale keys should not fail EXEC Failing
WATCH will consider touched expired keys Failing
WATCH will consider touched keys target of EXPIRE Failing
exec with read commands and stale replica state change Failing
exec with write commands and state change Failing
just EXEC and script timeout Failing

Networking

0 / 9 passing (0.0%)
Test Status
CONFIG SET bind address Failing
CONFIG SET bind-source-addr Failing
CONFIG SET port number Failing
Default bind address configuration handling Failing
Protected mode works as expected Failing
no prefetch when the batch size is set to 0 Failing
prefetch works as expected when changing the batch size while executing the commands batch Failing
prefetch works as expected when killing a client from the middle of prefetch commands batch Failing
replicas writes are offloaded to IO threads Failing

Obuf-limits

0 / 9 passing (0.0%)
Test Status
CONFIG SET client-output-buffer-limit Failing
Client output buffer hard limit is enforced Failing
Client output buffer soft limit is enforced if time is overreached Failing
Client output buffer soft limit is not enforced too early and is enforced when no traffic Failing
Execute transactions completely even if client output buffer limit is enforced Failing
No response for multi commands in pipeline if client output buffer limit is enforced Failing
No response for single command if client output buffer hard limit is enforced Failing
Obuf limit, HRANDFIELD with huge count stopped mid-run Failing
Obuf limit, KEYS stopped mid-run Failing

Other

1 / 33 passing (3.0%)
Test Status
RESET clears Pub/Sub state Passing
APPEND basics Failing
APPEND basics, integer encoded values Failing
APPEND fuzzing Failing
BGSAVE Failing
Check consistency of different data types after a reload Failing
Coverage: ECHO Failing
Coverage: HELP commands Failing
Coverage: MEMORY MALLOC-STATS Failing
Coverage: MEMORY PURGE Failing
Don’t rehash if server has child process Failing
EXPIRES after AOF reload (without rewrite) Failing
EXPIRES after a reload (snapshot + append only file rewrite) Failing
Extended Redis Compatibility config Failing
FLUSHALL should not reset the dirty counter if we disable save Failing
FLUSHALL should reset the dirty counter to 0 if we enable save Failing
FLUSHDB Failing
FUZZ stresser with data model alpha Failing
FUZZ stresser with data model binary Failing
FUZZ stresser with data model compr Failing
PIPELINING stresser (also a regression for the old epoll bug) Failing
Perform a final SAVE to leave a clean DB on disk Failing
Process title set as expected Failing
RESET clears MONITOR state Failing
RESET clears and discards MULTI state Failing
RESET clears authenticated state Failing
RESET clears client state Failing
SAVE - make sure there are all the types as values Failing
SELECT an out of range DB Failing
Same dataset digest if saving/reloading as AOF? Failing
Server can resize empty dict Failing
Subcommand syntax error crash (issue #10070) Failing
test unixsocket options are set correctly Failing

Pause

0 / 22 passing (0.0%)
Test Status
CLIENT UNBLOCK is not allow to unblock client blocked by CLIENT PAUSE Failing
Test RO scripts are not blocked by pause RO Failing
Test both active and passive expires are skipped during client pause Failing
Test check paused info in info clients Failing
Test clients with syntax errors will get responses immediately Failing
Test eviction is skipped during client pause Failing
Test may-replicate commands are rejected in RO scripts Failing
Test multiple clients can be queued up and unblocked Failing
Test new pause time is smaller than old one, then old time preserved Failing
Test old pause-all takes precedence over new pause-write (less restrictive) Failing
Test read commands are not blocked by client pause Failing
Test read-only scripts in multi-exec are not blocked by pause RO Failing
Test read/admin multi-execs are not blocked by pause RO Failing
Test replica offset would grow after unpause Failing
Test scripts are blocked by pause RO Failing
Test special commands are paused by RO Failing
Test that client pause starts at the end of a transaction Failing
Test the randomkey command will not cause the server to get into an infinite loop during the client pause write Failing
Test when replica paused, offset would not grow Failing
Test write commands are paused by RO Failing
Test write multi-execs are blocked by pause RO Failing
Test write scripts in multi-exec are blocked by pause RO Failing

Protocol

0 / 28 passing (0.0%)
Test Status
Generic wrong number of args Failing
HELLO and availability-zone Failing
HELLO without protover Failing
Handle an empty query Failing
Multi bulk request not followed by bulk arguments Failing
Negative multibulk length Failing
Negative multibulk payload length Failing
Non-number multibulk payload length Failing
Out of range multibulk length Failing
Out of range multibulk payload length Failing
Protocol desync regression test #1 Failing
Protocol desync regression test #2 Failing
Protocol desync regression test #3 Failing
Protocol desync regression test #4 Failing
RESP3 attributes Failing
RESP3 attributes on RESP2 Failing
RESP3 attributes readraw Failing
Regression for a crash with blocking ops and pipelining Failing
Unbalanced number of quotes Failing
Wrong multibulk payload header Failing
raw protocol response Failing
raw protocol response - deferred Failing
raw protocol response - multiline Failing
test argument rewriting - issue 9598 Failing
test big number parsing Failing
test bool parsing Failing
test large number of args Failing
test verbatim str parsing Failing

Pubsub

15 / 16 in-scope passing (93.8%) · 19 out of scope
Test Status
Mix SUBSCRIBE and PSUBSCRIBE Passing
NUMPATs returns the number of unique patterns Passing
NUMSUB returns numbers, not strings (#1561) Passing
PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments Passing
PUBLISH/PSUBSCRIBE basics Passing
PUBLISH/PSUBSCRIBE with two clients Passing
PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments Passing
PUBLISH/SUBSCRIBE basics Passing
PUBLISH/SUBSCRIBE with two clients Passing
PUNSUBSCRIBE and UNSUBSCRIBE should always reply Passing
PUNSUBSCRIBE from non-subscribed channels Passing
Pub/Sub PING on RESP2 Passing
PubSub messages with CLIENT REPLY OFF Passing
SUBSCRIBE to one channel more than once Passing
UNSUBSCRIBE from non-subscribed channels Passing
Pub/Sub PING on RESP3 Failing
Keyspace notification: expired event (Expiration time is already expired) Out of scope
Keyspace notifications: evicted events Out of scope
Keyspace notifications: expired events (background expire) Out of scope
Keyspace notifications: expired events (triggered expire) Out of scope
Keyspace notifications: general events test Out of scope
Keyspace notifications: hash events test Out of scope
Keyspace notifications: list events test Out of scope
Keyspace notifications: new key test Out of scope
Keyspace notifications: set events test Out of scope
Keyspace notifications: stream events test Out of scope
Keyspace notifications: test CONFIG GET/SET of event flags Out of scope
Keyspace notifications: we are able to mask events Out of scope
Keyspace notifications: we can receive both kind of events Out of scope
Keyspace notifications: we receive keyevent notifications Out of scope
Keyspace notifications: we receive keyspace notifications Out of scope
Keyspace notifications: zset events test Out of scope
publish to self inside multi Out of scope
publish to self inside script Out of scope
unsubscribe inside multi, and publish to self Out of scope

Pubsubshard

0 / 0 in-scope passing (0.0%) · 10 out of scope
Test Status
PUBSUB command basics Out of scope
PubSubShard with CLIENT REPLY OFF Out of scope
SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments Out of scope
SPUBLISH/SSUBSCRIBE basics Out of scope
SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE Out of scope
SPUBLISH/SSUBSCRIBE with two clients Out of scope
SSUBSCRIBE to one channel more than once Out of scope
SUNSUBSCRIBE from non-subscribed channels Out of scope
publish message to master and receive on replica Out of scope
setup replication for following tests Out of scope

Querybuf

0 / 3 passing (0.0%)
Test Status
query buffer resized correctly Failing
query buffer resized correctly when not idle Failing
query buffer resized correctly with fat argv Failing

Quit

0 / 3 passing (0.0%)
Test Status
Pipelined commands after QUIT must not be executed Failing
Pipelined commands after QUIT that exceed read buffer size Failing
QUIT returns OK Failing

Replybufsize

0 / 1 passing (0.0%)
Test Status
verify reply buffer limits Failing

Scan

4 / 24 passing (16.7%)
Test Status
{standalone} SCAN COUNT Passing
{standalone} SCAN MATCH Passing
{standalone} SCAN TYPE Passing
{standalone} SCAN basic Passing
{standalone} HSCAN with NOVALUES Failing
{standalone} HSCAN with PATTERN Failing
{standalone} HSCAN with encoding hashtable Failing
{standalone} HSCAN with encoding listpack Failing
{standalone} SCAN MATCH pattern implies cluster slot Failing
{standalone} SCAN guarantees check under write load Failing
{standalone} SCAN regression test for issue #4906 Failing
{standalone} SCAN unknown type Failing
{standalone} SCAN with expired keys Failing
{standalone} SCAN with expired keys with TYPE filter Failing
{standalone} SSCAN with PATTERN Failing
{standalone} SSCAN with encoding hashtable Failing
{standalone} SSCAN with encoding intset Failing
{standalone} SSCAN with encoding listpack Failing
{standalone} SSCAN with integer encoded object (issue #1345) Failing
{standalone} ZSCAN scores: regression test for issue #2175 Failing
{standalone} ZSCAN with NOSCORES Failing
{standalone} ZSCAN with PATTERN Failing
{standalone} ZSCAN with encoding listpack Failing
{standalone} ZSCAN with encoding skiplist Failing

Scripting

0 / 201 passing (0.0%)
Test Status
‘x’ should be ‘4’ for EVALSHA being replicated by effects Failing
Before the replica connects we issue two EVAL commands Failing
Binary code loading failed Failing
CLUSTER RESET can not be invoke from within a script Failing
Call Redis command with many args from Lua (issue #1764) Failing
Connect a replica to the master instance Failing
Consistent eval error reporting Failing
Correct handling of reused argv (issue #1939) Failing
Dynamic reset of lua engine with insecure API config change Failing
EVAL - Able to parse trailing comments Failing
EVAL - Are the KEYS and ARGV arrays populated correctly? Failing
EVAL - Does Lua interpreter replies to our requests? Failing
EVAL - Is the Lua client using the currently selected DB? Failing
EVAL - JSON numeric decoding Failing
EVAL - JSON smoke test Failing
EVAL - JSON string decoding Failing
EVAL - JSON string encoding a string larger than 2GB Failing
EVAL - Lua can parse string with too many new lines Failing
EVAL - Lua error reply -> Redis protocol type conversion Failing
EVAL - Lua false boolean -> Redis protocol type conversion Failing
EVAL - Lua integer -> Redis protocol type conversion Failing
EVAL - Lua number -> Redis integer conversion Failing
EVAL - Lua status code reply -> Redis protocol type conversion Failing
EVAL - Lua string -> Redis protocol type conversion Failing
EVAL - Lua table -> Redis protocol type conversion Failing
EVAL - Lua true boolean -> Redis protocol type conversion Failing
EVAL - No arguments to redis.call/pcall is considered an error Failing
EVAL - Numerical sanity check from bitop Failing
EVAL - Redis bulk -> Lua type conversion Failing
EVAL - Redis error reply -> Lua type conversion Failing
EVAL - Redis integer -> Lua type conversion Failing
EVAL - Redis multi bulk -> Lua type conversion Failing
EVAL - Redis nil bulk reply -> Lua type conversion Failing
EVAL - Redis status reply -> Lua type conversion Failing
EVAL - Return _G Failing
EVAL - Return table with a metatable that call server Failing
EVAL - Return table with a metatable that raise error Failing
EVAL - SELECT inside Lua should not affect the caller Failing
EVAL - Scripts can run non-deterministic commands Failing
EVAL - Scripts do not block on XREAD with BLOCK option Failing
EVAL - Scripts do not block on XREAD with BLOCK option – non empty stream Failing
EVAL - Scripts do not block on XREADGROUP with BLOCK option Failing
EVAL - Scripts do not block on XREADGROUP with BLOCK option – non empty stream Failing
EVAL - Scripts do not block on blmove command Failing
EVAL - Scripts do not block on blpop command Failing
EVAL - Scripts do not block on brpop command Failing
EVAL - Scripts do not block on brpoplpush command Failing
EVAL - Scripts do not block on bzpopmax command Failing
EVAL - Scripts do not block on bzpopmin command Failing
EVAL - Scripts do not block on wait Failing
EVAL - Scripts do not block on waitaof Failing
EVAL - Scripts support NULL byte Failing
EVAL - Test long escape sequences for strings Failing
EVAL - Test table unpack with invalid indexes Failing
EVAL - Verify minimal bitop functionality Failing
EVAL - cmsgpack can pack and unpack circular references? Failing
EVAL - cmsgpack can pack double? Failing
EVAL - cmsgpack can pack negative int64? Failing
EVAL - cmsgpack pack/unpack smoke test Failing
EVAL - explicit error() call handling Failing
EVAL - is Lua able to call Redis API? Failing
EVAL - redis.call variant raises a Lua error on Redis cmd error (1) Failing
EVAL does not leak in the Lua stack Failing
EVALSHA - Can we call a SHA1 if already defined? Failing
EVALSHA - Can we call a SHA1 in uppercase? Failing
EVALSHA - Do we get an error on invalid SHA1? Failing
EVALSHA - Do we get an error on non defined SHA1? Failing
EVALSHA replication when first call is readonly Failing
EVALSHA_RO - Can we call a SHA1 if already defined? Failing
EVAL_RO - Cannot run write commands Failing
EVAL_RO - Successful case Failing
EXPIRE: We can call scripts rewriting client->argv from Lua Failing
Functions in the Redis namespace are able to report errors Failing
Globals protection reading an undeclared global variable Failing
Globals protection setting an undeclared global* Failing
INCRBYFLOAT: We can call scripts expanding client->argv from Lua Failing
LUA redis.error_reply API Failing
LUA redis.error_reply API with empty string Failing
LUA redis.status_reply API Failing
LUA test pcall Failing
LUA test pcall with error Failing
LUA test pcall with non string/integer arg Failing
LUA test trim string as expected Failing
Lua scripts eviction does not affect script load Failing
Lua scripts eviction does not generate many scripts Failing
Lua scripts eviction is plain LRU Failing
Lua scripts promoted from eval to script load Failing
Lua scripts using SELECT are replicated correctly Failing
MGET: mget shouldn’t be propagated in Lua Failing
Measures elapsed time os.clock() Failing
Now use EVALSHA against the master, with both SHAs Failing
Number conversion precision test (issue #1118) Failing
PRNG is seeded randomly for command replication Failing
Prohibit dangerous lua methods in sandbox Failing
RESTORE expired keys with expiration time Failing
Redis.replicate_commands() can be issued anywhere now Failing
Redis.set_repl() can be issued before replicate_commands() now Failing
Redis.set_repl() don’t accept invalid values Failing
Replication of script multiple pushes to list with BLPOP Failing
SCRIPT EXISTS - can detect already defined scripts? Failing
SCRIPT LOAD - is able to register scripts in the scripting cache Failing
SCRIPT SHOW - is able to dump scripts from the scripting cache Failing
SCRIPT SHOW - script not exist return noscript error Failing
SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error Failing
SCRIPTING FLUSH - is able to clear the scripts cache? Failing
SCRIPTING FLUSH ASYNC Failing
SHUTDOWN NOSAVE can kill a timedout script anyway Failing
SORT BY <constant> output gets ordered for scripting Failing
SORT BY <constant> with GET gets ordered for scripting Failing
SORT is normally not alpha re-ordered for the scripting engine Failing
SPOP: We can call scripts rewriting client->argv from Lua Failing
Script - disallow write on OOM Failing
Script ACL check Failing
Script block the time during execution Failing
Script block the time in some expiration related commands Failing
Script check unpack with massive arguments Failing
Script del key with expiration set Failing
Script delete the expired key Failing
Script read key with expiration set Failing
Script return recursive object Failing
Script with RESP3 map Failing
Scripting engine PRNG can be seeded correctly Failing
Scripts can handle commands with incorrect arity Failing
Shebang support for lua engine Failing
String containing number precision test (regression of issue #1118) Failing
TIME command using cached time Failing
Test an example script DECR_IF_GT Failing
Test dofile are not available Failing
Test loadfile are not available Failing
Test print are not available Failing
Test scripting debug lua server invocations Failing
Test scripting debug lua stack overflow Failing
Test scripting debug protocol parsing Failing
Test selective replication of certain commands from Lua Failing
Timedout read-only scripts can be killed by SCRIPT KILL Failing
Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall Failing
Timedout script does not cause a false dead client Failing
Timedout script link is still usable after Lua returns Failing
Timedout scripts and unblocked command Failing
Timedout scripts that modified data can’t be killed by SCRIPT KILL Failing
Try trick global protection 1 Failing
Try trick global protection 2 Failing
Try trick global protection 3 Failing
Try trick global protection 4 Failing
Try trick readonly table on basic types metatable Failing
Try trick readonly table on bit table Failing
Try trick readonly table on cmsgpack table Failing
Try trick readonly table on json table Failing
Try trick readonly table on valkey table Failing
Unknown shebang flag Failing
Unknown shebang option Failing
Using side effects is not a problem with command replication Failing
Verify execution of prohibit dangerous Lua methods will fail Failing
Verify negative arg count is error instead of crash (issue #1842) Failing
allow-oom shebang flag Failing
allow-stale shebang flag Failing
lua bit.tohex bug Failing
no-writes shebang flag Failing
no-writes shebang flag on replica Failing
not enough good replicas Failing
not enough good replicas state change during long script Failing
random numbers are random now Failing
redis.sha1hex() implementation Failing
reject script do not cause a Lua stack leak Failing
test RESP2/2 big number protocol parsing Failing
test RESP2/2 double protocol parsing Failing
test RESP2/2 false protocol parsing Failing
test RESP2/2 malformed big number protocol parsing Failing
test RESP2/2 map protocol parsing Failing
test RESP2/2 null protocol parsing Failing
test RESP2/2 set protocol parsing Failing
test RESP2/2 true protocol parsing Failing
test RESP2/2 verbatim protocol parsing Failing
test RESP2/3 big number protocol parsing Failing
test RESP2/3 double protocol parsing Failing
test RESP2/3 false protocol parsing Failing
test RESP2/3 malformed big number protocol parsing Failing
test RESP2/3 map protocol parsing Failing
test RESP2/3 null protocol parsing Failing
test RESP2/3 set protocol parsing Failing
test RESP2/3 true protocol parsing Failing
test RESP2/3 verbatim protocol parsing Failing
test RESP3/2 big number protocol parsing Failing
test RESP3/2 double protocol parsing Failing
test RESP3/2 false protocol parsing Failing
test RESP3/2 malformed big number protocol parsing Failing
test RESP3/2 map protocol parsing Failing
test RESP3/2 null protocol parsing Failing
test RESP3/2 set protocol parsing Failing
test RESP3/2 true protocol parsing Failing
test RESP3/2 verbatim protocol parsing Failing
test RESP3/3 big number protocol parsing Failing
test RESP3/3 double protocol parsing Failing
test RESP3/3 false protocol parsing Failing
test RESP3/3 malformed big number protocol parsing Failing
test RESP3/3 map protocol parsing Failing
test RESP3/3 null protocol parsing Failing
test RESP3/3 set protocol parsing Failing
test RESP3/3 true protocol parsing Failing
test RESP3/3 verbatim protocol parsing Failing
test resp3 attribute protocol parsing Failing

Shutdown

0 / 9 passing (0.0%)
Test Status
Clean up rdb same named folder Failing
RDB save will be failed in shutdown Failing
SHUTDOWN ABORT can cancel SIGTERM Failing
SHUTDOWN SIGTERM will abort if there’s an initial AOFRW - default Failing
SHUTDOWN can proceed if shutdown command was with nosave Failing
SHUTDOWN will abort if rdb save failed on shutdown command Failing
SHUTDOWN will abort if rdb save failed on signal Failing
Temp rdb will be deleted if we use bg_unlink when shutdown Failing
Temp rdb will be deleted in signal handle Failing

Slowlog

0 / 20 passing (0.0%)
Test Status
SLOWLOG - Certain commands are omitted that contain sensitive information Failing
SLOWLOG - EXEC is not logged, just executed commands Failing
SLOWLOG - GET optional argument to limit output len works Failing
SLOWLOG - RESET subcommand works Failing
SLOWLOG - Rewritten commands are logged as their original command Failing
SLOWLOG - Some commands can redact sensitive fields Failing
SLOWLOG - blocking command is reported only after unblocked Failing
SLOWLOG - can be disabled Failing
SLOWLOG - can clean older entries Failing
SLOWLOG - check that it starts with an empty log Failing
SLOWLOG - commands with too many arguments are trimmed Failing
SLOWLOG - count must be >= -1 Failing
SLOWLOG - get all slow logs Failing
SLOWLOG - logged entry sanity check Failing
SLOWLOG - max entries is correctly handled Failing
SLOWLOG - only logs commands taking more time than specified Failing
SLOWLOG - the commands in script are recorded normally - is_eval: 0 Failing
SLOWLOG - the commands in script are recorded normally - is_eval: 1 Failing
SLOWLOG - too long arguments are trimmed Failing
SLOWLOG - zero max length is correctly handled Failing

Sort

0 / 42 passing (0.0%)
Test Status
$command GET <const> Failing
$title: SORT BY hash field Failing
$title: SORT BY key Failing
$title: SORT BY key with limit Failing
SETRANGE with huge offset Failing
SORT ALPHA against integer encoded strings Failing
SORT BY hash field STORE Failing
SORT BY key STORE Failing
SORT BY sub-sorts lexicographically if score is the same Failing
SORT DESC Failing
SORT GET # Failing
SORT GET (key and hash) with sanity check Failing
SORT GET with pattern ending with just -> does not get hash field Failing
SORT STORE quicklist with the right options Failing
SORT by nosort plus store retains native order for lists Failing
SORT by nosort retains native order for lists Failing
SORT by nosort with limit returns based on original list order Failing
SORT extracts STORE correctly Failing
SORT extracts multiple STORE correctly Failing
SORT regression for issue #19, sorting floats Failing
SORT sorted set Failing
SORT sorted set BY nosort + LIMIT Failing
SORT sorted set BY nosort should retain ordering Failing
SORT sorted set BY nosort works as expected from scripts Failing
SORT sorted set: +inf and -inf handling Failing
SORT speed, $num element list BY <const>, 100 times Failing
SORT speed, $num element list BY hash field, 100 times Failing
SORT speed, $num element list BY key, 100 times Failing
SORT speed, $num element list directly, 100 times Failing
SORT will complain with numerical sorting and bad doubles (1) Failing
SORT will complain with numerical sorting and bad doubles (2) Failing
SORT with BY <constant> and STORE should still order output Failing
SORT with STORE does not create empty lists (github issue 224) Failing
SORT with STORE removes key if result is empty (github issue 227) Failing
SORT with STORE returns zero if result is empty (github issue 224) Failing
SORT_RO - Cannot run with STORE arg Failing
SORT_RO - Successful case Failing
SORT_RO get keys Failing
sort by in cluster mode Failing
sort get in cluster mode Failing
sort_ro by in cluster mode Failing
sort_ro get in cluster mode Failing

Tracking

0 / 59 passing (0.0%)
Test Status
Able to redirect to a RESP3 client Failing
Adding prefixes to BCAST mode works Failing
After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys Failing
BCAST with prefix collisions throw errors Failing
CLIENT GETREDIR provides correct client id Failing
CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode Failing
CLIENT TRACKINGINFO provides reasonable results when tracking off Failing
CLIENT TRACKINGINFO provides reasonable results when tracking on Failing
CLIENT TRACKINGINFO provides reasonable results when tracking on with options Failing
CLIENT TRACKINGINFO provides reasonable results when tracking optin Failing
CLIENT TRACKINGINFO provides reasonable results when tracking optout Failing
CLIENT TRACKINGINFO provides reasonable results when tracking redir broken Failing
CLIENT TRACKINGINFO when start Failing
Client tracking prefixes memory overhead Failing
Clients are able to enable tracking and redirect it Failing
Clients can enable the BCAST mode with prefixes Failing
Clients can enable the BCAST mode with the empty prefix Failing
Coverage: Basic CLIENT CACHING Failing
Coverage: Basic CLIENT GETREDIR Failing
Coverage: Basic CLIENT REPLY Failing
Coverage: Basic CLIENT TRACKINGINFO Failing
Different clients can redirect to the same connection Failing
Different clients using different protocols can track the same key Failing
HELLO 3 reply is correct Failing
Invalid keys should not be tracked for scripts in NOLOOP mode Failing
Invalidation message received for flushall Failing
Invalidation message received for flushdb Failing
Invalidation message sent when using OPTIN option with CLIENT CACHING yes Failing
Invalidation message sent when using OPTOUT option Failing
Invalidations of new keys can be redirected after switching to RESP3 Failing
Invalidations of previous keys can be redirected after switching to RESP3 Failing
No invalidation message when using OPTIN option Failing
No invalidation message when using OPTOUT option with CLIENT CACHING no Failing
RESP2 based basic invalidation with client reply off Failing
RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated Failing
RESP3 based basic invalidation Failing
RESP3 based basic invalidation with client reply off Failing
RESP3 based basic redirect invalidation with client reply off Failing
RESP3 based basic tracking-redir-broken with client reply off Failing
RESP3 tracking redirection Failing
Regression test for #11715 Failing
Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort Failing
Test ASYNC flushall Failing
The client is now able to disable tracking Failing
The connection gets invalidation messages about all the keys Failing
The other connection is able to get invalidations Failing
Tracking NOLOOP mode in BCAST mode works Failing
Tracking NOLOOP mode in standard mode works Failing
Tracking gets notification of expired keys Failing
Tracking gets notification of lazy expired keys Failing
Tracking gets notification on tracking table key eviction Failing
Tracking info is correct Failing
Tracking invalidation message is not interleaved with multiple keys response Failing
Tracking invalidation message is not interleaved with transaction response Failing
Tracking invalidation message of eviction keys should be before response Failing
Tracking only occurs for scripts when a command calls a read-only command Failing
Unblocked BLMOVE gets notification after response Failing
flushdb tracking invalidation message is not interleaved with transaction response Failing
hdel deliver invalidate message after response in the same connection Failing

Violations

0 / 7 passing (0.0%)
Test Status
SORT adds integer field to list Failing
XADD one huge field Failing
XADD one huge field - 1 Failing
hash with many big fields Failing
hash with one huge field Failing
several XADD big fields Failing
single XADD big fields Failing

Wait

0 / 37 in-scope passing (0.0%) · 1 out of scope
Test Status
Setup a new replica Failing
Setup slave Failing
WAIT and WAITAOF replica multiple clients unblock - reuse last result Failing
WAIT implicitly blocks on client pause since ACKs aren’t sent Failing
WAIT in script will work Failing
WAIT out of range timeout (milliseconds) Failing
WAIT replica multiple clients unblock - reuse last result Failing
WAIT should acknowledge 1 additional copy of the data Failing
WAIT should not acknowledge 1 additional copy if slave is blocked Failing
WAIT should not acknowledge 2 additional copies of the data Failing
WAITAOF both local and replica got AOF enabled at runtime Failing
WAITAOF local copy before fsync Failing
WAITAOF local copy everysec Failing
WAITAOF local copy with appendfsync always Failing
WAITAOF local if AOFRW was postponed Failing
WAITAOF local on server with aof disabled Failing
WAITAOF local wait and then stop aof Failing
WAITAOF master client didn’t send any command Failing
WAITAOF master client didn’t send any write command Failing
WAITAOF master isn’t configured to do AOF Failing
WAITAOF master sends PING after last write Failing
WAITAOF master that loses a replica and backlog is dropped Failing
WAITAOF master without backlog, wait is released when the replica finishes full-sync Failing
WAITAOF on demoted master gets unblocked with an error Failing
WAITAOF on promoted replica Failing
WAITAOF replica copy appendfsync always Failing
WAITAOF replica copy before fsync Failing
WAITAOF replica copy everysec Failing
WAITAOF replica copy everysec with AOFRW Failing
WAITAOF replica copy everysec with slow AOFRW Failing
WAITAOF replica copy everysec->always with AOFRW Failing
WAITAOF replica copy if replica is blocked Failing
WAITAOF replica isn’t configured to do AOF Failing
WAITAOF replica multiple clients unblock - reuse last result Failing
WAITAOF when replica switches between masters, fsync: always Failing
WAITAOF when replica switches between masters, fsync: everysec Failing
WAITAOF when replica switches between masters, fsync: no Failing
setup replication for following tests Out of scope

Type

Hash

35 / 74 passing (47.3%)
Test Status
HDEL - hash becomes empty before deleting all specified fields Passing
HDEL - more than a single value Passing
HDEL and return value Passing
HEXISTS Passing
HGET against non existing key Passing
HGET against the big hash Passing
HGET against the small hash Passing
HGETALL - big hash Passing
HGETALL - small hash Passing
HGETALL against non-existing key Passing
HKEYS - big hash Passing
HKEYS - small hash Passing
HMGET - big hash Passing
HMGET - small hash Passing
HMGET against non existing key and fields Passing
HMSET - big hash Passing
HMSET - small hash Passing
HSET in update and insert mode Passing
HSET/HLEN - Big hash creation Passing
HSET/HLEN - Small hash creation Passing
HSET/HMSET wrong number of args Passing
HSETNX target key exists - big hash Passing
HSETNX target key exists - small hash Passing
HSETNX target key missing - big hash Passing
HSETNX target key missing - small hash Passing
HVALS - big hash Passing
HVALS - small hash Passing
Hash fuzzing #1 - 10 fields Passing
Hash fuzzing #1 - 512 fields Passing
Hash fuzzing #2 - 10 fields Passing
Hash fuzzing #2 - 512 fields Passing
Hash ziplist regression test for large keys Passing
Is the big hash encoded with an hash table? Passing
Is the small hash encoded with a listpack? Passing
Stress test the hash ziplist -> hashtable encoding conversion Passing
HINCRBY HINCRBYFLOAT against non-integer increment value Failing
HINCRBY against hash key created by hincrby itself Failing
HINCRBY against hash key originally set with HSET Failing
HINCRBY against non existing database key Failing
HINCRBY against non existing hash key Failing
HINCRBY can detect overflows Failing
HINCRBY fails against hash value with spaces (left) Failing
HINCRBY fails against hash value with spaces (right) Failing
HINCRBY over 32bit value Failing
HINCRBY over 32bit value with over 32bit increment Failing
HINCRBYFLOAT against hash key created by hincrby itself Failing
HINCRBYFLOAT against hash key originally set with HSET Failing
HINCRBYFLOAT against non existing database key Failing
HINCRBYFLOAT against non existing hash key Failing
HINCRBYFLOAT does not allow NaN or Infinity Failing
HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle Failing
HINCRBYFLOAT fails against hash value with spaces (left) Failing
HINCRBYFLOAT fails against hash value with spaces (right) Failing
HINCRBYFLOAT over 32bit value Failing
HINCRBYFLOAT over 32bit value with over 32bit increment Failing
HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack Failing
HRANDFIELD - hashtable Failing
HRANDFIELD - listpack Failing
HRANDFIELD count of 0 is handled correctly Failing
HRANDFIELD count of 0 is handled correctly - emptyarray Failing
HRANDFIELD count overflow Failing
HRANDFIELD with <count> - hashtable Failing
HRANDFIELD with <count> - listpack Failing
HRANDFIELD with <count> against non existing key Failing
HRANDFIELD with <count> against non existing key - emptyarray Failing
HRANDFIELD with RESP3 Failing
HSTRLEN against non existing field Failing
HSTRLEN against the big hash Failing
HSTRLEN against the small hash Failing
HSTRLEN corner cases Failing
Hash commands against wrong type Failing
Hash ziplist of various encodings Failing
Hash ziplist of various encodings - sanitize dump Failing
Is a ziplist encoded Hash promoted on big payload? Failing

Incr

27 / 32 passing (84.4%)
Test Status
DECR against key created by incr Passing
DECR against key is not exist and incr Passing
DECRBY against key is not exist Passing
DECRBY negation overflow Passing
DECRBY over 32bit value with over 32bit increment, negative res Passing
INCR against key created by incr itself Passing
INCR against key originally set with SET Passing
INCR against non existing key Passing
INCR fails against a key holding a list Passing
INCR fails against key with spaces (both) Passing
INCR fails against key with spaces (left) Passing
INCR fails against key with spaces (right) Passing
INCR over 32bit value Passing
INCRBY INCRBYFLOAT DECRBY against unhappy path Passing
INCRBY over 32bit value with over 32bit increment Passing
INCRBYFLOAT against key originally set with SET Passing
INCRBYFLOAT against non existing key Passing
INCRBYFLOAT decrement Passing
INCRBYFLOAT does not allow NaN or Infinity Passing
INCRBYFLOAT fails against a key holding a list Passing
INCRBYFLOAT fails against key with spaces (both) Passing
INCRBYFLOAT fails against key with spaces (left) Passing
INCRBYFLOAT fails against key with spaces (right) Passing
INCRBYFLOAT over 32bit value Passing
INCRBYFLOAT over 32bit value with over 32bit increment Passing
No negative zero Passing
string to double with null terminator Passing
INCR can modify objects in-place Failing
decr operation should update encoding from raw to int Failing
decrby operation should update encoding from raw to int Failing
incr operation should update encoding from raw to int Failing
incrby operation should update encoding from raw to int Failing

List-2

0 / 2 passing (0.0%)
Test Status
LTRIM stress testing - listpack Failing
LTRIM stress testing - quicklist Failing

List-3

0 / 11 passing (0.0%)
Test Status
Check compression with recompress Failing
Crash due to wrongly recompress after lrem Failing
Explicit regression for a list bug Failing
LINSERT correctly recompress full quicklistNode after inserting a element after it Failing
LINSERT correctly recompress full quicklistNode after inserting a element before it Failing
Regression for quicklist #3343 bug Failing
Stress tester for #3343-alike bugs comp: 0 Failing
Stress tester for #3343-alike bugs comp: 1 Failing
Stress tester for #3343-alike bugs comp: 2 Failing
ziplist implementation: encoding stress testing Failing
ziplist implementation: value encoding and backlink Failing

List

49 / 268 passing (18.3%)
Test Status
LINDEX against non existing key Passing
LINDEX against non-list value error Passing
LINSERT - listpack Passing
LINSERT - quicklist Passing
LINSERT against non existing key Passing
LINSERT against non-list value error Passing
LINSERT raise error on bad syntax Passing
LLEN against non existing key Passing
LLEN against non-list value error Passing
LPOP/RPOP with wrong number of arguments Passing
LPUSH against non-list value error Passing
LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack Passing
LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist Passing
LRANGE against non existing key Passing
LRANGE basics - listpack Passing
LRANGE basics - quicklist Passing
LRANGE inverted indexes - listpack Passing
LRANGE inverted indexes - quicklist Passing
LRANGE out of range indexes including the full list - listpack Passing
LRANGE out of range indexes including the full list - quicklist Passing
LRANGE out of range negative end index - listpack Passing
LRANGE out of range negative end index - quicklist Passing
LRANGE with start > end yields an empty array for backward compatibility Passing
LREM deleting objects that may be int encoded - listpack Passing
LREM deleting objects that may be int encoded - quicklist Passing
LREM remove all the occurrences - listpack Passing
LREM remove all the occurrences - quicklist Passing
LREM remove non existing element - listpack Passing
LREM remove non existing element - quicklist Passing
LREM remove the first occurrence - listpack Passing
LREM remove the first occurrence - quicklist Passing
LREM starting from tail with negative count (2) - listpack Passing
LREM starting from tail with negative count (2) - quicklist Passing
LREM starting from tail with negative count - listpack Passing
LREM starting from tail with negative count - quicklist Passing
LSET - listpack Passing
LSET - quicklist Passing
LSET against non existing key Passing
LSET against non list value Passing
LSET out of range index - listpack Passing
LSET out of range index - quicklist Passing
LTRIM basics - listpack Passing
LTRIM basics - quicklist Passing
LTRIM out of range negative end index - listpack Passing
LTRIM out of range negative end index - quicklist Passing
RPOP/LPOP with the optional count argument - listpack Passing
RPOP/LPOP with the optional count argument - quicklist Passing
RPUSH against non-list value error Passing
Variadic RPUSH/LPUSH Passing
BLMOVE (left, left) with a client BLPOPing the target list Failing
BLMOVE (left, right) with a client BLPOPing the target list Failing
BLMOVE (right, left) with a client BLPOPing the target list Failing
BLMOVE (right, right) with a client BLPOPing the target list Failing
BLMOVE left left - listpack Failing
BLMOVE left left - quicklist Failing
BLMOVE left left with zero timeout should block indefinitely Failing
BLMOVE left right - listpack Failing
BLMOVE left right - quicklist Failing
BLMOVE left right with zero timeout should block indefinitely Failing
BLMOVE right left - listpack Failing
BLMOVE right left - quicklist Failing
BLMOVE right left with zero timeout should block indefinitely Failing
BLMOVE right right - listpack Failing
BLMOVE right right - quicklist Failing
BLMOVE right right with zero timeout should block indefinitely Failing
BLMPOP propagate as pop with count command to replica Failing
BLMPOP with multiple blocked clients Failing
BLMPOP_LEFT inside a transaction Failing
BLMPOP_LEFT when new key is moved into place Failing
BLMPOP_LEFT when result key is created by SORT..STORE Failing
BLMPOP_LEFT with variadic LPUSH Failing
BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client Failing
BLMPOP_LEFT, LPUSH + DEL should not awake blocked client Failing
BLMPOP_LEFT: arguments are empty Failing
BLMPOP_LEFT: multiple existing lists - listpack Failing
BLMPOP_LEFT: multiple existing lists - quicklist Failing
BLMPOP_LEFT: second argument is not a list Failing
BLMPOP_LEFT: second list has an entry - listpack Failing
BLMPOP_LEFT: second list has an entry - quicklist Failing
BLMPOP_LEFT: single existing list - listpack Failing
BLMPOP_LEFT: single existing list - quicklist Failing
BLMPOP_LEFT: timeout Failing
BLMPOP_LEFT: with 0.001 timeout should not block indefinitely Failing
BLMPOP_LEFT: with negative timeout Failing
BLMPOP_LEFT: with non-integer timeout Failing
BLMPOP_LEFT: with single empty list argument Failing
BLMPOP_LEFT: with zero timeout should block indefinitely Failing
BLMPOP_RIGHT: arguments are empty Failing
BLMPOP_RIGHT: second argument is not a list Failing
BLMPOP_RIGHT: timeout Failing
BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely Failing
BLMPOP_RIGHT: with negative timeout Failing
BLMPOP_RIGHT: with non-integer timeout Failing
BLMPOP_RIGHT: with single empty list argument Failing
BLMPOP_RIGHT: with zero timeout should block indefinitely Failing
BLPOP inside a transaction Failing
BLPOP unblock but the key is expired and then block again - reprocessing command Failing
BLPOP when new key is moved into place Failing
BLPOP when result key is created by SORT..STORE Failing
BLPOP with same key multiple times should work (issue #801) Failing
BLPOP with variadic LPUSH Failing
BLPOP, LPUSH + DEL + SET should not awake blocked client Failing
BLPOP, LPUSH + DEL should not awake blocked client Failing
BLPOP/BLMOVE should increase dirty Failing
BLPOP: arguments are empty Failing
BLPOP: multiple existing lists - listpack Failing
BLPOP: multiple existing lists - quicklist Failing
BLPOP: second argument is not a list Failing
BLPOP: second list has an entry - listpack Failing
BLPOP: second list has an entry - quicklist Failing
BLPOP: single existing list - listpack Failing
BLPOP: single existing list - quicklist Failing
BLPOP: timeout Failing
BLPOP: timeout value out of range Failing
BLPOP: with 0.001 timeout should not block indefinitely Failing
BLPOP: with negative timeout Failing
BLPOP: with non-integer timeout Failing
BLPOP: with single empty list argument Failing
BLPOP: with zero timeout should block indefinitely Failing
BRPOP: arguments are empty Failing
BRPOP: second argument is not a list Failing
BRPOP: timeout Failing
BRPOP: with 0.001 timeout should not block indefinitely Failing
BRPOP: with negative timeout Failing
BRPOP: with non-integer timeout Failing
BRPOP: with single empty list argument Failing
BRPOP: with zero timeout should block indefinitely Failing
BRPOPLPUSH - listpack Failing
BRPOPLPUSH - quicklist Failing
BRPOPLPUSH does not affect WATCH while still blocked Failing
BRPOPLPUSH inside a transaction Failing
BRPOPLPUSH maintains order of elements after failure Failing
BRPOPLPUSH timeout Failing
BRPOPLPUSH with multiple blocked clients Failing
BRPOPLPUSH with wrong destination type Failing
BRPOPLPUSH with wrong source type Failing
BRPOPLPUSH with zero timeout should block indefinitely Failing
Basic LPOP/RPOP/LMPOP - listpack Failing
Basic LPOP/RPOP/LMPOP - quicklist Failing
Blocking command accounted only once in commandstats Failing
Blocking command accounted only once in commandstats after timeout Failing
Blocking timeout following PAUSE should honor the timeout Failing
CLIENT NO-TOUCH with BRPOP and RPUSH regression test Failing
Check if list is still ok after a DEBUG RELOAD - listpack Failing
Check if list is still ok after a DEBUG RELOAD - quicklist Failing
Circular BRPOPLPUSH Failing
Command being unblocked cause another command to get unblocked execution order test Failing
Crash due to delete entry from a compress quicklist node Failing
Crash due to split quicklist node wrongly Failing
DEL a list Failing
LINDEX consistency test - listpack Failing
LINDEX consistency test - quicklist Failing
LINDEX random access - listpack Failing
LINDEX random access - quicklist Failing
LMOVE left left base case - listpack Failing
LMOVE left left base case - quicklist Failing
LMOVE left left with listpack source and existing target listpack Failing
LMOVE left left with listpack source and existing target quicklist Failing
LMOVE left left with quicklist source and existing target listpack Failing
LMOVE left left with quicklist source and existing target quicklist Failing
LMOVE left left with the same list as src and dst - listpack Failing
LMOVE left left with the same list as src and dst - quicklist Failing
LMOVE left right base case - listpack Failing
LMOVE left right base case - quicklist Failing
LMOVE left right with listpack source and existing target listpack Failing
LMOVE left right with listpack source and existing target quicklist Failing
LMOVE left right with quicklist source and existing target listpack Failing
LMOVE left right with quicklist source and existing target quicklist Failing
LMOVE left right with the same list as src and dst - listpack Failing
LMOVE left right with the same list as src and dst - quicklist Failing
LMOVE right left base case - listpack Failing
LMOVE right left base case - quicklist Failing
LMOVE right left with listpack source and existing target listpack Failing
LMOVE right left with listpack source and existing target quicklist Failing
LMOVE right left with quicklist source and existing target listpack Failing
LMOVE right left with quicklist source and existing target quicklist Failing
LMOVE right left with the same list as src and dst - listpack Failing
LMOVE right left with the same list as src and dst - quicklist Failing
LMOVE right right base case - listpack Failing
LMOVE right right base case - quicklist Failing
LMOVE right right with listpack source and existing target listpack Failing
LMOVE right right with listpack source and existing target quicklist Failing
LMOVE right right with quicklist source and existing target listpack Failing
LMOVE right right with quicklist source and existing target quicklist Failing
LMOVE right right with the same list as src and dst - listpack Failing
LMOVE right right with the same list as src and dst - quicklist Failing
LMPOP multiple existing lists - listpack Failing
LMPOP multiple existing lists - quicklist Failing
LMPOP propagate as pop with count command to replica Failing
LMPOP single existing list - listpack Failing
LMPOP single existing list - quicklist Failing
LMPOP with illegal argument Failing
LPOP/RPOP against non existing key in RESP2 Failing
LPOP/RPOP against non existing key in RESP3 Failing
LPOP/RPOP with <count> against non existing key in RESP2 Failing
LPOP/RPOP with <count> against non existing key in RESP3 Failing
LPOP/RPOP with the count 0 returns an empty array in RESP2 Failing
LPOP/RPOP with the count 0 returns an empty array in RESP3 Failing
LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value Failing
LPOP/RPOP/LMPOP against empty list Failing
LPOS COUNT + RANK option Failing
LPOS COUNT option Failing
LPOS MAXLEN Failing
LPOS RANK (positive, negative and zero rank) option Failing
LPOS basic usage - listpack Failing
LPOS basic usage - quicklist Failing
LPOS no match Failing
LPOS non existing key Failing
LPOS when RANK is greater than matches Failing
LPUSHX, RPUSHX - generic Failing
LPUSHX, RPUSHX - listpack Failing
LPUSHX, RPUSHX - quicklist Failing
Linked LMOVEs Failing
List encoding conversion when RDB loading Failing
List invalid list-max-listpack-size config Failing
List listpack -> quicklist encoding conversion Failing
List of various encodings Failing
List of various encodings - sanitize dump Failing
List quicklist -> listpack encoding conversion Failing
MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired Failing
MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT Failing
MULTI/EXEC is isolated from the point of view of BLPOP Failing
Mass RPOP/LPOP - listpack Failing
PUSH resulting from BRPOPLPUSH affect WATCH Failing
RPOPLPUSH against non existing key Failing
RPOPLPUSH against non existing src key Failing
RPOPLPUSH against non list dst key - listpack Failing
RPOPLPUSH against non list dst key - quicklist Failing
RPOPLPUSH against non list src key Failing
RPOPLPUSH base case - listpack Failing
RPOPLPUSH base case - quicklist Failing
RPOPLPUSH with listpack source and existing target listpack Failing
RPOPLPUSH with listpack source and existing target quicklist Failing
RPOPLPUSH with quicklist source and existing target listpack Failing
RPOPLPUSH with quicklist source and existing target quicklist Failing
RPOPLPUSH with the same list as src and dst - listpack Failing
RPOPLPUSH with the same list as src and dst - quicklist Failing
Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds Failing
SWAPDB awakes blocked client Failing
SWAPDB wants to wake blocked client, but the key already expired Failing
Self-referential BRPOPLPUSH Failing
Test LINDEX and LINSERT on plain nodes Failing
Test LINDEX and LINSERT on plain nodes over 4GB Failing
Test LMOVE on plain nodes Failing
Test LMOVE on plain nodes over 4GB Failing
Test LPOS on plain nodes Failing
Test LPUSH and LPOP on plain nodes Failing
Test LPUSH and LPOP on plain nodes over 4GB Failing
Test LREM on plain nodes Failing
Test LREM on plain nodes over 4GB Failing
Test LSET on plain nodes over 4GB Failing
Test LSET on plain nodes with large elements under packed_threshold over 4GB Failing
Test LSET splits a LZF compressed quicklist node, and then merge Failing
Test LSET splits a quicklist node, and then merge Failing
Test LSET with packed / plain combinations Failing
Test LSET with packed consist only one item Failing
Test LSET with packed is split in the middle Failing
Test LTRIM on plain nodes Failing
Test LTRIM on plain nodes over 4GB Failing
Unblock fairness is kept during nested unblock Failing
Unblock fairness is kept while pipelining Failing
client unblock tests Failing
packed node check compression combined with trim Failing
packed node check compression with insert and pop Failing
packed node check compression with lset Failing
plain node check compression combined with trim Failing
plain node check compression with insert and pop Failing
plain node check compression with lset Failing

Set

44 / 118 passing (37.3%)
Test Status
SADD a non-integer against a large intset Passing
SADD a non-integer against a small intset Passing
SADD against non set Passing
SADD an integer larger than 64 bits Passing
SADD an integer larger than 64 bits to a large intset Passing
SADD overflows the maximum allowed elements in a listpack - multiple Passing
SADD overflows the maximum allowed elements in a listpack - single Passing
SADD overflows the maximum allowed elements in a listpack - single_multiple Passing
SADD overflows the maximum allowed integers in an intset - multiple Passing
SADD overflows the maximum allowed integers in an intset - single Passing
SADD overflows the maximum allowed integers in an intset - single_multiple Passing
SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable Passing
SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset Passing
SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack Passing
SMISMEMBER SMEMBERS SCARD against non existing key Passing
SMISMEMBER SMEMBERS SCARD against non set Passing
SPOP basics - intset Passing
SPOP basics - listpack Passing
SPOP integer from listpack set Passing
SPOP new implementation: code path #1 intset Passing
SPOP new implementation: code path #1 listpack Passing
SPOP new implementation: code path #2 intset Passing
SPOP new implementation: code path #2 listpack Passing
SPOP new implementation: code path #3 intset Passing
SPOP new implementation: code path #3 listpack Passing
SPOP using integers with Knuth’s algorithm Passing
SPOP using integers, testing Knuth’s and Floyd’s algorithm Passing
SPOP with <count> - hashtable Passing
SPOP with <count> - intset Passing
SPOP with <count> - listpack Passing
SPOP with <count>=1 - intset Passing
SPOP with <count>=1 - listpack Passing
SREM basics - $type Passing
SREM basics - intset Passing
SREM variadic version with more args needed to destroy the key Passing
SREM with multiple arguments Passing
SUNION against non-set should throw error Passing
SUNION hashtable and listpack Passing
SUNION should handle non existing key as empty Passing
SUNION with non existing keys - intset Passing
SUNION with non existing keys - regular Passing
SUNION with two sets - intset Passing
SUNION with two sets - regular Passing
Variadic SADD Passing
Generated sets must be encoded correctly - intset Failing
Generated sets must be encoded correctly - regular Failing
SADD, SCARD, SISMEMBER - large data Failing
SDIFF against non-set should throw error Failing
SDIFF fuzzing Failing
SDIFF should handle non existing key as empty Failing
SDIFF with first set empty Failing
SDIFF with same set two times Failing
SDIFF with three sets - intset Failing
SDIFF with three sets - regular Failing
SDIFF with two sets - intset Failing
SDIFF with two sets - regular Failing
SDIFFSTORE against non-set should throw error Failing
SDIFFSTORE should handle non existing key as empty Failing
SDIFFSTORE with three sets - intset Failing
SDIFFSTORE with three sets - regular Failing
SINTER against non-set should throw error Failing
SINTER against three sets - intset Failing
SINTER against three sets - regular Failing
SINTER should handle non existing key as empty Failing
SINTER with same integer elements but different encoding Failing
SINTER with two sets - intset Failing
SINTER with two sets - regular Failing
SINTER/SUNION/SDIFF with three same sets - intset Failing
SINTER/SUNION/SDIFF with three same sets - regular Failing
SINTERCARD against non-existing key Failing
SINTERCARD against non-set should throw error Failing
SINTERCARD against three sets - intset Failing
SINTERCARD against three sets - regular Failing
SINTERCARD with illegal arguments Failing
SINTERCARD with two sets - intset Failing
SINTERCARD with two sets - regular Failing
SINTERSTORE against non existing keys should delete dstkey Failing
SINTERSTORE against non-set should throw error Failing
SINTERSTORE with three sets - intset Failing
SINTERSTORE with three sets - regular Failing
SINTERSTORE with two hashtable sets where result is intset Failing
SINTERSTORE with two listpack sets where result is intset Failing
SINTERSTORE with two sets - intset Failing
SINTERSTORE with two sets - regular Failing
SINTERSTORE with two sets, after a DEBUG RELOAD - intset Failing
SINTERSTORE with two sets, after a DEBUG RELOAD - regular Failing
SMISMEMBER requires one or more members Failing
SMOVE basics - from intset to regular set Failing
SMOVE basics - from regular set to intset Failing
SMOVE from intset to non existing destination set Failing
SMOVE from regular set to non existing destination set Failing
SMOVE non existing key Failing
SMOVE non existing src set Failing
SMOVE only notify dstset when the addition is successful Failing
SMOVE with identical source and destination Failing
SMOVE wrong dst key type Failing
SMOVE wrong src key type Failing
SPOP new implementation: code path #1 propagate as DEL or UNLINK Failing
SRANDMEMBER - intset Failing
SRANDMEMBER - listpack Failing
SRANDMEMBER count of 0 is handled correctly Failing
SRANDMEMBER count of 0 is handled correctly - emptyarray Failing
SRANDMEMBER count overflow Failing
SRANDMEMBER histogram distribution - hashtable Failing
SRANDMEMBER histogram distribution - intset Failing
SRANDMEMBER histogram distribution - listpack Failing
SRANDMEMBER with <count> - hashtable Failing
SRANDMEMBER with <count> - intset Failing
SRANDMEMBER with <count> - listpack Failing
SRANDMEMBER with <count> against non existing key Failing
SRANDMEMBER with <count> against non existing key - emptyarray Failing
SUNIONSTORE against non existing keys should delete dstkey Failing
SUNIONSTORE against non-set should throw error Failing
SUNIONSTORE should handle non existing key as empty Failing
SUNIONSTORE with two sets - intset Failing
SUNIONSTORE with two sets - regular Failing
Set encoding after DEBUG RELOAD Failing
intsets implementation stress testing Failing

Stream-cgroups

0 / 66 passing (0.0%)
Test Status
Blocking XREAD: key deleted Failing
Blocking XREAD: key type changed with SET Failing
Blocking XREADGROUP for stream key that has clients blocked on list Failing
Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop Failing
Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command Failing
Blocking XREADGROUP for stream that ran dry (issue #5299) Failing
Blocking XREADGROUP will ignore BLOCK if ID is not > Failing
Blocking XREADGROUP will not reply with an empty array Failing
Blocking XREADGROUP: flushed DB Failing
Blocking XREADGROUP: key deleted Failing
Blocking XREADGROUP: key type changed with SET Failing
Blocking XREADGROUP: key type changed with transaction Failing
Blocking XREADGROUP: swapped DB, key doesn’t exist Failing
Blocking XREADGROUP: swapped DB, key is not a stream Failing
Consumer group lag with XADD trimming Failing
Consumer group lag with XDELs Failing
Consumer group lag with XTRIM Failing
Consumer group last ID propagation to slave (NOACK=0) Failing
Consumer group last ID propagation to slave (NOACK=1) Failing
Consumer group read counter and lag in empty streams Failing
Consumer group read counter and lag sanity Failing
Consumer seen-time and active-time Failing
Consumer without PEL is present in AOF after AOFRW Failing
Empty stream with no lastid can be rewrite into AOF correctly Failing
Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence Failing
Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence Failing
PEL NACK reassignment after XGROUP SETID event Failing
RENAME can unblock XREADGROUP with -NOGROUP Failing
RENAME can unblock XREADGROUP with data Failing
Replication tests of XCLAIM with deleted entries (autoclaim=0) Failing
Replication tests of XCLAIM with deleted entries (autoclaim=1) Failing
XACK can’t remove the same item multiple times Failing
XACK is able to accept multiple arguments Failing
XACK is able to remove items from the consumer/group PEL Failing
XACK should fail if got at least one invalid ID Failing
XAUTOCLAIM COUNT must be > 0 Failing
XAUTOCLAIM as an iterator Failing
XAUTOCLAIM can claim PEL items from another consumer Failing
XAUTOCLAIM with XDEL Failing
XAUTOCLAIM with XDEL and count Failing
XAUTOCLAIM with out of range count Failing
XCLAIM can claim PEL items from another consumer Failing
XCLAIM same consumer Failing
XCLAIM with XDEL Failing
XCLAIM with trimming Failing
XCLAIM without JUSTID increments delivery count Failing
XGROUP CREATE: automatic stream creation fails without MKSTREAM Failing
XGROUP CREATE: automatic stream creation works with MKSTREAM Failing
XGROUP CREATE: creation and duplicate group name detection Failing
XGROUP CREATE: with ENTRIESREAD parameter Failing
XGROUP CREATECONSUMER: create consumer if does not exist Failing
XGROUP CREATECONSUMER: group must exist Failing
XGROUP DESTROY should unblock XREADGROUP with -NOGROUP Failing
XINFO FULL output Failing
XPENDING can return single consumer items Failing
XPENDING is able to return pending items Failing
XPENDING only group Failing
XPENDING with IDLE Failing
XPENDING with exclusive range intervals works as expected Failing
XREAD and XREADGROUP against wrong parameter Failing
XREADGROUP ACK would propagate entries-read Failing
XREADGROUP can read the history of the elements we own Failing
XREADGROUP history reporting of deleted entries. Bug #5570 Failing
XREADGROUP will not report data on empty history. Bug #5577 Failing
XREADGROUP will return only new elements Failing
XREADGROUP with NOACK creates consumer Failing

Stream

0 / 81 passing (0.0%)
Test Status
Blocking XREAD for stream that ran dry (issue #5299) Failing
Blocking XREAD waiting new data Failing
Blocking XREAD waiting old data Failing
Blocking XREAD will not reply with an empty array Failing
Empty stream can be rewrite into AOF correctly Failing
Maximum XDEL ID behaves correctly Failing
Non blocking XREAD with empty streams Failing
Stream can be rewrite into AOF correctly after XDEL lastid Failing
XADD 0-* should succeed Failing
XADD IDs are incremental Failing
XADD IDs are incremental when ms is the same as well Failing
XADD IDs correctly report an error when overflowing Failing
XADD advances the entries-added counter and sets the recorded-first-entry-id Failing
XADD auto-generated sequence can’t be smaller than last ID Failing
XADD auto-generated sequence can’t overflow Failing
XADD auto-generated sequence is incremented for last ID Failing
XADD auto-generated sequence is zero for future timestamp ID Failing
XADD can CREATE an empty stream Failing
XADD can add entries into a stream that XRANGE can fetch Failing
XADD mass insertion and XLEN Failing
XADD streamID edge Failing
XADD with ID 0-0 Failing
XADD with LIMIT consecutive calls Failing
XADD with LIMIT delete entries no more than limit Failing
XADD with MAXLEN > xlen can propagate correctly Failing
XADD with MAXLEN option Failing
XADD with MAXLEN option and the ‘=’ argument Failing
XADD with MAXLEN option and the ‘~’ argument Failing
XADD with MINID > lastid can propagate correctly Failing
XADD with MINID option Failing
XADD with NOMKSTREAM option Failing
XADD with artial ID with maximal seq Failing
XADD with ~ MAXLEN and LIMIT can propagate correctly Failing
XADD with ~ MAXLEN can propagate correctly Failing
XADD with ~ MINID and LIMIT can propagate correctly Failing
XADD with ~ MINID can propagate correctly Failing
XADD wrong number of args Failing
XDEL basic test Failing
XDEL fuzz test Failing
XDEL multiply id test Failing
XDEL/TRIM are reflected by recorded first entry Failing
XGROUP HELP should not have unexpected options Failing
XINFO HELP should not have unexpected options Failing
XRANGE COUNT works as expected Failing
XRANGE can be used to iterate the whole stream Failing
XRANGE exclusive ranges Failing
XRANGE fuzzing Failing
XREAD + multiple XADD inside transaction Failing
XREAD last element blocking from empty stream Failing
XREAD last element blocking from non-empty stream Failing
XREAD last element from empty stream Failing
XREAD last element from multiple streams Failing
XREAD last element from non-empty stream Failing
XREAD last element with count > 1 Failing
XREAD streamID edge (blocking) Failing
XREAD streamID edge (no-blocking) Failing
XREAD with non empty second stream Failing
XREAD with non empty stream Failing
XREAD with same stream name multiple times should work Failing
XREAD: XADD + DEL + LPUSH should not awake client Failing
XREAD: XADD + DEL should not awake client Failing
XREVRANGE COUNT works as expected Failing
XREVRANGE regression test for issue #5006 Failing
XREVRANGE returns the reverse of XRANGE Failing
XSETID can set a specific ID Failing
XSETID cannot SETID on non-existent key Failing
XSETID cannot SETID with smaller ID Failing
XSETID cannot run with a maximal tombstone but without an offset Failing
XSETID cannot run with an offset but without a maximal tombstone Failing
XSETID cannot set smaller ID than current MAXDELETEDID Failing
XSETID cannot set the maximal tombstone with larger ID Failing
XSETID cannot set the offset to less than the length Failing
XSETID errors on negstive offset Failing
XTRIM with LIMIT delete entries no more than limit Failing
XTRIM with MAXLEN option basic test Failing
XTRIM with MINID option Failing
XTRIM with MINID option, big delta from master record Failing
XTRIM with ~ MAXLEN can propagate correctly Failing
XTRIM with ~ is limited Failing
XTRIM without ~ and with LIMIT Failing
XTRIM without ~ is not limited Failing

String

86 / 86 in-scope passing (100.0%) · 3 out of scope
Test Status
APPEND modifies the encoding from int to raw Passing
Coverage: SUBSTR Passing
DBSIZE should be 10000 now Passing
Extended SET EX option Passing
Extended SET EXAT option Passing
Extended SET GET option Passing
Extended SET GET option with NX Passing
Extended SET GET option with NX and previous value Passing
Extended SET GET option with XX Passing
Extended SET GET option with XX and no previous value Passing
Extended SET GET option with no previous value Passing
Extended SET GET with incorrect type should result in wrong type error Passing
Extended SET NX option Passing
Extended SET PX option Passing
Extended SET PXAT option Passing
Extended SET XX option Passing
Extended SET can detect syntax errors Passing
Extended SET using multiple options at once Passing
GETBIT against integer-encoded key Passing
GETBIT against non-existing key Passing
GETBIT against string-encoded key Passing
GETDEL command Passing
GETEX EX option Passing
GETEX EXAT option Passing
GETEX PERSIST option Passing
GETEX PX option Passing
GETEX PXAT option Passing
GETEX and GET expired key or not exist Passing
GETEX no arguments Passing
GETEX no option Passing
GETEX syntax errors Passing
GETRANGE against integer-encoded value Passing
GETRANGE against non-existing key Passing
GETRANGE against string value Passing
GETRANGE against wrong key type Passing
GETRANGE fuzzing Passing
GETRANGE with huge ranges, Github issue #1844 Passing
GETSET (replace old value) Passing
GETSET (set new value) Passing
LCS basic Passing
LCS indexes Passing
LCS indexes with match len Passing
LCS indexes with match len and minimum match len Passing
LCS len Passing
MGET Passing
MGET against non existing key Passing
MGET against non-string key Passing
MSET base case Passing
MSET with already existing - same key twice Passing
MSET/MSETNX wrong number of args Passing
MSETNX with already existent key Passing
MSETNX with already existing keys - same key twice Passing
MSETNX with not existing keys Passing
MSETNX with not existing keys - same key twice Passing
SET 10000 numeric keys and access all them in reverse order Passing
SET and GET an empty item Passing
SET and GET an item Passing
SET with IFEQ conditional Passing
SET with IFEQ conditional - non string current value with get Passing
SET with IFEQ conditional - non-string current value Passing
SET with IFEQ conditional - with get Passing
SET with IFEQ conditional - with nx Passing
SET with IFEQ conditional - with xx Passing
SETBIT against integer-encoded key Passing
SETBIT against key with wrong type Passing
SETBIT against non-existing key Passing
SETBIT against string-encoded key Passing
SETBIT fuzzing Passing
SETBIT with non-bit argument Passing
SETBIT with out of range bit offset Passing
SETNX against expired volatile key Passing
SETNX against not-expired volatile key Passing
SETNX target key exists Passing
SETNX target key missing Passing
SETRANGE against integer-encoded key Passing
SETRANGE against key with wrong type Passing
SETRANGE against non-existing key Passing
SETRANGE against string-encoded key Passing
SETRANGE with huge offset Passing
SETRANGE with out of range offset Passing
STRLEN against integer-encoded value Passing
STRLEN against non-existing key Passing
STRLEN against plain string Passing
Very big payload in GET/SET Passing
Very big payload random access Passing
memoryusage of string Passing
GETDEL propagate as DEL command to replica Out of scope
GETEX without argument does not propagate to replica Out of scope
SET EXAT / PXAT Expiration time is expired Out of scope

Zset

0 / 305 passing (0.0%)
Test Status
BZMPOP propagate as pop with count command to replica Failing
BZMPOP readraw in RESP2 Failing
BZMPOP readraw in RESP3 Failing
BZMPOP should not blocks on non key arguments - #10762 Failing
BZMPOP with illegal argument Failing
BZMPOP with multiple blocked clients Failing
BZMPOP_MIN with variadic ZADD Failing
BZMPOP_MIN with zero timeout should block indefinitely Failing
BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client Failing
BZMPOP_MIN, ZADD + DEL should not awake blocked client Failing
BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 Failing
BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 Failing
BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack Failing
BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist Failing
BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack Failing
BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist Failing
BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack Failing
BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist Failing
BZPOP/BZMPOP against wrong type Failing
BZPOPMIN unblock but the key is expired and then block again - reprocessing command Failing
BZPOPMIN with same key multiple times should work Failing
BZPOPMIN with variadic ZADD Failing
BZPOPMIN with zero timeout should block indefinitely Failing
BZPOPMIN, ZADD + DEL + SET should not awake blocked client Failing
BZPOPMIN, ZADD + DEL should not awake blocked client Failing
BZPOPMIN/BZPOPMAX - listpack RESP3 Failing
BZPOPMIN/BZPOPMAX - skiplist RESP3 Failing
BZPOPMIN/BZPOPMAX readraw in RESP2 Failing
BZPOPMIN/BZPOPMAX readraw in RESP3 Failing
BZPOPMIN/BZPOPMAX second sorted set has members - listpack Failing
BZPOPMIN/BZPOPMAX second sorted set has members - skiplist Failing
BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack Failing
BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist Failing
BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack Failing
BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist Failing
Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 Failing
Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 Failing
Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack Failing
Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist Failing
Basic ZPOPMIN/ZPOPMAX - listpack RESP3 Failing
Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 Failing
Basic ZPOPMIN/ZPOPMAX with a single key - listpack Failing
Basic ZPOPMIN/ZPOPMAX with a single key - skiplist Failing
Check encoding - listpack Failing
Check encoding - skiplist Failing
MULTI/EXEC is isolated from the point of view of BZMPOP_MIN Failing
MULTI/EXEC is isolated from the point of view of BZPOPMIN Failing
ZADD - Return value is the number of actually added items - listpack Failing
ZADD - Return value is the number of actually added items - skiplist Failing
ZADD - Variadic version base case - listpack Failing
ZADD - Variadic version base case - skiplist Failing
ZADD - Variadic version does not add nothing on single parsing err - listpack Failing
ZADD - Variadic version does not add nothing on single parsing err - skiplist Failing
ZADD - Variadic version will raise error on missing arg - listpack Failing
ZADD - Variadic version will raise error on missing arg - skiplist Failing
ZADD CH option changes return value to all changed elements - listpack Failing
ZADD CH option changes return value to all changed elements - skiplist Failing
ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack Failing
ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist Failing
ZADD GT and NX are not compatible - listpack Failing
ZADD GT and NX are not compatible - skiplist Failing
ZADD GT updates existing elements when new scores are greater - listpack Failing
ZADD GT updates existing elements when new scores are greater - skiplist Failing
ZADD INCR LT/GT replies with nill if score not updated - listpack Failing
ZADD INCR LT/GT replies with nill if score not updated - skiplist Failing
ZADD INCR LT/GT with inf - listpack Failing
ZADD INCR LT/GT with inf - skiplist Failing
ZADD INCR works like ZINCRBY - listpack Failing
ZADD INCR works like ZINCRBY - skiplist Failing
ZADD INCR works with a single score-element pair - listpack Failing
ZADD INCR works with a single score-element pair - skiplist Failing
ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack Failing
ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist Failing
ZADD LT and GT are not compatible - listpack Failing
ZADD LT and GT are not compatible - skiplist Failing
ZADD LT and NX are not compatible - listpack Failing
ZADD LT and NX are not compatible - skiplist Failing
ZADD LT updates existing elements when new scores are lower - listpack Failing
ZADD LT updates existing elements when new scores are lower - skiplist Failing
ZADD NX only add new elements without updating old ones - listpack Failing
ZADD NX only add new elements without updating old ones - skiplist Failing
ZADD NX with non existing key - listpack Failing
ZADD NX with non existing key - skiplist Failing
ZADD XX and NX are not compatible - listpack Failing
ZADD XX and NX are not compatible - skiplist Failing
ZADD XX existing key - listpack Failing
ZADD XX existing key - skiplist Failing
ZADD XX option without key - listpack Failing
ZADD XX option without key - skiplist Failing
ZADD XX returns the number of elements actually added - listpack Failing
ZADD XX returns the number of elements actually added - skiplist Failing
ZADD XX updates existing elements score - listpack Failing
ZADD XX updates existing elements score - skiplist Failing
ZADD overflows the maximum allowed elements in a listpack - multiple Failing
ZADD overflows the maximum allowed elements in a listpack - single Failing
ZADD overflows the maximum allowed elements in a listpack - single_multiple Failing
ZADD with options syntax error with incomplete pair - listpack Failing
ZADD with options syntax error with incomplete pair - skiplist Failing
ZCARD basics - listpack Failing
ZCARD basics - skiplist Failing
ZDIFF algorithm 1 - listpack Failing
ZDIFF algorithm 1 - skiplist Failing
ZDIFF algorithm 2 - listpack Failing
ZDIFF algorithm 2 - skiplist Failing
ZDIFF basics - listpack Failing
ZDIFF basics - skiplist Failing
ZDIFF fuzzing - listpack Failing
ZDIFF fuzzing - skiplist Failing
ZDIFF subtracting set from itself - listpack Failing
ZDIFF subtracting set from itself - skiplist Failing
ZDIFFSTORE basics - listpack Failing
ZDIFFSTORE basics - skiplist Failing
ZDIFFSTORE with a regular set - listpack Failing
ZDIFFSTORE with a regular set - skiplist Failing
ZINCRBY - can create a new sorted set - listpack Failing
ZINCRBY - can create a new sorted set - skiplist Failing
ZINCRBY - increment and decrement - listpack Failing
ZINCRBY - increment and decrement - skiplist Failing
ZINCRBY against invalid incr value - listpack Failing
ZINCRBY against invalid incr value - skiplist Failing
ZINCRBY calls leading to NaN result in error - listpack Failing
ZINCRBY calls leading to NaN result in error - skiplist Failing
ZINCRBY does not work variadic even if shares ZADD implementation - listpack Failing
ZINCRBY does not work variadic even if shares ZADD implementation - skiplist Failing
ZINCRBY return value - listpack Failing
ZINCRBY return value - skiplist Failing
ZINTER RESP3 - listpack Failing
ZINTER RESP3 - skiplist Failing
ZINTER basics - listpack Failing
ZINTER basics - skiplist Failing
ZINTER with weights - listpack Failing
ZINTER with weights - skiplist Failing
ZINTERCARD basics - listpack Failing
ZINTERCARD basics - skiplist Failing
ZINTERCARD with illegal arguments Failing
ZINTERSTORE #516 regression, mixed sets and ziplist zsets Failing
ZINTERSTORE basics - listpack Failing
ZINTERSTORE basics - skiplist Failing
ZINTERSTORE regression with two sets, intset+hashtable Failing
ZINTERSTORE with +inf/-inf scores - listpack Failing
ZINTERSTORE with +inf/-inf scores - skiplist Failing
ZINTERSTORE with AGGREGATE MAX - listpack Failing
ZINTERSTORE with AGGREGATE MAX - skiplist Failing
ZINTERSTORE with AGGREGATE MIN - listpack Failing
ZINTERSTORE with AGGREGATE MIN - skiplist Failing
ZINTERSTORE with NaN weights - listpack Failing
ZINTERSTORE with NaN weights - skiplist Failing
ZINTERSTORE with a regular set and weights - listpack Failing
ZINTERSTORE with a regular set and weights - skiplist Failing
ZINTERSTORE with weights - listpack Failing
ZINTERSTORE with weights - skiplist Failing
ZLEXCOUNT advanced - listpack Failing
ZLEXCOUNT advanced - skiplist Failing
ZMPOP propagate as pop with count command to replica Failing
ZMPOP readraw in RESP2 Failing
ZMPOP readraw in RESP3 Failing
ZMPOP with illegal argument Failing
ZMPOP_MIN/ZMPOP_MAX with count - listpack Failing
ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 Failing
ZMPOP_MIN/ZMPOP_MAX with count - skiplist Failing
ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 Failing
ZMSCORE - listpack Failing
ZMSCORE - skiplist Failing
ZMSCORE retrieve Failing
ZMSCORE retrieve from empty set Failing
ZMSCORE retrieve requires one or more members Failing
ZMSCORE retrieve single member Failing
ZMSCORE retrieve with missing member Failing
ZPOP/ZMPOP against wrong type Failing
ZPOPMAX with negative count Failing
ZPOPMAX with the count 0 returns an empty array Failing
ZPOPMIN with negative count Failing
ZPOPMIN with the count 0 returns an empty array Failing
ZPOPMIN/ZPOPMAX readraw in RESP2 Failing
ZPOPMIN/ZPOPMAX readraw in RESP3 Failing
ZPOPMIN/ZPOPMAX with count - listpack Failing
ZPOPMIN/ZPOPMAX with count - listpack RESP3 Failing
ZPOPMIN/ZPOPMAX with count - skiplist Failing
ZPOPMIN/ZPOPMAX with count - skiplist RESP3 Failing
ZRANDMEMBER - listpack Failing
ZRANDMEMBER - skiplist Failing
ZRANDMEMBER count of 0 is handled correctly Failing
ZRANDMEMBER count of 0 is handled correctly - emptyarray Failing
ZRANDMEMBER count overflow Failing
ZRANDMEMBER with <count> - listpack Failing
ZRANDMEMBER with <count> - skiplist Failing
ZRANDMEMBER with <count> against non existing key Failing
ZRANDMEMBER with <count> against non existing key - emptyarray Failing
ZRANDMEMBER with RESP3 Failing
ZRANGE BYLEX Failing
ZRANGE BYSCORE REV LIMIT Failing
ZRANGE basics - listpack Failing
ZRANGE basics - skiplist Failing
ZRANGE invalid syntax Failing
ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist Failing
ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack Failing
ZRANGEBYLEX with LIMIT - listpack Failing
ZRANGEBYLEX with LIMIT - skiplist Failing
ZRANGEBYLEX with invalid lex range specifiers - listpack Failing
ZRANGEBYLEX with invalid lex range specifiers - skiplist Failing
ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack Failing
ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist Failing
ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist Failing
ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack Failing
ZRANGEBYSCORE with LIMIT - listpack Failing
ZRANGEBYSCORE with LIMIT - skiplist Failing
ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack Failing
ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist Failing
ZRANGEBYSCORE with WITHSCORES - listpack Failing
ZRANGEBYSCORE with WITHSCORES - skiplist Failing
ZRANGEBYSCORE with non-value min or max - listpack Failing
ZRANGEBYSCORE with non-value min or max - skiplist Failing
ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack Failing
ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist Failing
ZRANGESTORE - empty range Failing
ZRANGESTORE - src key missing Failing
ZRANGESTORE - src key wrong type Failing
ZRANGESTORE BYLEX Failing
ZRANGESTORE BYLEX - empty range Failing
ZRANGESTORE BYSCORE Failing
ZRANGESTORE BYSCORE - empty range Failing
ZRANGESTORE BYSCORE LIMIT Failing
ZRANGESTORE BYSCORE REV LIMIT Failing
ZRANGESTORE RESP3 Failing
ZRANGESTORE basic Failing
ZRANGESTORE invalid syntax Failing
ZRANGESTORE range Failing
ZRANGESTORE with zset-max-listpack-entries 0 #10767 case Failing
ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding Failing
ZRANK - after deletion - listpack Failing
ZRANK - after deletion - skiplist Failing
ZRANK/ZREVRANK basics - listpack Failing
ZRANK/ZREVRANK basics - skiplist Failing
ZREM removes key after last element is removed - listpack Failing
ZREM removes key after last element is removed - skiplist Failing
ZREM variadic version - listpack Failing
ZREM variadic version - skiplist Failing
ZREM variadic version – remove elements after key deletion - listpack Failing
ZREM variadic version – remove elements after key deletion - skiplist Failing
ZREMRANGEBYLEX basics - listpack Failing
ZREMRANGEBYLEX basics - skiplist Failing
ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist Failing
ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack Failing
ZREMRANGEBYRANK basics - listpack Failing
ZREMRANGEBYRANK basics - skiplist Failing
ZREMRANGEBYSCORE basics - listpack Failing
ZREMRANGEBYSCORE basics - skiplist Failing
ZREMRANGEBYSCORE with non-value min or max - listpack Failing
ZREMRANGEBYSCORE with non-value min or max - skiplist Failing
ZREVRANGE basics - listpack Failing
ZREVRANGE basics - skiplist Failing
ZSCORE - listpack Failing
ZSCORE - skiplist Failing
ZSCORE after a DEBUG RELOAD - listpack Failing
ZSCORE after a DEBUG RELOAD - skiplist Failing
ZSET basic ZADD and score update - listpack Failing
ZSET basic ZADD and score update - skiplist Failing
ZSET commands don’t accept the empty strings as valid score Failing
ZSET element can’t be set to NaN with ZADD - listpack Failing
ZSET element can’t be set to NaN with ZADD - skiplist Failing
ZSET element can’t be set to NaN with ZINCRBY - listpack Failing
ZSET element can’t be set to NaN with ZINCRBY - skiplist Failing
ZSET skiplist order consistency when elements are moved Failing
ZSET sorting stresser - listpack Failing
ZSET sorting stresser - skiplist Failing
ZSETs ZRANK augmented skip list stress testing - listpack Failing
ZSETs ZRANK augmented skip list stress testing - skiplist Failing
ZSETs skiplist implementation backlink consistency test - listpack Failing
ZSETs skiplist implementation backlink consistency test - skiplist Failing
ZUNION with weights - listpack Failing
ZUNION with weights - skiplist Failing
ZUNION/ZINTER with AGGREGATE MAX - listpack Failing
ZUNION/ZINTER with AGGREGATE MAX - skiplist Failing
ZUNION/ZINTER with AGGREGATE MIN - listpack Failing
ZUNION/ZINTER with AGGREGATE MIN - skiplist Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack Failing
ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist Failing
ZUNIONSTORE against non-existing key doesn’t set destination - listpack Failing
ZUNIONSTORE against non-existing key doesn’t set destination - skiplist Failing
ZUNIONSTORE basics - listpack Failing
ZUNIONSTORE basics - skiplist Failing
ZUNIONSTORE regression, should not create NaN in scores Failing
ZUNIONSTORE result is sorted Failing
ZUNIONSTORE with +inf/-inf scores - listpack Failing
ZUNIONSTORE with +inf/-inf scores - skiplist Failing
ZUNIONSTORE with AGGREGATE MAX - listpack Failing
ZUNIONSTORE with AGGREGATE MAX - skiplist Failing
ZUNIONSTORE with AGGREGATE MIN - listpack Failing
ZUNIONSTORE with AGGREGATE MIN - skiplist Failing
ZUNIONSTORE with NaN weights - listpack Failing
ZUNIONSTORE with NaN weights - skiplist Failing
ZUNIONSTORE with a regular set and weights - listpack Failing
ZUNIONSTORE with a regular set and weights - skiplist Failing
ZUNIONSTORE with empty set - listpack Failing
ZUNIONSTORE with empty set - skiplist Failing
ZUNIONSTORE with weights - listpack Failing
ZUNIONSTORE with weights - skiplist Failing
ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES Failing
zset score double range Failing
zunionInterDiffGenericCommand acts on SET and ZSET Failing
zunionInterDiffGenericCommand at least 1 input key Failing

Cluster

Cli

0 / 5 passing (0.0%)
Test Status
Migrate the last slot away from a node using valkey-cli Failing
valkey-cli -4 –cluster add-node using 127.0.0.1 with cluster-port Failing
valkey-cli -4 –cluster add-node using localhost with cluster-port Failing
valkey-cli -4 –cluster create using 127.0.0.1 with cluster-port Failing
valkey-cli -4 –cluster create using localhost with cluster-port Failing

Divergent-cluster-shardid-conf

0 / 1 passing (0.0%)
Test Status
divergent cluster shardid conflict Failing

Integration

Aof-multi-part

0 / 36 passing (0.0%)
Test Status
AOF can produce consecutive sequence number after reload Failing
AOF enable during BGSAVE will not write data util AOFRW finish Failing
AOF enable will create manifest file Failing
AOF enable/disable auto gc Failing
AOF multiple rewrite failures will open multiple INCR AOFs Failing
AOF rewrite doesn’t open new aof when AOF turn off Failing
AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled Failing
AOF will trigger limit when AOFRW fails many times Failing
Changing aof-use-rdb-preamble during rewrite process Failing
Make sure aof manifest $aof_manifest_name not in aof directory Failing
Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF Failing
Multi Part AOF can continue the upgrade from the interrupted upgrade state Failing
Multi Part AOF can create BASE (AOF format) when server starts from empty Failing
Multi Part AOF can create BASE (RDB format) when server starts from empty Failing
Multi Part AOF can handle appendfilename contains whitespaces Failing
Multi Part AOF can load data discontinuously increasing sequence Failing
Multi Part AOF can load data from old version valkey (rdb preamble no) Failing
Multi Part AOF can load data from old version valkey (rdb preamble yes) Failing
Multi Part AOF can load data when manifest add new k-v Failing
Multi Part AOF can load data when some AOFs are empty Failing
Multi Part AOF can start when no aof and no manifest Failing
Multi Part AOF can start when we have en empty AOF dir Failing
Multi Part AOF can upgrade when when two servers share the same server dir Failing
Multi Part AOF can upgrade when when two servers share the same server dir (server1) Failing
Multi Part AOF can upgrade when when two servers share the same server dir (server2) Failing
Multi Part AOF can’t load data when some file missing Failing
Multi Part AOF can’t load data when the manifest contains the old AOF file name but the file does not exist in server dir and aof dir Failing
Multi Part AOF can’t load data when the manifest file is empty Failing
Multi Part AOF can’t load data when the manifest format is wrong (line too long) Failing
Multi Part AOF can’t load data when the manifest format is wrong (line too short) Failing
Multi Part AOF can’t load data when the manifest format is wrong (missing key) Failing
Multi Part AOF can’t load data when the manifest format is wrong (odd parameter) Failing
Multi Part AOF can’t load data when the manifest format is wrong (type unknown) Failing
Multi Part AOF can’t load data when the sequence not increase monotonically Failing
Multi Part AOF can’t load data when there are blank lines in the manifest file Failing
Multi Part AOF can’t load data when there is a duplicate base file Failing

Aof

0 / 43 passing (0.0%)
Test Status
AOF fsync always barrier issue Failing
AOF+EXPIRE: List should be empty Failing
AOF+EXPIRE: Server should have been started Failing
AOF+LMPOP/BLMPOP: after pop elements from the list Failing
AOF+LMPOP/BLMPOP: pop elements from the list Failing
AOF+SPOP: Server should have been started Failing
AOF+SPOP: Set should have 1 member Failing
AOF+ZMPOP/BZMPOP: after pop elements from the zset Failing
AOF+ZMPOP/BZMPOP: pop elements from the zset Failing
Append a new command after loading an incomplete AOF Failing
Bad format: Server should have logged an error Failing
EVAL can process writes from AOF in read-only replicas Failing
EVAL timeout with slow verbatim Lua script from AOF Failing
FLUSHDB / FLUSHALL should persist in AOF Failing
Fixed AOF: Keyspace should contain values that were parseable Failing
Fixed AOF: Server should have been started Failing
GETEX should not append to AOF Failing
Generate timestamp annotations in AOF Failing
Server should not try to convert DEL into EXPIREAT for EXPIRE -1 Failing
Short read + command: Server should start Failing
Short read: Server should have logged an error Failing
Short read: Server should start if load-truncated is yes Failing
Short read: Utility should be able to fix the AOF Failing
Short read: Utility should confirm the AOF is not valid Failing
Short read: Utility should show the abnormal line num in AOF Failing
Successfully load AOF which has timestamp annotations inside Failing
Test cluster slots / cluster shards in aof won’t crash Failing
Test command check in aof won’t crash Failing
Test valkey-check-aof for Multi Part AOF contains a format error Failing
Test valkey-check-aof for Multi Part AOF with rdb-preamble AOF base Failing
Test valkey-check-aof for Multi Part AOF with resp AOF base Failing
Test valkey-check-aof for old style rdb-preamble AOF Failing
Test valkey-check-aof for old style resp AOF Failing
Test valkey-check-aof for old style resp AOF - has data in the same format as manifest Failing
Test valkey-check-aof only truncates the last file for Multi Part AOF in fix mode Failing
Test valkey-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode Failing
Truncate AOF to specific timestamp Failing
Truncated AOF loaded: we expect foo to be equal to 5 Failing
Truncated AOF loaded: we expect foo to be equal to 6 now Failing
Turning appendonly on and off within a transaction Failing
Unfinished MULTI: Server should have logged an error Failing
Unfinished MULTI: Server should start if load-truncated is yes Failing
Unknown command: Server should have logged an error Failing

Block-repl

0 / 2 passing (0.0%)
Test Status
First server should have role slave after SLAVEOF Failing
Test replication with blocking lists and sorted sets operations Failing

Convert-ziplist-hash-on-load

0 / 2 passing (0.0%)
Test Status
RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded Failing
RDB load ziplist hash: converts to listpack when RDB loading Failing

Convert-ziplist-zset-on-load

0 / 2 passing (0.0%)
Test Status
RDB load ziplist zset: converts to listpack when RDB loading Failing
RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded Failing

Convert-zipmap-hash-on-load

0 / 3 passing (0.0%)
Test Status
RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded Failing
RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded Failing
RDB load zipmap hash: converts to listpack Failing

Corrupt-dump-fuzzer

0 / 2 passing (0.0%)
Test Status
Fuzzer corrupt restore payloads - sanitize_dump: no Failing
Fuzzer corrupt restore payloads - sanitize_dump: yes Failing

Corrupt-dump

0 / 73 passing (0.0%)
Test Status
corrupt payload: #3080 - quicklist Failing
corrupt payload: #3080 - ziplist Failing
corrupt payload: #7445 - with sanitize Failing
corrupt payload: fuzzer findings - LCS OOM Failing
corrupt payload: fuzzer findings - NPD in quicklistIndex Failing
corrupt payload: fuzzer findings - NPD in streamIteratorGetID Failing
corrupt payload: fuzzer findings - dict init to huge size Failing
corrupt payload: fuzzer findings - empty hash ziplist Failing
corrupt payload: fuzzer findings - empty intset Failing
corrupt payload: fuzzer findings - empty quicklist Failing
corrupt payload: fuzzer findings - empty set listpack Failing
corrupt payload: fuzzer findings - empty zset Failing
corrupt payload: fuzzer findings - encoded entry header reach outside the allocation Failing
corrupt payload: fuzzer findings - gcc asan reports false leak on assert Failing
corrupt payload: fuzzer findings - hash crash Failing
corrupt payload: fuzzer findings - hash listpack first element too long entry len Failing
corrupt payload: fuzzer findings - hash with len of 0 Failing
corrupt payload: fuzzer findings - hash ziplist too long entry len Failing
corrupt payload: fuzzer findings - huge string Failing
corrupt payload: fuzzer findings - infinite loop Failing
corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding Failing
corrupt payload: fuzzer findings - invalid read in lzf_decompress Failing
corrupt payload: fuzzer findings - invalid ziplist encoding Failing
corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set Failing
corrupt payload: fuzzer findings - listpack NPD on invalid stream Failing
corrupt payload: fuzzer findings - lpFind invalid access Failing
corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read Failing
corrupt payload: fuzzer findings - negative reply length Failing
corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff Failing
corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang Failing
corrupt payload: fuzzer findings - stream PEL without consumer Failing
corrupt payload: fuzzer findings - stream bad lp_count Failing
corrupt payload: fuzzer findings - stream bad lp_count - unsanitized Failing
corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 Failing
corrupt payload: fuzzer findings - stream integrity check issue Failing
corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue Failing
corrupt payload: fuzzer findings - stream listpack valgrind issue Failing
corrupt payload: fuzzer findings - stream with bad lpFirst Failing
corrupt payload: fuzzer findings - stream with no records Failing
corrupt payload: fuzzer findings - stream with non-integer entry id Failing
corrupt payload: fuzzer findings - streamLastValidID panic Failing
corrupt payload: fuzzer findings - uneven entry count in hash Failing
corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue Failing
corrupt payload: fuzzer findings - valgrind fishy value warning Failing
corrupt payload: fuzzer findings - valgrind invalid read Failing
corrupt payload: fuzzer findings - valgrind negative malloc Failing
corrupt payload: fuzzer findings - valgrind ziplist prev too big Failing
corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist Failing
corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 Failing
corrupt payload: fuzzer findings - zset ziplist invalid tail offset Failing
corrupt payload: fuzzer findings - zset zslInsert with a NAN score Failing
corrupt payload: hash duplicate records Failing
corrupt payload: hash empty zipmap Failing
corrupt payload: hash listpack with duplicate records Failing
corrupt payload: hash listpack with duplicate records - convert Failing
corrupt payload: hash with valid zip list header, invalid entry len Failing
corrupt payload: hash ziplist uneven record count Failing
corrupt payload: hash ziplist with duplicate records Failing
corrupt payload: invalid zlbytes header Failing
corrupt payload: listpack invalid size header Failing
corrupt payload: listpack too long entry len Failing
corrupt payload: listpack too long entry prev len Failing
corrupt payload: listpack very long entry len Failing
corrupt payload: load corrupted rdb with empty keys Failing
corrupt payload: load corrupted rdb with no CRC - #3505 Failing
corrupt payload: quicklist big ziplist prev len Failing
corrupt payload: quicklist encoded_len is 0 Failing
corrupt payload: quicklist listpack entry start with EOF Failing
corrupt payload: quicklist small ziplist prev len Failing
corrupt payload: quicklist with empty ziplist Failing
corrupt payload: quicklist ziplist wrong count Failing
corrupt payload: stream with duplicate consumers Failing
corrupt payload: valid zipped hash header, dup records Failing

Cross-version-replication

0 / 2 passing (0.0%)
Test Status
Replicate a SET command from 0 0 Failing
Start replication from 0 0 Failing

Dismiss-mem

0 / 4 passing (0.0%)
Test Status
dismiss all data types memory Failing
dismiss client output buffer Failing
dismiss client query buffer Failing
dismiss replication backlog Failing

Dual-channel-replication

0 / 37 passing (0.0%)
Test Status
Dual channel replication sync doesn’t impair subsequent normal syncs Failing
Dual-channel replication counts snapshot bytes Failing
Online toggle dual-channel-replication-enabled on primary, starting with ‘no’ Failing
Online toggle dual-channel-replication-enabled on primary, starting with ‘yes’ Failing
Online toggle dual-channel-replication-enabled on replica, starting with ‘no’ Failing
Online toggle dual-channel-replication-enabled on replica, starting with ‘yes’ Failing
Primary abort sync if all slaves dropped dual-channel-replication Failing
Primary memory usage does not increase during dual-channel-replication sync Failing
Psync established after RDB load - beyond grace period Failing
Psync established after rdb load - within grace period Failing
Replica notice main-connection killed during rdb load callback Failing
Replica recover main-connection killed Failing
Replica recover rdb-connection killed Failing
Steady state after dual channel sync Failing
Sync should continue if not all slaves dropped Failing
Test diverse replica sync: dual-channel on/off Failing
Test dual channel replication slave of no one after main conn kill Failing
Test dual channel replication slave of no one after rdb conn kill Failing
Test dual-channel-replication primary gets cob overrun before established psync Failing
Test dual-channel-replication primary gets cob overrun during replica rdb load Failing
Test dual-channel-replication primary reject set-rdb-client after client killed Failing
Test dual-channel-replication replica main channel disconnected Failing
Test dual-channel-replication replica rdb connection disconnected Failing
Test dual-channel-replication sync- psync established after rdb load Failing
Test dual-channel-replication-enabled enters wait_bgsave Failing
Test dual-channel-replication-enabled replica enters handshake Failing
Test dual-channel-replication-enabled replica is able to sync Failing
Test dual-channel: primary tracking replica backlog refcount - start with backlog Failing
Test dual-channel: primary tracking replica backlog refcount - start with empty backlog Failing
Test replica unable to join dual channel replication sync after started Failing
Test replica’s buffer limit reached Failing
Toggle dual-channel-replication-enabled: no start Failing
Toggle dual-channel-replication-enabled: yes start Failing
dual-channel replication reports rdb transfer bytes Failing
dual-channel-replication fails when primary diskless disabled Failing
dual-channel-replication with multiple replicas Failing
dual-channel-replication: Primary COB growth with inactive replica Failing

Failover

0 / 12 in-scope passing (0.0%) · 1 out of scope
Test Status
failover aborts if target rejects sync request Failing
failover command fails when sent to a replica Failing
failover command fails with force without timeout Failing
failover command fails with invalid host Failing
failover command fails with invalid port Failing
failover command fails with just force and timeout Failing
failover command fails without connected replica Failing
failover command to any replica works Failing
failover command to specific replica works Failing
failover to a replica with force works Failing
failover with timeout aborts if replica never catches up Failing
failovers can be aborted Failing
setup replication for following tests Out of scope

Logging

0 / 7 passing (0.0%)
Test Status
Config hide-user-data-from-log is off Failing
Config hide-user-data-from-log is on Failing
Crash report generated on DEBUG SEGFAULT Failing
Crash report generated on SIGABRT Failing
Generate stacktrace on assertion Failing
Server is able to generate a stack trace on selected systems Failing
Stacktraces generated on SIGALRM Failing

Psync2-master-restart

0 / 4 passing (0.0%)
Test Status
PSYNC2: Full resync after Master restart when too many key expired Failing
PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 Failing
PSYNC2: Partial resync after Master restart using RDB aux fields with data Failing
PSYNC2: Partial resync after Master restart using RDB aux fields with expire Failing

Psync2-pingoff

0 / 6 passing (0.0%)
Test Status
Chained replicas disconnect when replica re-connect with the same master Failing
Make the old master a replica of the new one and check conditions Failing
PSYNC2 pingoff: pause replica and promote it Failing
PSYNC2 pingoff: setup Failing
PSYNC2 pingoff: write and wait replication Failing
test various edge cases of repl topology changes with missing pings at the end Failing

Psync2-reg

0 / 4 passing (0.0%)
Test Status
PSYNC2 #3899 regression: kill chained replica Failing
PSYNC2 #3899 regression: kill first replica Failing
PSYNC2 #3899 regression: setup Failing
PSYNC2 #3899 regression: verify consistency Failing

Psync2

0 / 11 passing (0.0%)
Test Status
PSYNC2: — CYCLE $cycle — Failing
PSYNC2: — CYCLE 1 — Failing
PSYNC2: Bring the master back again for next test Failing
PSYNC2: Partial resync after restart using RDB aux fields Failing
PSYNC2: Set #$slave_id to replicate from #$mid Failing
PSYNC2: [NEW LAYOUT] Set #0 as master Failing
PSYNC2: [NEW LAYOUT] Set #$master_id as master Failing
PSYNC2: cluster is consistent after failover Failing
PSYNC2: cluster is consistent after load (x = $x) Failing
PSYNC2: generate load while killing replication links Failing
PSYNC2: total sum of full synchronizations is exactly 4 Failing

Rdb

0 / 19 passing (0.0%)
Test Status
RDB encoding loading test Failing
RDB future version loading, relaxed version check Failing
RDB future version loading, strict version check Failing
Server should not start if RDB file can’t be open Failing
Server should not start if RDB is corrupted Failing
Server started empty with empty RDB file Failing
Server started empty with non-existing RDB file Failing
Test FLUSHALL aborts bgsave Failing
Test RDB load info Failing
Test RDB stream encoding Failing
Test RDB stream encoding - sanitize dump Failing
Test child sending info Failing
bgsave cancel aborts save Failing
bgsave cancel schedulled request Failing
bgsave resets the change counter Failing
client freed during loading Failing
failed bgsave prevents writes Failing
script won’t load anymore if it’s in rdb Failing
test old version rdb file Failing

Replica-redirect

0 / 9 passing (0.0%)
Test Status
CLIENT INFO Failing
client paused during failover-in-progress Failing
non-data access commands are not redirected Failing
replica allow read command by default Failing
replica allow read command in READONLY mode Failing
replica redirect read and write command after CLIENT CAPA REDIRECT Failing
replica reply READONLY error for write command by default Failing
write command inside MULTI is QUEUED, EXEC should be REDIRECT Failing
write command inside MULTI is REDIRECT, EXEC should be EXECABORT Failing

Replication-2

0 / 7 passing (0.0%)
Test Status
First server should have role slave after SLAVEOF Failing
If min-slaves-to-write is honored, write is accepted Failing
If min-slaves-to-write is honored, write is accepted (again) Failing
MASTER and SLAVE dataset should be identical after complex ops Failing
No write if min-slaves-max-lag is > of the slave lag Failing
No write if min-slaves-to-write is < attached slaves Failing
min-slaves-to-write is ignored by slaves Failing

Replication-3

0 / 7 passing (0.0%)
Test Status
First server should have role slave after SLAVEOF Failing
MASTER and SLAVE consistency with expire Failing
Master can replicate command longer than client-query-buffer-limit on replica Failing
PFCOUNT doesn’t use expired key on readonly replica Failing
PFCOUNT updates cache on readonly replica Failing
Slave is able to evict keys created in writable slaves Failing
Writable replica doesn’t return expired keys Failing

Replication-4

0 / 13 passing (0.0%)
Test Status
Data divergence can happen under default conditions Failing
Data divergence is allowed on writable replicas Failing
First server should have role slave after SLAVEOF Failing
Replication of SPOP command – alsoPropagate() API Failing
Replication of an expired key does not delete the expired key Failing
Replication: commands with many arguments (issue #1221) Failing
Test replication with parallel clients writing in different DBs Failing
With min-slaves-to-write (1,3): master should be writable Failing
With min-slaves-to-write (2,3): master should not be writable Failing
With min-slaves-to-write function without no-write flag Failing
With min-slaves-to-write: master not writable with lagged slave Failing
With not enough good slaves, read in Lua script is still accepted Failing
spopwithcount rewrite srem command Failing

Replication-buffer

0 / 14 passing (0.0%)
Test Status
All replicas share one global replication buffer dualchannel no Failing
All replicas share one global replication buffer dualchannel yes Failing
Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel no Failing
Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel yes Failing
Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel no Failing
Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel yes Failing
Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel no Failing
Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel yes Failing
Replication backlog memory will become smaller if disconnecting with replica dualchannel no Failing
Replication backlog memory will become smaller if disconnecting with replica dualchannel yes Failing
Replication backlog size can outgrow the backlog limit config dualchannel no Failing
Replication backlog size can outgrow the backlog limit config dualchannel yes Failing
Replication buffer will become smaller when no replica uses dualchannel no Failing
Replication buffer will become smaller when no replica uses dualchannel yes Failing

Replication-psync

0 / 32 passing (0.0%)
Test Status
Detect write load to master Failing
Slave should be able to synchronize with the master Failing
Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: no, reconnect: 0) Failing
Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: no, reconnect: 0) Failing
Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: no, reconnect: 0) Failing
Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: yes, reconnect: 0) Failing
Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: no, reconnect: 0) Failing
Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: yes, reconnect: 0) Failing
Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: yes, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: no, reconnect: 1) Failing
Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) Failing

Replication

0 / 67 passing (0.0%)
Test Status
BLMOVE (left, left) replication, list exists Failing
BLMOVE (left, left) replication, when blocking against empty list Failing
BLMOVE (left, right) replication, list exists Failing
BLMOVE (left, right) replication, when blocking against empty list Failing
BLMOVE (right, left) replication, list exists Failing
BLMOVE (right, left) replication, when blocking against empty list Failing
BLMOVE (right, right) replication, list exists Failing
BLMOVE (right, right) replication, when blocking against empty list Failing
BLPOP followed by role change, issue #2473 Failing
BRPOPLPUSH replication, list exists Failing
BRPOPLPUSH replication, when blocking against empty list Failing
Blocked commands and configs during async-loading Failing
Busy script during async loading Failing
Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled dual-channel-replication-enabled=no Failing
Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb dual-channel-replication-enabled=no Failing
Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled dual-channel-replication-enabled=yes Failing
Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb dual-channel-replication-enabled=yes Failing
Discard cache master before loading transferred RDB when full sync with dual-channel-replication no Failing
Discard cache master before loading transferred RDB when full sync with dual-channel-replication yes Failing
Diskless load swapdb (async_loading): new database is exposed after swapping Failing
Diskless load swapdb (async_loading): old database is exposed after async replication fails Failing
Diskless load swapdb (async_loading): old database is exposed while async replication is in progress Failing
Diskless load swapdb (async_loading): replica enter async_loading Failing
Diskless load swapdb (different replid): new database is exposed after swapping dual-channel=yes Failing
Diskless load swapdb (different replid): old database is exposed after replication fails dual-channel=no Failing
Diskless load swapdb (different replid): replica enter loading dual-channel-replication-enabled=no Failing
Don’t disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication no Failing
Don’t disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication yes Failing
FLUSHDB / FLUSHALL should replicate Failing
GETSET replication Failing
INCRBYFLOAT replication, should not remove expire Failing
Kill rdb child process if its dumping RDB is not useful Failing
Master stream is correctly processed while the replica has a script in -BUSY state Failing
PSYNC with wrong offset should throw error Failing
ROLE in master reports master with a slave Failing
ROLE in slave reports slave in connected state Failing
Replica keep the old data if RDB file save fails in disk-based replication Failing
Replica output bytes metric Failing
SET on the master should immediately propagate Failing
SLAVEOF should start with link status “down” Failing
Second server should have role master at first Failing
Set instance A as slave of B Failing
Slave enters handshake Failing
Slave enters wait_bgsave Failing
Slave is able to detect timeout during handshake Failing
Sync should have transferred keys from master Failing
Test replication with lazy expire Failing
The link status should be up Failing
The role should immediately be changed to “replica” Failing
diskless all replicas drop during rdb pipe Failing
diskless fast replicas drop during rdb pipe Failing
diskless loading short read Failing
diskless no replicas drop during rdb pipe Failing
diskless replication child being killed is collected Failing
diskless replication read pipe cleanup Failing
diskless slow replicas drop during rdb pipe Failing
diskless timeout replicas drop during rdb pipe Failing
replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=no Failing
replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=yes Failing
replica can handle EINTR if use diskless load Failing
replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) Failing
replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) Failing
replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) Failing
replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) Failing
replicaof right after disconnection Failing
replication child dies when parent is killed - diskless: no dual-channel-replication-enabled: no Failing
replication child dies when parent is killed - diskless: yes dual-channel-replication-enabled: yes Failing

Shutdown

0 / 6 passing (0.0%)
Test Status
Shutting down master waits for replica then aborted Failing
Shutting down master waits for replica then fails Failing
Shutting down master waits for replica timeout Failing
Shutting down master waits for replica to catch up (shutdown) Failing
Shutting down master waits for replica to catch up (sigterm) Failing
Shutting down primary wait for replica after previous block Failing

Skip-rdb-checksum

0 / 1 passing (0.0%)
Test Status
Skip RDB checksum sync - tls, repl_diskless_sync, repl_diskless_load Failing

Valkey-benchmark

0 / 10 passing (0.0%)
Test Status
benchmark: arbitrary command Failing
benchmark: clients idle mode should return error when reached maxclients limit Failing
benchmark: connecting using URI set,get Failing
benchmark: connecting using URI with authentication set,get Failing
benchmark: full test suite Failing
benchmark: keyspace length Failing
benchmark: multi-thread set,get Failing
benchmark: pipelined full set,get Failing
benchmark: read last argument from stdin Failing
benchmark: set,get Failing

Valkey-cli

0 / 24 passing (0.0%)
Test Status
Connecting as a replica Failing
DUMP RESTORE with -X option Failing
DUMP RESTORE with -x option Failing
Dumping an RDB - functions only: $functions_only Failing
Interactive CLI: $name Failing
Interactive non-TTY CLI: $name Failing
Non-interactive TTY CLI: $name Failing
Non-interactive non-TTY CLI: $name Failing
Options -X with illegal argument Failing
Piping raw protocol Failing
Scan mode Failing
Valid Connection Scheme: redis:// Failing
Valid Connection Scheme: rediss:// Failing
Valid Connection Scheme: valkey:// Failing
Valid Connection Scheme: valkeys:// Failing
valkey-cli make sure selected db survives connection drops Failing
valkey-cli pubsub mode when subscribing to the same channel Failing
valkey-cli pubsub mode with multiple pattern channel subscriptions Failing
valkey-cli pubsub mode with multiple shard channel subscriptions Failing
valkey-cli pubsub mode with multiple standard channel subscriptions Failing
valkey-cli pubsub mode with multiple subscription types Failing
valkey-cli pubsub mode with single pattern channel subscription Failing
valkey-cli pubsub mode with single shard channel subscription Failing
valkey-cli pubsub mode with single standard channel subscription Failing

Was this page helpful?