>>> valkey: Building main/valkey 8.1.7-r0 (using abuild 3.15.0-r1) started Sun, 10 May 2026 14:07:10 +0000 >>> valkey: Validating /home/buildozer/aports/main/valkey/APKBUILD... >>> valkey: Analyzing dependencies... >>> valkey: Installing for build: build-base linux-headers openssl-dev tcl procps (1/10) Installing linux-headers (6.14.2-r0) (2/10) Installing openssl-dev (3.5.6-r0) (3/10) Installing tzdata (2026b-r0) (4/10) Installing tcl (8.6.16-r0) (5/10) Installing libintl (0.24.1-r0) (6/10) Installing skalibs-libs (2.14.4.0-r0) (7/10) Installing utmps-libs (0.1.3.1-r0) (8/10) Installing libproc2 (4.0.4-r3) (9/10) Installing procps-ng (4.0.4-r3) (10/10) Installing .makedepends-valkey (20260510.140711) Executing busybox-1.37.0-r20.trigger OK: 413 MiB in 114 packages >>> valkey: Cleaning up srcdir >>> valkey: Cleaning up pkgdir >>> valkey: Cleaning up tmpdir >>> valkey: Fetching https://distfiles.alpinelinux.org/distfiles/v3.22/valkey-8.1.7.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> valkey: Fetching https://github.com/valkey-io/valkey/archive/8.1.7/valkey-8.1.7.tar.gz Connecting to github.com (140.82.121.4:443) Connecting to codeload.github.com (140.82.121.9:443) saving to '/var/cache/distfiles/v3.22/valkey-8.1.7.tar.gz.part' valkey-8.1.7.tar.gz. 100% |********************************| 3733k 0:00:00 ETA '/var/cache/distfiles/v3.22/valkey-8.1.7.tar.gz.part' saved >>> valkey: Fetching https://distfiles.alpinelinux.org/distfiles/v3.22/valkey-8.1.7.tar.gz >>> valkey: Checking sha512sums... valkey-8.1.7.tar.gz: OK valkey.conf.patch: OK sentinel.conf.patch: OK valkey.initd: OK valkey.confd: OK valkey-sentinel.initd: OK valkey-sentinel.confd: OK >>> valkey: Unpacking /var/cache/distfiles/v3.22/valkey-8.1.7.tar.gz... >>> valkey: valkey.conf.patch patching file valkey.conf >>> valkey: sentinel.conf.patch patching file sentinel.conf cd src && make all make[1]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src' CC Makefile.dep rm -rf valkey-server valkey-sentinel valkey-cli valkey-benchmark valkey-check-rdb valkey-check-aof valkey-unit-tests libvalkey.a unit/*.o unit/*.d lua/*.o lua/*.d *.o *.gcda *.gcno *.gcov valkey.info lcov-html Makefile.dep *.so rm -f threads_mngr.d adlist.d quicklist.d ae.d anet.d dict.d hashtable.d kvstore.d server.d sds.d zmalloc.d lzf_c.d lzf_d.d pqsort.d zipmap.d sha1.d ziplist.d release.d memory_prefetch.d io_threads.d networking.d util.d object.d db.d replication.d rdb.d t_string.d t_list.d t_set.d t_zset.d t_hash.d config.d aof.d pubsub.d multi.d debug.d sort.d intset.d syncio.d cluster.d cluster_legacy.d cluster_slot_stats.d crc16.d endianconv.d commandlog.d eval.d bio.d rio.d rand.d memtest.d syscheck.d crcspeed.d crccombine.d crc64.d bitops.d sentinel.d notify.d setproctitle.d blocked.d hyperloglog.d latency.d sparkline.d valkey-check-rdb.d valkey-check-aof.d geo.d lazyfree.d module.d evict.d expire.d geohash.d geohash_helper.d childinfo.d allocator_defrag.d defrag.d siphash.d rax.d t_stream.d listpack.d localtime.d lolwut.d lolwut5.d lolwut6.d acl.d tracking.d socket.d tls.d sha256.d timeout.d setcpuaffinity.d monotonic.d mt19937-64.d resp_parser.d call_reply.d script.d functions.d commands.d strl.d connection.d unix.d logreqres.d rdma.d scripting_engine.d lua/script_lua.d lua/function_lua.d lua/engine_lua.d lua/debug_lua.d anet.d adlist.d dict.d valkey-cli.d zmalloc.d release.d ae.d serverassert.d crcspeed.d crccombine.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d strl.d cli_commands.d ae.d anet.d valkey-benchmark.d adlist.d dict.d zmalloc.d serverassert.d release.d crcspeed.d crccombine.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d strl.d (cd ../deps && make distclean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps' (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd hdr_histogram && make clean) > /dev/null || true (cd fpconv && make clean) > /dev/null || true (cd fast_float_c_interface && make clean) > /dev/null || true (rm -f .make-*) make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps' (cd modules && make clean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src/modules' rm -rf *.xo *.so make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src/modules' (cd ../tests/modules && make clean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/tests/modules' rm -f commandfilter.so basics.so testrdb.so fork.so infotest.so propagate.so misc.so hooks.so blockonkeys.so blockonbackground.so scan.so datatype.so datatype2.so auth.so keyspace_events.so block_keyspace_notification.so blockedclient.so getkeys.so getchannels.so test_lazyfree.so timer.so defragtest.so keyspecs.so hash.so zset.so stream.so mallocsize.so aclcheck.so list.so subcommands.so reply.so cmdintrospection.so eventloop.so moduleconfigs.so moduleconfigstwo.so moduleparameter.so publish.so usercall.so postnotifications.so moduleauthtwo.so rdbloadsave.so crash.so cluster.so helloscripting.so commandfilter.xo basics.xo testrdb.xo fork.xo infotest.xo propagate.xo misc.xo hooks.xo blockonkeys.xo blockonbackground.xo scan.xo datatype.xo datatype2.xo auth.xo keyspace_events.xo block_keyspace_notification.xo blockedclient.xo getkeys.xo getchannels.xo test_lazyfree.xo timer.xo defragtest.xo keyspecs.xo hash.xo zset.xo stream.xo mallocsize.xo aclcheck.xo list.xo subcommands.xo reply.xo cmdintrospection.xo eventloop.xo moduleconfigs.xo moduleconfigstwo.xo moduleparameter.xo publish.xo usercall.xo postnotifications.xo moduleauthtwo.xo rdbloadsave.xo crash.xo cluster.xo helloscripting.xo make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/tests/modules' (rm -f .make-*) echo STD=-pedantic -std=gnu11 >> .make-settings echo WARN=-Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes >> .make-settings echo OPT=-O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer >> .make-settings echo PROG_SUFFIX= >> .make-settings echo MALLOC=libc >> .make-settings echo BUILD_TLS=yes >> .make-settings echo BUILD_RDMA= >> .make-settings echo USE_SYSTEMD= >> .make-settings echo USE_FAST_FLOAT=no >> .make-settings echo CFLAGS=-Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto >> .make-settings echo LDFLAGS=-Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs >> .make-settings echo SERVER_CFLAGS= >> .make-settings echo SERVER_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-pedantic -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer -g -ggdb -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 >> .make-settings echo PREV_FINAL_LDFLAGS=-Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua hdr_histogram fpconv) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps' (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd hdr_histogram && make clean) > /dev/null || true (cd fpconv && make clean) > /dev/null || true (cd fast_float_c_interface && make clean) > /dev/null || true (rm -f .make-*) (echo "-Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto" > .make-cflags) (echo "-Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs" > .make-ldflags) MAKE hiredis cd hiredis && make static USE_SSL=1 MAKE linenoise cd linenoise && make MAKE lua cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 " MYLDFLAGS="-Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs" AR="ar rc" make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/hiredis' MAKE hdr_histogram cd hdr_histogram && make MAKE fpconv cd fpconv && make make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/linenoise' cc -Wall -Os -g -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -c linenoise.c make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/lua/src' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lapi.o lapi.c make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/fpconv' cc -Wall -Os -g -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -c fpconv_dtoa.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lcode.o lcode.c make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ldebug.o ldebug.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ldump.o ldump.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lfunc.o lfunc.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lgc.o lgc.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o llex.o llex.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lmem.o lmem.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lobject.o lobject.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic async.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lopcodes.o lopcodes.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lparser.o lparser.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lstate.o lstate.c cc -std=c99 -c -O3 -fPIC -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lstring.o lstring.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ltable.o ltable.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ltm.o ltm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lundump.o lundump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lvm.o lvm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lzio.o lzio.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o strbuf.o strbuf.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o fpconv.o fpconv.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lauxlib.o lauxlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lbaselib.o lbaselib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ldblib.o ldblib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o liolib.o liolib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lmathlib.o lmathlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o loslib.o loslib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o ltablib.o ltablib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lstrlib.o lstrlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o loadlib.o loadlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o linit.o linit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lua_cjson.o lua_cjson.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lua_struct.o lua_struct.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lua_cmsgpack.o lua_cmsgpack.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lua_bit.o lua_bit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o lua.o lua.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o luac.o luac.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -O2 -c -o print.o print.c ar rcs libfpconv.a fpconv_dtoa.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/fpconv' ar rcs libhdrhistogram.a hdr_histogram.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/hdr_histogram' make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/linenoise' ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o ar rc liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -o lua -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs lua.o liblua.a -lm cc -o luac -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs luac.o print.o liblua.a -lm ar rcs libhiredis_ssl.a ssl.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/hiredis' make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps/lua/src' make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/deps' CC threads_mngr.o CC adlist.o CC quicklist.o CC ae.o CC anet.o CC dict.o CC hashtable.o CC kvstore.o CC server.o CC sds.o CC zmalloc.o CC lzf_c.o CC lzf_d.o CC pqsort.o CC zipmap.o CC sha1.o CC ziplist.o CC release.o CC memory_prefetch.o CC io_threads.o CC networking.o CC util.o CC object.o CC db.o CC replication.o CC rdb.o CC t_string.o CC t_list.o CC t_set.o CC t_zset.o CC t_hash.o CC config.o CC aof.o CC pubsub.o CC multi.o CC debug.o CC sort.o CC intset.o CC syncio.o CC cluster.o CC cluster_legacy.o CC cluster_slot_stats.o CC crc16.o CC endianconv.o CC commandlog.o CC eval.o CC bio.o CC rio.o CC rand.o In file included from server.c:34: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from networking.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from io_threads.h:4, from io_threads.c:7: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC memtest.o In file included from pubsub.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from multi.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from t_zset.c:63: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from t_list.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from memory_prefetch.c:12: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from crc16.c:1: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from rdb.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from t_string.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from config.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from t_set.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from object.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from aof.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from cluster.c:40: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from debug.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from syncio.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from sort.c:32: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from cluster_legacy.c:39: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from cluster_slot_stats.h:1, from cluster_slot_stats.c:6: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from db.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from replication.c:36: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from threads_mngr.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC syscheck.o CC crcspeed.o In file included from t_hash.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from eval.c:45: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from bio.c:63: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC crccombine.o In file included from commandlog.h:33, from commandlog.c:25: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from rio.c:57: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC crc64.o CC bitops.o CC sentinel.o CC notify.o CC setproctitle.o CC blocked.o In file included from sentinel.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC hyperloglog.o CC latency.o In file included from notify.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from bitops.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from hyperloglog.c:37: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from latency.c:36: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC sparkline.o In file included from blocked.c:67: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC valkey-check-rdb.o CC valkey-check-aof.o CC geo.o CC lazyfree.o CC module.o CC evict.o CC expire.o In file included from sparkline.c:33: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC geohash.o CC geohash_helper.o In file included from valkey-check-rdb.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from valkey-check-aof.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC childinfo.o valkey-check-aof.c: In function 'processAnnotations': valkey-check-aof.c:196:59: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 196 | printf("AOF %s has nothing before timestamp %ld, " | ~~^ | | | long int | %lld 197 | "aborting...\n", 198 | filename, to_timestamp); | ~~~~~~~~~~~~ | | | time_t {aka long long int} CC allocator_defrag.o valkey-check-aof.c:202:62: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 202 | printf("Failed to truncate AOF %s to timestamp %ld to offset %ld because it is not the last file.\n", | ~~^ | | | long int | %lld 203 | filename, to_timestamp, (long int)epos); | ~~~~~~~~~~~~ | | | time_t {aka long long int} valkey-check-aof.c:211:62: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 211 | printf("Failed to truncate AOF %s to timestamp %ld\n", filename, to_timestamp); | ~~^ ~~~~~~~~~~~~ | | | | long int time_t {aka long long int} | %lld valkey-check-aof.c: In function 'checkSingleAof': valkey-check-aof.c:299:59: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 299 | printf("Truncate nothing in AOF %s to timestamp %ld\n", aof_filename, to_timestamp); | ~~^ ~~~~~~~~~~~~ | | | | long int time_t {aka long long int} | %lld valkey-check-aof.c: In function 'printAofStyle': valkey-check-aof.c:449:62: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 449 | printf("Successfully truncated AOF %s to timestamp %ld\n", aofFileName, to_timestamp); | ~~^ ~~~~~~~~~~~~ | | | | long int time_t {aka long long int} | %lld In file included from lazyfree.c:1: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from geo.h:4, from geo.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from expire.c:38: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC defrag.o CC siphash.o In file included from evict.c:33: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from module.c:59: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from childinfo.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC rax.o In file included from defrag.c:41: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC t_stream.o In file included from allocator_defrag.c:46: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC listpack.o CC localtime.o CC lolwut.o CC lolwut5.o CC lolwut6.o CC acl.o CC tracking.o CC socket.o CC tls.o CC sha256.o CC timeout.o CC setcpuaffinity.o In file included from lolwut5.c:36: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from t_stream.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from lolwut.c:36: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from tracking.c:31: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from acl.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC monotonic.o In file included from lolwut6.c:42: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC mt19937-64.o In file included from timeout.c:29: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from tls.c:32: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from socket.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC resp_parser.o CC call_reply.o CC script.o CC functions.o CC commands.o In file included from resp_parser.c:59: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC strl.o In file included from script.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC connection.o CC unix.o In file included from commands.c:2: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from call_reply.c:30: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC logreqres.o In file included from functions.h:51, from functions.c:35: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC rdma.o In file included from connection.c:27: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from unix.c:27: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC scripting_engine.o In file included from logreqres.c:70: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC lua/script_lua.o CC lua/function_lua.o CC lua/engine_lua.o CC lua/debug_lua.o CC valkey-cli.o In file included from rdma.c:17: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC serverassert.o CC cli_common.o In file included from scripting_engine.h:4, from scripting_engine.c:7: server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from lua/../scripting_engine.h:4, from lua/engine_lua.h:4, from lua/function_lua.h:4, from lua/function_lua.c:42: lua/../server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from lua/script_lua.h:51, from lua/debug_lua.c:8: lua/../server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from lua/script_lua.h:51, from lua/script_lua.c:30: lua/../server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ In file included from lua/../scripting_engine.h:4, from lua/engine_lua.h:4, from lua/engine_lua.c:6: lua/../server.h:2161:1: note: the alignment of '_Atomic long long unsigned int' fields changed in GCC 11.1 2161 | }; | ^ CC cli_commands.o CC valkey-benchmark.o LINK valkey-benchmark LINK valkey-server LINK valkey-cli INSTALL valkey-check-rdb INSTALL valkey-sentinel INSTALL valkey-check-aof Hint: It's a good idea to run 'make test' ;) make[1]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src' Cleanup: may take some time... OK Starting test server at port 21079 [ready]: 32764 Testing unit/acl-v2 [ready]: 32767 Testing unit/dump [ready]: 32762 Testing unit/limits [ready]: 32768 Testing unit/replybufsize [ready]: 32773 Testing unit/keyspace [ready]: 32770 Testing unit/acl [ready]: 32772 Testing unit/networking [ready]: 32775 Testing unit/lazyfree [ready]: 32777 Testing unit/pause [ready]: 32766 Testing unit/introspection-2 [ready]: 32763 Testing unit/protocol [ready]: 32765 Testing unit/oom-score-adj [ready]: 32774 Testing unit/shutdown [ready]: 32776 Testing unit/other [ready]: 32769 Testing unit/pubsub [ready]: 32771 Testing unit/introspection [ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) [ok]: Test basic multiple selectors (2 ms) [ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) [ok]: Test ACL selectors by default have no permissions (0 ms) [ok]: RESTORE can set an expire that overflows a 32 bit integer (1 ms) [ok]: RESTORE can set an absolute expire (1 ms) [ok]: Test deleting selectors (2 ms) [ok]: Connections start with the default user (0 ms) [ok]: It is possible to create new users (1 ms) [ok]: RESTORE with ABSTTL in the past (1 ms) [ok]: Coverage: ACL USERS (0 ms) [ok]: Test selector syntax error reports the error in the selector context (1 ms) [ok]: Usernames can not contain spaces or null characters (0 ms) [ok]: New users start disabled (1 ms) [ok]: RESTORE can set LRU (1 ms) [ok]: Enabling the user allows the login (0 ms) [ok]: DEL against a single item (1 ms) [ok]: The microsecond part of the TIME command will not overflow (1 ms) [ok]: RESTORE can set LFU (1 ms) [ok]: Only the set of correct passwords work (1 ms) [ok]: Test flexible selector definition (2 ms) [ok]: It is possible to remove passwords from the set of valid ones (0 ms) [ok]: RESTORE returns an error of the key already exists (1 ms) [ok]: Test password hashes can be added (0 ms) [ok]: Vararg DEL (1 ms) [ok]: PING (1 ms) [ok]: Test password hashes validate input (0 ms) [ok]: Test separate read permission (1 ms) [ok]: CLIENT LIST (0 ms) [ok]: RESTORE can overwrite an existing key with REPLACE (0 ms) [ok]: Pub/Sub PING on RESP2 (1 ms) [ok]: RESTORE can detect a syntax error for unrecognized options (0 ms) [ok]: Untagged multi-key commands (1 ms) [ok]: CLIENT LIST with IDs (0 ms) [ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) [ok]: CLIENT INFO (0 ms) [ok]: Test separate write permission (0 ms) [ok]: Test hashed passwords removal (1 ms) [ok]: By default users are not able to access any command (0 ms) [ok]: KEYS with pattern (1 ms) [ok]: Pub/Sub PING on RESP3 (0 ms) [ok]: By default users are not able to access any key (0 ms) [ok]: Test separate read and write permissions (1 ms) [ok]: CLIENT LIST with ADDR filter (1 ms) [ok]: KEYS to get all keys (1 ms) [ok]: Validate read and write permissions format (1 ms) [ok]: CLIENT LIST with LADDR filter (1 ms) [ok]: DBSIZE (0 ms) [ok]: It's possible to allow the access of a subset of keys (1 ms) [ok]: CLIENT LIST with MAXAGE filter (0 ms) [ok]: Coverage: HELP commands (4 ms) [ok]: CLIENT LIST with TYPE filter (1 ms) [ok]: By default, only default user is able to publish to any channel (1 ms) [ok]: PUBLISH/SUBSCRIBE basics (2 ms) [ok]: CLIENT LIST with USER filter (0 ms) [ok]: Validate key permissions format - empty and omitted pattern (1 ms) [ok]: Coverage: MEMORY MALLOC-STATS (0 ms) [ok]: KEYS with hashtag (1 ms) [ok]: By default, only default user is not able to publish to any shard channel (1 ms) [ok]: CLIENT LIST with SKIPME filter (1 ms) [ok]: Coverage: MEMORY PURGE (0 ms) [ok]: Coverage: ECHO (0 ms) [ok]: PUBLISH/SUBSCRIBE with two clients (2 ms) [ok]: Test separate read and write permissions on different selectors are not additive (2 ms) [ok]: By default, only default user is able to subscribe to any channel (1 ms) [ok]: DEL all keys (2 ms) [ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (1 ms) [ok]: KEYS with empty DB (0 ms) [ok]: By default, only default user is able to subscribe to any shard channel (1 ms) [ok]: CLIENT LIST with multiple IDs and TYPE filter (2 ms) [ok]: Test SET with separate read permission (2 ms) [ok]: SUBSCRIBE to one channel more than once (1 ms) [ok]: CLIENT LIST with filters matching no clients (1 ms) [ok]: By default, only default user is able to subscribe to any pattern (1 ms) [ok]: SAVE - make sure there are all the types as values (2 ms) [ok]: CONFIG SET oom-score-adj works as expected (9 ms) [ok]: UNSUBSCRIBE from non-subscribed channels (1 ms) [ok]: It's possible to allow publishing to a subset of channels (1 ms) [ok]: Test SET with separate write permission (1 ms) [ok]: It's possible to allow publishing to a subset of shard channels (0 ms) [ok]: CLIENT LIST with illegal arguments (2 ms) [ok]: Test SET with read and write permissions (1 ms) [ok]: CONFIG SET oom-score-adj handles configuration failures (2 ms) [ok]: Validate subset of channels is prefixed with resetchannels flag (1 ms) [ok]: PUBLISH/PSUBSCRIBE basics (2 ms) [ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (0 ms) [ok]: Test BITFIELD with separate read permission (1 ms) [ok]: CONFIG SET oom score restored on disable (1 ms) [ok]: Test BITFIELD with separate write permission (1 ms) [ok]: PUBLISH/PSUBSCRIBE with two clients (1 ms) [ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (1 ms) [ok]: CONFIG SET oom score relative and absolute (1 ms) [ok]: Test BITFIELD with read and write permissions (1 ms) [ok]: It's possible to allow subscribing to a subset of channels (1 ms) [ok]: CONFIG SET out-of-range oom score (0 ms) [ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (1 ms) [ok]: client input output and command process statistics (4 ms) [ok]: It's possible to allow subscribing to a subset of shard channels (1 ms) [ok]: Test ACL log correctly identifies the relevant item when selectors are used (2 ms) [ok]: It's possible to allow subscribing to a subset of channel patterns (1 ms) [ok]: Test ACL GETUSER response information (0 ms) [ok]: CLIENT KILL with illegal arguments (2 ms) [ok]: Subscribers are killed when revoked of channel permission (1 ms) [ok]: Test ACL list idempotency (1 ms) [ok]: Test R+W is the same as all permissions (0 ms) [ok]: Subscribers are killed when revoked of channel permission (1 ms) [ok]: Test basic dry run functionality (0 ms) [ok]: Test various commands for command permissions (0 ms) [ok]: Subscribers are killed when revoked of pattern permission (1 ms) [ok]: Subscribers are killed when revoked of allchannels permission (1 ms) [ok]: Test various odd commands for key permissions (3 ms) [ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (1 ms) [ok]: Existence test commands are not marked as access (1 ms) [ok]: Intersection cardinaltiy commands are access commands (1 ms) [ok]: Test general keyspace commands require some type of permission to execute (1 ms) [ok]: blocked command gets rejected when reprocessed after permission change (3 ms) [ok]: Users can be configured to authenticate with any password (0 ms) [ok]: ACLs can exclude single commands (0 ms) [ok]: Cardinality commands require some type of permission to execute (2 ms) [ok]: ACLs can include or exclude whole classes of commands (1 ms) [ok]: Test sharded channel permissions (1 ms) [ok]: ACLs can include single subcommands (1 ms) [ok]: ACLs can exclude single subcommands, case 1 (1 ms) [ok]: Test sort with ACL permissions (2 ms) [ok]: Test DRYRUN with wrong number of arguments (0 ms) [ok]: ACLs can exclude single subcommands, case 2 (1 ms) [ok]: ACLs cannot include a subcommand with a specific arg (1 ms) [ok]: ACLs cannot exclude or include a container commands with a specific arg (0 ms) [ok]: ACLs cannot exclude or include a container command with two args (1 ms) [ok]: ACLs including of a type includes also subcommands (1 ms) [ok]: ACLs can block SELECT of all but a specific DB (1 ms) [ok]: ACLs can block all DEBUG subcommands except one (1 ms) [ok]: ACLs set can include subcommands, if already full command exists (2 ms) [ok]: Handle an empty query (42 ms) [ok]: ACLs set can exclude subcommands, if already full command exists (5 ms) [ok]: ACL SETUSER RESET reverting to default newly created user (1 ms) [ok]: ACL GETUSER is able to translate back command permissions (1 ms) [ok]: ACL GETUSER provides reasonable results (23 ms) [ok]: ACL GETUSER provides correct results (6 ms) [ok]: ACL CAT with illegal arguments (1 ms) [ok]: ACL CAT without category - list all categories (0 ms) [ok]: ACL CAT category - list all commands/subcommands that belong to category (2 ms) [ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) [ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) [ok]: Negative multibulk length (42 ms) [ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (5 ms) [ok]: Out of range multibulk length (0 ms) [ok]: ACL LOG shows failed command executions at toplevel (1 ms) [ok]: Wrong multibulk payload header (0 ms) [ok]: Negative multibulk payload length (1 ms) [ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) [ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (84 ms) [ok]: RESTORE key with future RDB version, strict version check (0 ms) [ok]: Out of range multibulk payload length (0 ms) [ok]: RESTORE key with future RDB version, relaxed version check (1 ms) [ok]: DUMP of non existing key returns nil (0 ms) [ok]: ACL LOG is able to test similar events (1 ms) [ok]: Non-number multibulk payload length (0 ms) [ok]: Multi bulk request not followed by bulk arguments (1 ms) [ok]: ACL LOG is able to log keys access violations and key name (1 ms) [ok]: Generic wrong number of args (1 ms) [ok]: ACL LOG is able to log channel access violations and channel name (1 ms) [ok]: Unbalanced number of quotes (0 ms) [ok]: ACL LOG RESET is able to flush the entries in the log (0 ms) [ok]: ACL LOG can distinguish the transaction context (1) (2 ms) [ok]: ACL LOG can distinguish the transaction context (2) (1 ms) [ok]: ACL can log errors in the context of Lua scripting (1 ms) [ok]: ACL LOG can accept a numerical argument to show less entries (2 ms) [ok]: ACL LOG can log failed auth attempts (1 ms) [ok]: PubSub messages with CLIENT REPLY OFF (83 ms) [ok]: ACLLOG - zero max length is correctly handled (1 ms) [ok]: PUNSUBSCRIBE from non-subscribed channels (1 ms) [ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) [ok]: CONFIG SET port number (222 ms) [ok]: NUMPATs returns the number of unique patterns (2 ms) [ok]: ACL LOG entries are limited to a maximum amount (3 ms) [ok]: Mix SUBSCRIBE and PSUBSCRIBE (1 ms) [ok]: ACL LOG entries are still present on update of max len config (1 ms) [ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) [ok]: When default user is off, new connections are not authenticated (1 ms) [ok]: When default user has no command permission, hello command still works for other users (1 ms) [ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (1 ms) [ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (0 ms) [ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (1 ms) [ok]: ACL HELP should not have unexpected options (0 ms) [ok]: Delete a user that the client doesn't use (0 ms) [1/129 done]: unit/oom-score-adj (0 seconds) Testing unit/latency-monitor [ok]: Delete a user that the client is using (1 ms) [ok]: ACL GENPASS command failed test (0 ms) [ok]: Default user can not be removed (1 ms) [ok]: ACL load non-existing configured ACL file (0 ms) [ok]: ACL-Metrics user AUTH failure (5 ms) [ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (115 ms) [ok]: ACL-Metrics invalid command accesses (3 ms) [ok]: ACL-Metrics invalid key accesses (3 ms) [ok]: ACL-Metrics invalid channels accesses (3 ms) [ok]: Protocol desync regression test #1 (43 ms) [ok]: Keyspace notifications: we receive keyspace notifications (41 ms) [ok]: Protocol desync regression test #2 (42 ms) [ok]: Keyspace notifications: we receive keyevent notifications (42 ms) [ok]: Keyspace notifications: we can receive both kind of events (1 ms) [ok]: Keyspace notifications: we are able to mask events (1 ms) [ok]: Keyspace notifications: general events test (2 ms) [ok]: Keyspace notifications: list events test (2 ms) [ok]: Keyspace notifications: set events test (2 ms) [ok]: Keyspace notifications: zset events test (2 ms) [ok]: Keyspace notifications: hash events test (1 ms) [ok]: Keyspace notifications: stream events test (3 ms) [ok]: Protocol desync regression test #3 (42 ms) [ok]: Test behavior of loading ACLs (1 ms) [ok]: LATENCY HISTOGRAM with empty histogram (1 ms) [ok]: LATENCY HISTOGRAM all commands (0 ms) [ok]: LATENCY HISTOGRAM sub commands (1 ms) [ok]: LATENCY HISTOGRAM with a subset of commands (1 ms) [ok]: LATENCY HISTOGRAM command (1 ms) [ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (2 ms) [ok]: SHUTDOWN ABORT can cancel SIGTERM (13 ms) [ok]: Protocol desync regression test #4 (42 ms) [ok]: raw protocol response (0 ms) [ok]: raw protocol response - deferred (0 ms) [ok]: raw protocol response - multiline (0 ms) [ok]: RESP3 attributes (1 ms) [ok]: RESP3 attributes readraw (1 ms) [ok]: RESP3 attributes on RESP2 (1 ms) [ok]: test big number parsing (0 ms) [ok]: test bool parsing (2 ms) [ok]: test verbatim str parsing (0 ms) [ok]: UNLINK can reclaim memory in background (287 ms) [ok]: Keyspace notifications: expired events (triggered expire) (101 ms) [ok]: MIGRATE is caching connections (221 ms) [ok]: CONFIG SET bind address (218 ms) [2/129 done]: unit/acl-v2 (0 seconds) Testing unit/info [ok]: default: load from include file, can access any channels (1 ms) [ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (1 ms) [ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (0 ms) [ok]: Alice: can execute all command (1 ms) [ok]: Bob: just execute @set and acl command (0 ms) [ok]: ACL LOAD only disconnects affected clients (2 ms) [ok]: ACL LOAD disconnects clients of deleted users (1 ms) [ok]: ACL load and save (2 ms) [ok]: test large number of args (64 ms) [ok]: test argument rewriting - issue 9598 (1 ms) [ok]: ACL load and save with restricted channels (1 ms) [ok]: Validate a user can remove their own channel permissions (2 ms) [ok]: Temp rdb will be deleted in signal handle (85 ms) [ok]: ACL LOAD does not crash server if current user is removed from ACL file (2 ms) [ok]: RDB save will be failed in shutdown (2 ms) [ok]: Keyspace notifications: expired events (background expire) (194 ms) [ok]: Keyspace notification: expired event (Expiration time is already expired) (1 ms) [ok]: Keyspace notifications: evicted events (2 ms) [ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) [ok]: Keyspace notifications: new key test (2 ms) [ok]: publish to self inside multi (1 ms) [ok]: publish to self inside script (1 ms) [ok]: unsubscribe inside multi, and publish to self (2 ms) [ok]: Default user has access to all channels irrespective of flag (1 ms) [ok]: Update acl-pubsub-default, existing users shouldn't get affected (1 ms) [ok]: Single channel is valid (0 ms) [ok]: Single channel is not valid with allchannels (0 ms) [ok]: SHUTDOWN will abort if rdb save failed on signal (99 ms) [ok]: SHUTDOWN will abort if rdb save failed on shutdown command (1 ms) [ok]: SHUTDOWN can proceed if shutdown command was with nosave (2 ms) [ok]: Clean up rdb same named folder (0 ms) [ok]: HELLO without protover (1 ms) [ok]: latencystats: disable/enable (2 ms) [ok]: HELLO and availability-zone (2 ms) [ok]: latencystats: configure percentiles (3 ms) [ok]: latencystats: bad configure percentiles (3 ms) [ok]: latencystats: blocking commands (4 ms) [ok]: latencystats: subcommands (2 ms) [ok]: FLUSHDB ASYNC can reclaim memory in background (302 ms) [ok]: FUZZ stresser with data model binary (587 ms) [3/129 done]: unit/pubsub (1 seconds) Testing unit/client-eviction [ok]: latencystats: measure latency (52 ms) [ok]: errorstats: failed call authentication error (2 ms) [ok]: errorstats: failed call within MULTI/EXEC (3 ms) [ok]: errorstats: failed call within LUA (2 ms) [ok]: errorstats: failed call NOSCRIPT error (3 ms) [ok]: errorstats: failed call NOGROUP error (1 ms) [ok]: errorstats: rejected call unknown command (1 ms) [ok]: errorstats: rejected call within MULTI/EXEC (3 ms) [ok]: errorstats: rejected call due to wrong arity (1 ms) [ok]: errorstats: rejected call by OOM error (2 ms) [ok]: verify reply buffer limits (652 ms) [ok]: errorstats: rejected call by authorization error (3 ms) [ok]: errorstats: blocking commands (2 ms) [4/129 done]: unit/replybufsize (1 seconds) Testing unit/querybuf [ok]: lazy free a stream with all types of metadata (127 ms) [ok]: lazy free a stream with deleted cgroup (2 ms) [ok]: Only default user has access to all channels irrespective of flag (1 ms) [ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (101 ms) [ok]: Regression for a crash with blocking ops and pipelining (2 ms) [ok]: errorstats: limit errors will not increase indefinitely (138 ms) [5/129 done]: unit/lazyfree (1 seconds) Testing unit/geo [ok]: client evicted due to large argv (74 ms) [ok]: CONFIG SET bind-source-addr (522 ms) [ok]: client evicted due to large query buf (57 ms) [ok]: client evicted due to percentage of maxmemory (14 ms) [6/129 done]: unit/shutdown (1 seconds) Testing unit/scripting [7/129 done]: unit/protocol (1 seconds) Testing unit/sort [ok]: Check if maxclients works refusing connections (908 ms) [ok]: stats: eventloop metrics (111 ms) [ok]: GEO with wrong type src key (1 ms) [ok]: GEO with non existing src key (1 ms) [ok]: GEO BYLONLAT with empty search (1 ms) [ok]: GEO BYMEMBER with non existing member (1 ms) [ok]: GEOADD create (0 ms) [ok]: GEOADD update (0 ms) [ok]: GEOADD update with CH option (0 ms) [ok]: GEOADD update with NX option (1 ms) [ok]: GEOADD update with XX option (0 ms) [ok]: GEOADD update with CH NX option (0 ms) [ok]: GEOADD update with CH XX option (0 ms) [ok]: GEOADD update with XX NX option will return syntax error (0 ms) [ok]: GEOADD update with invalid option (1 ms) [ok]: GEOADD invalid coordinates (0 ms) [ok]: GEOADD multi add (0 ms) [ok]: Check geoset values (0 ms) [ok]: GEORADIUS simple (sorted) (0 ms) [ok]: GEORADIUS_RO simple (sorted) (0 ms) [ok]: GEOSEARCH simple (sorted) (0 ms) [ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) [ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (0 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (0 ms) [ok]: GEOSEARCH with STOREDIST option (0 ms) [ok]: GEORADIUS withdist (sorted) (0 ms) [ok]: GEOSEARCH withdist (sorted) (0 ms) [ok]: GEORADIUS with COUNT (1 ms) [ok]: GEORADIUS with multiple WITH* tokens (0 ms) [ok]: GEORADIUS with ANY not sorted by default (0 ms) [ok]: GEORADIUS with ANY sorted by ASC (1 ms) [ok]: GEORADIUS with ANY but no COUNT (0 ms) [ok]: GEORADIUS with COUNT but missing integer argument (0 ms) [ok]: GEORADIUS with COUNT DESC (0 ms) [ok]: GEORADIUS HUGE, issue #2767 (0 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (1 ms) [ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) [ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (1 ms) [ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) [ok]: GEOSEARCH FROMMEMBER simple (sorted) (0 ms) [ok]: GEOSEARCH vs GEORADIUS (1 ms) [ok]: GEOSEARCH non square, long and narrow (1 ms) [ok]: GEOSEARCH corner point test (0 ms) [ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) [ok]: GEOHASH is able to return geohash strings (1 ms) [ok]: GEOHASH with only key as argument (0 ms) [ok]: GEOPOS simple (0 ms) [ok]: GEOPOS missing element (0 ms) [ok]: GEOPOS with only key as argument (0 ms) [ok]: GEODIST simple & unit (1 ms) [ok]: GEODIST missing elements (0 ms) [ok]: GEORADIUS STORE option: syntax error (1 ms) [ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) [ok]: GEORANGE STORE option: incompatible options (1 ms) [ok]: GEORANGE STORE option: plain usage (1 ms) [ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (0 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (0 ms) [ok]: GEORANGE STOREDIST option: plain usage (0 ms) [ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) [ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (0 ms) [ok]: GEOSEARCH the box spans -180° or 180° (1 ms) [ok]: GEOSEARCH with small distance (0 ms) [ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) [8/129 done]: unit/limits (1 seconds) Testing unit/bitfield [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call server (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: client evicted due to large multi buf (134 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVAL - Redis integer -> Lua type conversion (1 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) [ok]: Listpack: SORT BY key (0 ms) [ok]: Listpack: SORT BY key with limit (0 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) [ok]: Listpack: SORT BY hash field (1 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) [ok]: EVAL - Scripts do not block on blpop command (1 ms) [ok]: EVAL - Scripts do not block on brpop command (1 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) [ok]: EVAL - Scripts do not block on wait (1 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts can run non-deterministic commands (1 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (1 ms) [ok]: EVAL - JSON smoke test (1 ms) [ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) [ok]: DEL against expired key (1102 ms) [ok]: EXISTS (1 ms) [ok]: Zero length value in key. SET/GET/EXISTS (1 ms) [ok]: Commands pipelining (0 ms) [ok]: Non existing command (1 ms) [ok]: RENAME basic usage (0 ms) [ok]: RENAME source key should no longer exist (0 ms) [ok]: RENAME against already existing key (1 ms) [ok]: RENAMENX basic usage (1 ms) [ok]: RENAMENX against already existing key (0 ms) [ok]: RENAMENX against already existing key (2) (1 ms) [ok]: RENAME against non existing source key (0 ms) [ok]: RENAME where source and dest key are the same (existing) (0 ms) [ok]: RENAMENX where source and dest key are the same (existing) (1 ms) [ok]: RENAME where source and dest key are the same (non existing) (0 ms) [ok]: RENAME with volatile key, should move the TTL as well (2 ms) [ok]: RENAME with volatile key, should not inherit TTL of target key (1 ms) [ok]: DEL all keys again (DB 0) (1 ms) [ok]: DEL all keys again (DB 1) (0 ms) [ok]: BITFIELD signed SET and GET basics (1 ms) [ok]: COPY basic usage for string (2 ms) [ok]: BITFIELD unsigned SET and GET basics (1 ms) [ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) [ok]: BITFIELD signed SET and GET together (0 ms) [ok]: COPY for string can replace an existing key with REPLACE option (1 ms) [ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) [ok]: BITFIELD with only key as argument (1 ms) [ok]: BITFIELD # form (0 ms) [ok]: COPY for string ensures that copied data is independent of copying data (2 ms) [ok]: COPY for string does not copy data to no-integer DB (0 ms) [ok]: BITFIELD basic INCRBY form (0 ms) [ok]: BITFIELD chaining of multiple commands (1 ms) [ok]: COPY can copy key expire metadata as well (1 ms) [ok]: COPY does not create an expire if it does not exist (1 ms) [ok]: BITFIELD unsigned overflow wrap (1 ms) [ok]: BITFIELD unsigned overflow sat (1 ms) [ok]: BITFIELD signed overflow wrap (0 ms) [ok]: BITFIELD signed overflow sat (0 ms) [ok]: Default bind address configuration handling (210 ms) [ok]: COPY basic usage for list - quicklist (42 ms) [ok]: COPY basic usage for list - listpack (1 ms) [ok]: COPY basic usage for $type set (1 ms) [ok]: Protected mode works as expected (8 ms) [ok]: FUZZ stresser with data model alpha (580 ms) [ok]: COPY basic usage for $type set (2 ms) [ok]: COPY basic usage for $type set (23 ms) [ok]: COPY basic usage for listpack sorted set (1 ms) [ok]: default: load from config file with all channels permissions (1 ms) [ok]: COPY basic usage for skiplist sorted set (17 ms) [ok]: COPY basic usage for listpack hash (1 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (214 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (2 ms) [ok]: COPY basic usage for hashtable hash (28 ms) [ok]: EVAL - Numerical sanity check from bitop (2 ms) [ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) [ok]: redis.sha1hex() implementation (1 ms) [ok]: Quicklist: SORT BY key (13 ms) [ok]: Quicklist: SORT BY key with limit (2 ms) [ok]: Quicklist: SORT BY hash field (14 ms) [ok]: Test loading an ACL file with duplicate users (3 ms) [ok]: COPY basic usage for stream (188 ms) [ok]: Test loading an ACL file with duplicate default user (4 ms) [ok]: COPY basic usage for stream-cgroups (12 ms) [ok]: MOVE basic usage (1 ms) [ok]: MOVE against key existing in the target DB (0 ms) [ok]: MOVE against non-integer DB (#1428) (1 ms) [ok]: MOVE can move key expire metadata as well (1 ms) [ok]: MOVE does not create an expire if it does not exist (1 ms) [ok]: Test loading duplicate users in config on startup (14 ms) [ok]: SET/GET keys in different DBs (2 ms) [ok]: BITFIELD overflow detection fuzzing (325 ms) [ok]: RANDOMKEY (10 ms) [ok]: RANDOMKEY against empty DB (1 ms) [ok]: RANDOMKEY regression 1 (0 ms) [ok]: KEYS * two times with long key, Github issue #1208 (1 ms) [ok]: Regression for pattern matching long nested loops (0 ms) [ok]: Coverage: basic SWAPDB test and unhappy path (2 ms) [ok]: Coverage: SWAPDB and FLUSHDB (2 ms) [9/129 done]: unit/networking (1 seconds) Testing unit/maxmemory [ok]: Regression for pattern matching very long nested loops (87 ms) [ok]: FUZZ stresser with data model compr (524 ms) [ok]: eviction due to output buffers of many MGET clients, client eviction: false (93 ms) [ok]: FLUSHALL should not reset the dirty counter if we disable save (2 ms) [ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (2 ms) [ok]: client evicted due to watched key list (820 ms) [ok]: BITFIELD overflow wrap fuzzing (381 ms) [ok]: BITFIELD regression for #3221 (0 ms) [ok]: BITFIELD regression for #3564 (2 ms) [ok]: BITFIELD_RO with only key as argument (0 ms) [ok]: BITFIELD_RO fails when write option is used (0 ms) [ok]: ACL from config file and config rewrite (210 ms) [ok]: ACL still denies individual renamed commands (1 ms) [ok]: ACL command classes aren't affected by command renaming (2 ms) [ok]: ACL GETUSER provides correct results when commands renamed (6 ms) [ok]: CLIENT KILL maxAGE will kill old clients (2002 ms) [ok]: CLIENT KILL SKIPME YES/NO will kill all clients (3 ms) [ok]: CLIENT command unhappy path coverage (3 ms) [ok]: BGSAVE (106 ms) [ok]: SELECT an out of range DB (1 ms) [ok]: Test check paused info in info clients (2099 ms) [ok]: Test read commands are not blocked by client pause (2 ms) [ok]: CLIENT KILL close the client connection during bgsave (99 ms) [ok]: CLIENT REPLY OFF/ON: disable all commands reply (41 ms) [ok]: CLIENT REPLY SKIP: skip the next command reply (41 ms) [ok]: Test ACL LOAD works on primary (3 ms) [ok]: CLIENT REPLY ON: unset SKIP flag (42 ms) [ok]: MONITOR can log executed commands (1 ms) [ok]: MONITOR properly escapes special characters through sdscatrepr (1 ms) [ok]: MONITOR can log commands issued by the scripting engine (0 ms) [ok]: MONITOR can log commands issued by functions (1 ms) [ok]: MONITOR supports redacting command arguments (2 ms) [ok]: MONITOR correctly handles multi-exec cases (1 ms) [ok]: MONITOR correctly records SET EX in MULTI-EXEC (1 ms) [ok]: Measures elapsed time os.clock() (1004 ms) [ok]: MONITOR log blocked command only once (3 ms) [ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: CLIENT GETNAME check if name set correctly (1 ms) [ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) [ok]: CLIENT SETNAME does not accept spaces (0 ms) [ok]: CLIENT SETNAME can assign a name to this connection (0 ms) [ok]: CLIENT SETNAME can change the name of an existing connection (0 ms) [ok]: After CLIENT SETNAME, connection can still be closed (1 ms) [ok]: CLIENT SETINFO can set a library name to this connection (0 ms) [ok]: CLIENT SETINFO invalid args (1 ms) [ok]: RESET does NOT clean library name (0 ms) [ok]: CLIENT SETINFO can clear library name (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (4 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) [ok]: lua bit.tohex bug (1 ms) [ok]: BITFIELD: setup slave (102 ms) [ok]: Test an example script DECR_IF_GT (3 ms) [ok]: BITFIELD: write on master, read on slave (2 ms) [ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) [ok]: BITFIELD_RO fails when write option is used on read-only replica (0 ms) [ok]: Test ACL LOAD works on replica (104 ms) [ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (347 ms) [10/129 done]: unit/bitfield (1 seconds) Testing unit/info-command [ok]: Test new pause time is smaller than old one, then old time preserved (102 ms) [ok]: Test write commands are paused by RO (1 ms) [ok]: Test special commands are paused by RO (2 ms) [ok]: Test read/admin multi-execs are not blocked by pause RO (1 ms) [ok]: Test write multi-execs are blocked by pause RO (2 ms) [ok]: Test scripts are blocked by pause RO (1 ms) [ok]: Test RO scripts are not blocked by pause RO (1 ms) [ok]: Test read-only scripts in multi-exec are not blocked by pause RO (1 ms) [ok]: Test write scripts in multi-exec are blocked by pause RO (1 ms) [ok]: Test may-replicate commands are rejected in RO scripts (0 ms) [ok]: Test multiple clients can be queued up and unblocked (2 ms) [ok]: Test clients with syntax errors will get responses immediately (0 ms) [ok]: Test eviction is skipped during client pause (3 ms) Testing Valkey version 7.2.4 (00000000) [ok]: Extract version and sha1 details from info command and print (2 ms) [ok]: info command with at most one sub command (2 ms) [ok]: info command with one sub-section (1 ms) [ok]: info command with multiple sub-sections (1 ms) [11/129 done]: unit/acl (3 seconds) Testing unit/obuf-limits [ok]: Test both active and passive expires are skipped during client pause (104 ms) [12/129 done]: unit/info-command (1 seconds) Testing unit/commandlog [ok]: Test that client pause starts at the end of a transaction (3 ms) [ok]: CONFIG SET client-output-buffer-limit (2 ms) [ok]: Check consistency of different data types after a reload (717 ms) [ok]: COMMANDLOG - check that it starts with an empty log (0 ms) [ok]: Test when replica paused, offset would not grow (4 ms) [ok]: Test replica offset would grow after unpause (2 ms) [ok]: stats: instantaneous metrics (2005 ms) [ok]: Same dataset digest if saving/reloading as AOF? (191 ms) [ok]: COMMANDLOG - only logs commands exceeding the threshold (202 ms) [ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (7 ms) [ok]: CLIENT UNBLOCK is not allow to unblock client blocked by CLIENT PAUSE (3 ms) [ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3003 ms) [ok]: COMMANDLOG - zero max length is correctly handled (10 ms) [ok]: COMMANDLOG - max entries is correctly handled (9 ms) [ok]: stats: debug metrics (113 ms) [ok]: COMMANDLOG - GET optional argument to limit output len works (6 ms) [ok]: COMMANDLOG - RESET subcommand works (1 ms) [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (106 ms) [ok]: stats: client input and output buffer limit disconnections (68 ms) [ok]: clients: pubsub clients (3 ms) [ok]: clients: watching clients (12 ms) [ok]: CONFIG save params special case handled properly (881 ms) [ok]: CONFIG sanity (24 ms) [ok]: EVAL does not leak in the Lua stack (923 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) [ok]: Correct handling of reused argv (issue #1939) (1 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (2 ms) [ok]: COMMANDLOG - logged entry sanity check (202 ms) [ok]: COMMANDLOG slow - Certain commands are omitted that contain sensitive information (5 ms) [ok]: COMMANDLOG slow - Some commands can redact sensitive fields (1 ms) [ok]: COMMANDLOG slow - Rewritten commands are logged as their original command (5 ms) [ok]: COMMANDLOG slow - commands with too many arguments are trimmed (1 ms) [ok]: COMMANDLOG slow - too long arguments are trimmed (1 ms) [ok]: memory: database and pubsub overhead and rehashing dict count (14 ms) [ok]: Script return recursive object (131 ms) [13/129 done]: unit/info (3 seconds) Testing unit/hyperloglog [ok]: CONFIG REWRITE sanity (209 ms) [ok]: Script check unpack with massive arguments (65 ms) [ok]: Script read key with expiration set (0 ms) [ok]: Script del key with expiration set (1 ms) [ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (1 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (1 ms) [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) [ok]: COMMANDLOG slow - EXEC is not logged, just executed commands (202 ms) [ignore]: CVE-2025-32023: Sparse HLL XZERO overflow triggers crash: large memory flag not provided [ignore]: large memory flag not provided [ok]: query buffer resized correctly (2731 ms) [ok]: query buffer resized correctly when not idle (79 ms) [ok]: Test latency events logging (3404 ms) [ok]: LATENCY HISTORY output is ok (1 ms) [ok]: LATENCY LATEST output is ok (1 ms) [ok]: LATENCY GRAPH can output the event graph (1 ms) [ok]: COMMANDLOG slow - can clean older entries (202 ms) [ok]: KEYS with empty DB in cluster mode (0 ms) [ok]: KEYS with empty slot in cluster mode (0 ms) [14/129 done]: unit/keyspace (4 seconds) Testing unit/pubsubshard [ok]: SPUBLISH/SSUBSCRIBE basics (4 ms) [ok]: SPUBLISH/SSUBSCRIBE with two clients (2 ms) [ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (2 ms) [ok]: SSUBSCRIBE to one channel more than once (1 ms) [ok]: SUNSUBSCRIBE from non-subscribed channels (2 ms) [ok]: PUBSUB command basics (0 ms) [ok]: SPUBLISH/SSUBSCRIBE with two clients (2 ms) [ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (2 ms) [ok]: PubSubShard with CLIENT REPLY OFF (84 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (403 ms) [ok]: COMMANDLOG slow - can be disabled (402 ms) [ok]: COMMANDLOG slow - count must be >= -1 (1 ms) [ok]: COMMANDLOG slow - get all slow logs (3 ms) [ok]: COMMANDLOG slow - blocking command is reported only after unblocked (6 ms) [ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 0 (2 ms) [ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 1 (2 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (57 ms) [ok]: CONFIG REWRITE handles save and shutdown properly (753 ms) [ok]: CONFIG SET with multiple args (3 ms) [ok]: CONFIG SET rollback on set error (2 ms) [ok]: CONFIG SET rollback on apply error (3 ms) [ok]: CONFIG SET duplicate configs (0 ms) [ok]: CONFIG SET set immutable (0 ms) [ok]: Timedout script does not cause a false dead client (56 ms) [ok]: CONFIG GET hidden configs (5 ms) [ok]: CONFIG GET multiple args (0 ms) [15/129 done]: unit/commandlog (1 seconds) Testing unit/slowlog [ok]: HyperLogLog self test passes (735 ms) [ok]: PFADD without arguments creates an HLL value (1 ms) [ok]: Approximated cardinality after creation is zero (0 ms) [ok]: PFADD returns 1 when at least 1 reg was modified (0 ms) [ok]: PFADD returns 0 when no reg was modified (0 ms) [ok]: PFADD works with empty string (regression) (0 ms) [ok]: PFCOUNT returns approximated cardinality of set (1 ms) [ok]: valkey-server command line arguments - error cases (84 ms) [ok]: Timedout script link is still usable after Lua returns (94 ms) [ok]: SLOWLOG - check that it starts with an empty log (0 ms) [ok]: setup replication for following tests (102 ms) [ok]: publish message to master and receive on replica (2 ms) [ok]: SLOWLOG - only logs commands taking more time than specified (201 ms) [ok]: SLOWLOG - zero max length is correctly handled (16 ms) [ok]: SLOWLOG - max entries is correctly handled (15 ms) [ok]: SLOWLOG - GET optional argument to limit output len works (3 ms) [ok]: SLOWLOG - RESET subcommand works (0 ms) [ok]: Timedout scripts and unblocked command (419 ms) [ok]: SLOWLOG - logged entry sanity check (202 ms) [ok]: client evicted due to pubsub subscriptions (2890 ms) [ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (7 ms) [ok]: SLOWLOG - Some commands can redact sensitive fields (3 ms) [ok]: SLOWLOG - Rewritten commands are logged as their original command (10 ms) [ok]: SLOWLOG - commands with too many arguments are trimmed (2 ms) [ok]: SLOWLOG - too long arguments are trimmed (1 ms) [ok]: tot-net-out for replica client (529 ms) [ok]: client evicted due to tracking redirection (85 ms) [ok]: HyperLogLogs are promote from sparse to dense (580 ms) [ok]: Change hll-sparse-max-bytes (0 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (202 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) [ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (61 ms) [ok]: Big Quicklist: SORT BY key (598 ms) [ok]: Big Quicklist: SORT BY key with limit (19 ms) [ok]: SLOWLOG - EXEC is not logged, just executed commands (202 ms) [ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (224 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: SLOWLOG - can clean older entries (202 ms) [ok]: EXPIRES after AOF reload (without rewrite) (2108 ms) [ok]: valkey-server command line arguments - wrong usage that we support anyway (221 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Replication of script multiple pushes to list with BLPOP (2 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) [16/129 done]: unit/pubsubshard (1 seconds) Testing unit/aofrw [ok]: valkey-server command line arguments - allow option value to use the `--` prefix (222 ms) [ok]: eviction due to input buffer of a dead client, client eviction: false (3721 ms) [ok]: Big Quicklist: SORT BY hash field (590 ms) [ok]: Client output buffer hard limit is enforced (2760 ms) [ok]: Intset: SORT BY key (0 ms) [ok]: Intset: SORT BY key with limit (1 ms) [ok]: Intset: SORT BY hash field (0 ms) [ok]: SLOWLOG - can be disabled (401 ms) [ok]: SLOWLOG - count must be >= -1 (1 ms) [ok]: SLOWLOG - get all slow logs (2 ms) [ok]: SLOWLOG - blocking command is reported only after unblocked (3 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (1 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 1 (2 ms) [ok]: valkey-server command line arguments - option name and option value in the same arg and `--` prefix (219 ms) [17/129 done]: unit/slowlog (2 seconds) Testing unit/auth [ok]: AUTH fails if there is no password configured server side (0 ms) [ok]: Arity check for auth command (0 ms) [ok]: Hash table: SORT BY key (18 ms) [ok]: Hash table: SORT BY key with limit (2 ms) [ok]: Hash table: SORT BY hash field (19 ms) [ok]: AUTH fails when a wrong password is given (1 ms) [ok]: Arbitrary command gives an error when AUTH is required (0 ms) [ok]: AUTH succeeds when the right password is given (0 ms) [ok]: Once AUTH succeeded we can actually send commands to the server (1 ms) [ok]: HyperLogLog sparse encoding stress test (1121 ms) [ok]: For unauthenticated clients multibulk and bulk length are limited (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (0 ms) [ok]: For unauthenticated clients output buffer is limited (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) [ok]: Corrupted dense HyperLogLogs are detected: Wrong length (1 ms) [ok]: For once authenticated clients output buffer is NOT limited (1 ms) [ok]: TOUCH alters the last access time of a key (3003 ms) [ok]: PIPELINING stresser (also a regression for the old epoll bug) (1003 ms) [ok]: APPEND basics (0 ms) [ok]: APPEND basics, integer encoded values (1 ms) [ok]: AUTH fails when binary password is wrong (0 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) [ok]: Connect a replica to the master instance (102 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) [ok]: Redis.set_repl() don't accept invalid values (1 ms) [ok]: Test selective replication of certain commands from Lua (1 ms) [ok]: PRNG is seeded randomly for command replication (0 ms) [ok]: Using side effects is not a problem with command replication (1 ms) [ok]: eviction due to output buffers of pubsub, client eviction: false (899 ms) [ok]: eviction due to output buffers of many MGET clients, client eviction: true (101 ms) [ok]: APPEND fuzzing (296 ms) [ok]: FLUSHDB (1 ms) [ok]: Perform a final SAVE to leave a clean DB on disk (1 ms) [ok]: RESET clears client state (1 ms) [ok]: RESET clears MONITOR state (1 ms) [ok]: RESET clears and discards MULTI state (1 ms) [ok]: RESET clears Pub/Sub state (0 ms) [ok]: RESET clears authenticated state (0 ms) [ok]: Subcommand syntax error crash (issue #10070) (1 ms) [ok]: Extended Redis Compatibility config (2 ms) [ok]: query buffer resized correctly with fat argv (2921 ms) [18/129 done]: unit/querybuf (6 seconds) Testing unit/multi [ok]: MULTI / EXEC basics (2 ms) [ok]: DISCARD (2 ms) [ok]: Nested MULTI are not allowed (1 ms) [ok]: MULTI where commands alter argc/argv (1 ms) [ok]: WATCH inside MULTI is not allowed (1 ms) [ok]: EXEC fails if there are errors while queueing commands #1 (1 ms) [ok]: EXEC fails if there are errors while queueing commands #2 (2 ms) [ok]: If EXEC aborts, the client MULTI state is cleared (1 ms) [ok]: EXEC works on WATCHed key not modified (0 ms) [ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (0 ms) [ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (0 ms) [ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (2 ms) [ok]: valkey-server command line arguments - save with empty input (1105 ms) [ok]: EXEC fail on lazy expired WATCHed key (102 ms) [ok]: WATCH stale keys should not fail EXEC (3 ms) [ok]: Delete WATCHed stale keys should not fail EXEC (4 ms) [ok]: FLUSHDB while watching stale keys should not fail EXEC (4 ms) [ok]: After successful EXEC key is no longer watched (2 ms) [ok]: After failed EXEC key is no longer watched (2 ms) [ok]: It is possible to UNWATCH (1 ms) [ok]: UNWATCH when there is nothing watched works as expected (1 ms) [ok]: FLUSHALL is able to touch the watched keys (1 ms) [ok]: FLUSHALL does not touch non affected keys (1 ms) [ok]: FLUSHDB is able to touch the watched keys (1 ms) [ok]: FLUSHDB does not touch non affected keys (1 ms) [ok]: SWAPDB is able to touch the watched keys that exist (1 ms) [ok]: SWAPDB is able to touch the watched keys that do not exist (2 ms) [ok]: SWAPDB does not touch watched stale keys (4 ms) [ok]: SWAPDB does not touch non-existing key replaced with stale key (4 ms) [ok]: SWAPDB does not touch stale key replaced with another stale key (4 ms) [ok]: WATCH is able to remember the DB a key belongs to (2 ms) [ok]: WATCH will consider touched keys target of EXPIRE (1 ms) [ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (218 ms) [ok]: Don't rehash if server has child process (416 ms) [ok]: valkey-server command line arguments - dir multiple times (218 ms) [ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (1 ms) [ok]: test RESP2/2 map protocol parsing (1 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) [ok]: test RESP2/2 double protocol parsing (1 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (1 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (0 ms) [ok]: primaryauth test with binary password dualchannel = yes (910 ms) [ok]: test RESP2/3 big number protocol parsing (1 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) [ok]: test RESP2/3 map protocol parsing (1 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (1 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (1 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (1 ms) [ok]: test RESP3/2 big number protocol parsing (1 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) [ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (1 ms) [ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (1 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) [ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (1 ms) [ok]: test RESP3/3 set protocol parsing (1 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) [ok]: test resp3 attribute protocol parsing (1 ms) [ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (3 ms) [ok]: TIME command using cached time (11 ms) [ok]: Process title set as expected (2 ms) [ok]: cannot modify protected configuration - no (0 ms) [ok]: Script block the time in some expiration related commands (83 ms) [ok]: LATENCY GRAPH can output the expire event graph (0 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: LATENCY of expire events are correctly collected (3736 ms) [ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) [ok]: LATENCY DOCTOR produces some output (1 ms) [ok]: LATENCY RESET is able to reset events (0 ms) [ok]: LATENCY HELP should not have unexpected options (0 ms) [ok]: AUTH fails when binary password is wrong (1 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) [ok]: cannot modify protected configuration - local (6 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call server (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVAL - Redis integer -> Lua type conversion (1 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) [ok]: EVAL - Scripts do not block on blpop command (1 ms) [ok]: EVAL - Scripts do not block on brpop command (1 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (0 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts can run non-deterministic commands (0 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (1 ms) [ok]: EVAL - JSON smoke test (1 ms) [ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (193 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (1 ms) [ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) [ok]: redis.sha1hex() implementation (1 ms) [ok]: WATCH will consider touched expired keys (1108 ms) [ok]: DISCARD should clear the WATCH dirty flag on the client (1 ms) [ok]: DISCARD should UNWATCH all the keys (1 ms) [ok]: MULTI / EXEC is not propagated (single write command) (26 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands) (102 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (99 ms) [ok]: MULTI / EXEC is propagated correctly (empty transaction) (99 ms) [ok]: MULTI / EXEC is propagated correctly (read-only commands) (101 ms) [ok]: MULTI / EXEC is propagated correctly (write command, no effect) (100 ms) [ok]: primaryauth test with binary password dualchannel = no (914 ms) [ok]: MULTI / EXEC with REPLICAOF (101 ms) [ok]: DISCARD should not fail during OOM (1 ms) [19/129 done]: unit/auth (3 seconds) Testing unit/expire [ok]: config during loading (1106 ms) [ok]: Measures elapsed time os.clock() (1004 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (3 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (1 ms) [ok]: lua bit.tohex bug (0 ms) [ok]: Test an example script DECR_IF_GT (2 ms) [ok]: EXPIRE - set timeouts multiple times (1 ms) [ok]: EXPIRE - It should be still possible to read 'x' (1 ms) [ok]: MULTI and script timeout (403 ms) [ok]: TOUCH alters the last access time of a key in no-touch mode (3003 ms) [ok]: Big Hash table: SORT BY key (645 ms) [ok]: Big Hash table: SORT BY key with limit (18 ms) [ok]: EXEC and script timeout (404 ms) [ok]: Client output buffer soft limit is enforced if time is overreached (4057 ms) [ok]: EVAL does not leak in the Lua stack (892 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (1 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) [ok]: Scripts can handle commands with incorrect arity (1 ms) [ok]: Correct handling of reused argv (issue #1939) (0 ms) [ok]: Functions in the Redis namespace are able to report errors (1 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (2 ms) [ok]: MEMORY commands during loading (979 ms) [ok]: MULTI-EXEC body and script timeout (405 ms) [ok]: Big Hash table: SORT BY hash field (559 ms) [ok]: SORT GET # (0 ms) [ok]: SORT GET (1 ms) [ok]: SORT_RO GET (0 ms) [ok]: SORT GET (key and hash) with sanity check (4 ms) [ok]: SORT BY key STORE (0 ms) [ok]: SORT BY hash field STORE (0 ms) [ok]: SORT extracts STORE correctly (0 ms) [ok]: SORT_RO get keys (0 ms) [ok]: SORT extracts multiple STORE correctly (0 ms) [ok]: SORT DESC (0 ms) [ok]: SORT ALPHA against integer encoded strings (1 ms) [ok]: SORT sorted set (1 ms) [ok]: SORT sorted set BY nosort should retain ordering (1 ms) [ok]: SORT sorted set BY nosort + LIMIT (1 ms) [ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) [ok]: SORT sorted set: +inf and -inf handling (0 ms) [ok]: SORT regression for issue #19, sorting floats (1 ms) [ok]: SORT with STORE returns zero if result is empty (github issue 224) (0 ms) [ok]: SORT with STORE does not create empty lists (github issue 224) (1 ms) [ok]: SORT with STORE removes key if result is empty (github issue 227) (0 ms) [ok]: SORT with BY and STORE should still order output (1 ms) [ok]: SORT will complain with numerical sorting and bad doubles (1) (1 ms) [ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (0 ms) [ok]: SORT GET with pattern ending with just -> does not get hash field (1 ms) [ok]: SORT by nosort retains native order for lists (0 ms) [ok]: SORT by nosort plus store retains native order for lists (1 ms) [ok]: SORT by nosort with limit returns based on original list order (0 ms) [ok]: SORT_RO - Successful case (0 ms) [ok]: SORT_RO - Cannot run with STORE arg (0 ms) [ok]: Script return recursive object (211 ms) [ok]: SORT speed, 100 element list BY key, 100 times (53 ms) [ok]: Script check unpack with massive arguments (49 ms) [ok]: Script read key with expiration set (0 ms) [ok]: Script del key with expiration set (1 ms) [ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (1 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (1 ms) [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (1 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (1 ms) [ok]: SORT speed, 100 element list BY hash field, 100 times (66 ms) [ignore]: large memory flag not provided [ok]: SORT speed, 100 element list directly, 100 times (31 ms) [ok]: SORT speed, 100 element list BY , 100 times (25 ms) [ok]: CONFIG REWRITE handles rename-command properly (345 ms) [ok]: SETRANGE with huge offset (5 ms) [ok]: eviction due to input buffer of a dead client, client eviction: true (3663 ms) [ok]: Operations in no-touch mode do not alter the last access time of a key (1103 ms) [ok]: TOUCH returns the number of existing keys specified (1 ms) [ok]: command stats for GEOADD (1 ms) [ok]: errors stats for GEOADD (1 ms) [ok]: command stats for EXPIRE (1 ms) [ok]: command stats for BRPOP (1 ms) [ok]: command stats for MULTI (3 ms) [ok]: command stats for scripts (1 ms) [ok]: COMMAND COUNT get total number of commands (0 ms) [ok]: COMMAND GETKEYS GET (0 ms) [ok]: COMMAND GETKEYSANDFLAGS (1 ms) [ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) [ok]: COMMAND GETKEYS XGROUP (1 ms) [ok]: COMMAND GETKEYS EVAL with keys (0 ms) [ok]: COMMAND GETKEYS EVAL without keys (0 ms) [ok]: COMMAND GETKEYS LCS (0 ms) [ok]: COMMAND GETKEYS MORE THAN 256 KEYS (4 ms) [ok]: COMMAND LIST syntax error (1 ms) [ok]: COMMAND LIST WITHOUT FILTERBY (6 ms) [ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (0 ms) [ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (1 ms) [ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (2 ms) [ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) [ok]: COMMAND INFO of invalid subcommands (0 ms) [ok]: SET command will not be marked with movablekeys (1 ms) [ok]: GET command will not be marked with movablekeys (1 ms) [ok]: MSET command will not be marked with movablekeys (1 ms) [ok]: BITFIELD command will not be marked with movablekeys (0 ms) [ok]: LMOVE command will not be marked with movablekeys (0 ms) [ok]: LPOP command will not be marked with movablekeys (0 ms) [ok]: BLPOP command will not be marked with movablekeys (1 ms) [ok]: PING command will not be marked with movablekeys (0 ms) [ok]: MEMORY command will not be marked with movablekeys (1 ms) [ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) [ok]: RENAME command will not be marked with movablekeys (1 ms) [ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) [ok]: ZUNIONSTORE command is marked with movablekeys (1 ms) [ok]: XREAD command is marked with movablekeys (0 ms) [ok]: EVAL command is marked with movablekeys (0 ms) [ok]: SORT command is marked with movablekeys (1 ms) [ok]: SORT_RO command is marked with movablekeys (0 ms) [ok]: SORT STORE quicklist with the right options (70 ms) [ok]: MIGRATE command is marked with movablekeys (1 ms) [ok]: GEORADIUS command is marked with movablekeys (1 ms) [ok]: just EXEC and script timeout (404 ms) [ok]: exec with write commands and state change (2 ms) [ok]: exec with read commands and stale replica state change (12 ms) [ok]: EXEC with only read commands should not be rejected when OOM (1 ms) [ok]: EXEC with at least one use-memory command should fail (2 ms) [20/129 done]: unit/introspection-2 (10 seconds) Testing unit/bitops [ok]: Blocking commands ignores the timeout (1 ms) [ok]: MULTI propagation of PUBLISH (84 ms) [ok]: BITCOUNT against wrong type (1 ms) [ok]: BITCOUNT returns 0 against non existing key (0 ms) [ok]: BITCOUNT returns 0 with out of range indexes (1 ms) [ok]: BITCOUNT returns 0 with negative indexes where start > end (1 ms) [ok]: BITCOUNT against test vector #1 (1 ms) [ok]: BITCOUNT against test vector #2 (1 ms) [ok]: BITCOUNT against test vector #3 (0 ms) [ok]: BITCOUNT against test vector #4 (1 ms) [ok]: BITCOUNT against test vector #5 (0 ms) [ok]: MULTI propagation of SCRIPT LOAD (101 ms) [ok]: MULTI propagation of EVAL (100 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (403 ms) [ok]: MULTI propagation of SCRIPT FLUSH (102 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (97 ms) [ok]: MULTI propagation of XREADGROUP (102 ms) [ok]: MULTI with SAVE (1 ms) [ok]: Timedout script does not cause a false dead client (64 ms) [ok]: MULTI with SHUTDOWN (1 ms) [ok]: BITCOUNT fuzzing without start/end (369 ms) [ok]: CONFIG REWRITE handles alias config properly (693 ms) [21/129 done]: unit/introspection (11 seconds) Testing unit/functions [ok]: Timedout script link is still usable after Lua returns (95 ms) [ok]: FUNCTION - Basic usage (1 ms) [ok]: FUNCTION - Load with unknown argument (1 ms) [ok]: FUNCTION - Create an already exiting library raise error (0 ms) [ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (0 ms) [ok]: FUNCTION - Create a library with wrong name format (0 ms) [ok]: FUNCTION - Create library with unexisting engine (1 ms) [ok]: FUNCTION - Test uncompiled script (0 ms) [ok]: FUNCTION - test replace argument (1 ms) [ok]: FUNCTION - test function case insensitive (0 ms) [ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) [ok]: FUNCTION - test function delete (0 ms) [ok]: FUNCTION - test fcall bad arguments (0 ms) [ok]: FUNCTION - test fcall bad number of keys arguments (0 ms) [ok]: FUNCTION - test fcall negative number of keys (0 ms) [ok]: FUNCTION - test delete on not exiting library (0 ms) [ok]: FUNCTION - test function kill when function is not running (1 ms) [ok]: FUNCTION - test wrong subcommand (0 ms) [ok]: FUNCTION - test loading from rdb (3 ms) [ok]: FUNCTION - test debug reload different options (2 ms) [ok]: FUNCTION - test debug reload with nosave and noflush (2 ms) [ok]: FUNCTION - test flushall and flushdb do not clean functions (1 ms) [ok]: FUNCTION - test function dump and restore (1 ms) [ok]: FUNCTION - test function dump and restore with flush argument (1 ms) [ok]: FUNCTION - test function dump and restore with append argument (2 ms) [ok]: FUNCTION - test function dump and restore with replace argument (2 ms) [ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) [ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) [ok]: MULTI with BGREWRITEAOF (209 ms) [ok]: FUNCTION - test fcall_ro with write command (0 ms) [ok]: FUNCTION - test fcall_ro with read only commands (1 ms) [ok]: FUNCTION - test keys and argv (1 ms) [ok]: FUNCTION - test command get keys on fcall (0 ms) [ok]: FUNCTION - test command get keys on fcall_ro (0 ms) [ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2102 ms) [ok]: EXPIRE - write on expire should work (1 ms) [ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) [ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) [ok]: SETEX - Check value (0 ms) [ok]: SETEX - Overwrite old key (1 ms) [ok]: eviction due to output buffers of pubsub, client eviction: true (865 ms) [ok]: MULTI with config set appendonly (208 ms) [ok]: MULTI with config error (1 ms) [ok]: Flushall while watching several keys by one client (1 ms) [ok]: AUTH errored inside MULTI will add the reply (1 ms) [ok]: Server can trigger resizing (1685 ms) [ok]: Timedout scripts and unblocked command (415 ms) [ok]: BITCOUNT fuzzing with start/end (504 ms) [ok]: BITCOUNT with just start (1 ms) [ok]: BITCOUNT with start, end (2 ms) [ok]: BITCOUNT with illegal arguments (0 ms) [ok]: BITCOUNT against non-integer value (1 ms) [ok]: BITCOUNT regression test for github issue #582 (1 ms) [ok]: BITCOUNT misaligned prefix (0 ms) [ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) [ok]: BITOP NOT (empty string) (1 ms) [ok]: BITOP NOT (known string) (0 ms) [ok]: BITOP where dest and target are the same key (1 ms) [ok]: BITOP AND|OR|XOR don't change the string with single input key (0 ms) [ok]: BITOP missing key is considered a stream of zero (1 ms) [ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) [ok]: FUNCTION - test function kill (404 ms) [ok]: MULTI with FLUSHALL and AOF (33 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (202 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (2 ms) [ok]: BITOP and fuzzing (204 ms) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (397 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: BITOP or fuzzing (258 ms) [ok]: FUNCTION - test script kill not working on function (405 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Replication of script multiple pushes to list with BLPOP (2 ms) [ok]: Server can rewind and trigger smaller slot resizing (645 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) [ok]: Server can resize empty dict (28 ms) [ok]: BITOP xor fuzzing (275 ms) [ok]: BITOP NOT fuzzing (27 ms) [ok]: BITOP with integer encoded source objects (0 ms) [ok]: BITOP with non string source key (1 ms) [ok]: BITOP with empty string after non empty string (issue #529) (0 ms) [ok]: BITPOS against wrong type (1 ms) [ok]: BITPOS will illegal arguments (0 ms) [ok]: BITPOS against non-integer value (1 ms) [ok]: BITPOS bit=0 with empty key returns 0 (0 ms) [ok]: BITPOS bit=1 with empty key returns -1 (0 ms) [ok]: BITPOS bit=0 with string less than 1 word works (0 ms) [ok]: BITPOS bit=1 with string less than 1 word works (0 ms) [ok]: BITPOS bit=0 starting at unaligned address (0 ms) [ok]: BITPOS bit=1 starting at unaligned address (1 ms) [ok]: BITPOS bit=0 unaligned+full word+reminder (2 ms) [ok]: BITPOS bit=1 unaligned+full word+reminder (2 ms) [ok]: BITPOS bit=1 returns -1 if string is all 0 bits (5 ms) [ok]: BITPOS bit=0 works with intervals (1 ms) [ok]: BITPOS bit=1 works with intervals (1 ms) [ok]: BITPOS bit=0 changes behavior if end is given (0 ms) [ok]: SETBIT/BITFIELD only increase dirty when the value changed (6 ms) [ok]: SETEX - Wait for the key to expire (1101 ms) [ok]: SETEX - Wrong time parameter (0 ms) [ok]: PERSIST can undo an EXPIRE (2 ms) [ok]: PERSIST returns 0 against non existing or non volatile keys (1 ms) [ok]: FUNCTION - test function kill not working on eval (404 ms) [ok]: test unixsocket options are set correctly (1 ms) [ok]: FUNCTION - test function flush (5 ms) [ok]: FUNCTION - test function flush will re-create the lua engine (49 ms) [ok]: sort by in cluster mode (1 ms) [ok]: sort get in cluster mode (1 ms) [ok]: sort_ro by in cluster mode (0 ms) [ok]: sort_ro get in cluster mode (1 ms) [22/129 done]: unit/other (12 seconds) Testing unit/quit [ok]: BITPOS bit=1 fuzzy testing using SETBIT (272 ms) [23/129 done]: unit/sort (11 seconds) Testing unit/memefficiency [ok]: QUIT returns OK (1 ms) [ok]: Pipelined commands after QUIT must not be executed (1 ms) [ok]: Pipelined commands after QUIT that exceed read buffer size (1 ms) [24/129 done]: unit/quit (0 seconds) Testing unit/violations [ok]: BITPOS bit=0 fuzzy testing using SETBIT (267 ms) [ok]: SORT adds integer field to list (1 ms) [25/130 done]: unit/violations (1 seconds) Testing unit/scan [ok]: Memory efficiency with values in range 32 (291 ms) [ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (270 ms) [26/131 done]: unit/bitops (3 seconds) Testing unit/wait [ok]: Connect a replica to the master instance (102 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) [ok]: Redis.set_repl() don't accept invalid values (1 ms) [ok]: {standalone} SCAN basic (90 ms) [ok]: Test selective replication of certain commands from Lua (3 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) [ok]: Using side effects is not a problem with command replication (2 ms) [ok]: {standalone} SCAN COUNT (66 ms) [ok]: Memory efficiency with values in range 64 (261 ms) [ok]: {standalone} SCAN MATCH (56 ms) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (1500 ms) [ok]: {standalone} SCAN TYPE (83 ms) [ok]: {standalone} SCAN unknown type (52 ms) [ok]: EXPIRE precision is now the millisecond (1102 ms) [ok]: Setup slave (103 ms) [ok]: WAIT out of range timeout (milliseconds) (2 ms) [ok]: WAIT should acknowledge 1 additional copy of the data (1 ms) [ok]: {standalone} SCAN with expired keys (67 ms) [ok]: Memory efficiency with values in range 128 (264 ms) [ok]: PSETEX can set sub-second expires (102 ms) [ok]: {standalone} SCAN with expired keys with TYPE filter (67 ms) [ok]: {standalone} SSCAN with encoding intset (1 ms) [ok]: {standalone} SSCAN with encoding listpack (1 ms) [ok]: {standalone} SSCAN with encoding hashtable (4 ms) [ok]: {standalone} HSCAN with encoding listpack (2 ms) [ok]: PEXPIRE can set sub-second expires (103 ms) [ok]: Test check paused info during the cluster failover in info clients (63 ms) [ok]: {standalone} HSCAN with encoding hashtable (94 ms) [ok]: {standalone} ZSCAN with encoding listpack (3 ms) [ok]: Regression test for multi-exec with RANDOMKEY accessing the wrong per-slot dictionary (2 ms) [27/131 done]: unit/pause (13 seconds) Testing unit/tls [ok]: {standalone} ZSCAN with encoding skiplist (113 ms) [ok]: {standalone} SCAN guarantees check under write load (19 ms) [ok]: {standalone} SSCAN with integer encoded object (issue #1345) (0 ms) [ok]: {standalone} SSCAN with PATTERN (1 ms) [ok]: {standalone} HSCAN with PATTERN (0 ms) [ok]: {standalone} HSCAN with NOVALUES (1 ms) [ok]: {standalone} ZSCAN with PATTERN (0 ms) [ok]: {standalone} ZSCAN with NOSCORES (1 ms) [28/131 done]: unit/multi (7 seconds) Testing unit/type/stream [ok]: PEXPIREAT can set sub-second expires (204 ms) [ok]: EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired (7 ms) [ok]: TTL returns time to live in seconds (1 ms) [ok]: PTTL returns time to live in milliseconds (1 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (0 ms) [ok]: EXPIRETIME returns absolute expiration time in seconds (0 ms) [ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) [ok]: Memory efficiency with values in range 1024 (370 ms) [ok]: XADD wrong number of args (0 ms) [ok]: XADD can add entries into a stream that XRANGE can fetch (1 ms) [ok]: XADD IDs are incremental (1 ms) [ok]: XADD IDs are incremental when ms is the same as well (1 ms) [ok]: XADD IDs correctly report an error when overflowing (0 ms) [ok]: XADD auto-generated sequence is incremented for last ID (1 ms) [ok]: XADD auto-generated sequence is zero for future timestamp ID (1 ms) [ok]: XADD auto-generated sequence can't be smaller than last ID (0 ms) [ok]: XADD auto-generated sequence can't overflow (1 ms) [ok]: XADD 0-* should succeed (0 ms) [29/131 done]: unit/tls (1 seconds) Testing unit/type/set [ok]: {standalone} ZSCAN scores: regression test for issue #2175 (203 ms) [ok]: test RESP2/2 big number protocol parsing (1 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) [ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (1 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (0 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (1 ms) [ok]: test RESP2/3 big number protocol parsing (1 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) [ok]: test RESP2/3 map protocol parsing (1 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (1 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (1 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (1 ms) [ok]: test RESP3/2 big number protocol parsing (1 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) [ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) [ok]: test RESP3/2 true protocol parsing (1 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) [ok]: test RESP3/3 malformed big number protocol parsing (1 ms) [ok]: test RESP3/3 map protocol parsing (0 ms) [ok]: test RESP3/3 set protocol parsing (0 ms) [ok]: test RESP3/3 double protocol parsing (1 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 verbatim protocol parsing (1 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) [ok]: test resp3 attribute protocol parsing (0 ms) [ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (3 ms) [ok]: TIME command using cached time (10 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (3 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (33 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (4 ms) [ok]: XADD with MAXLEN option (184 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non set (1 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non existing key (1 ms) [ok]: SMISMEMBER requires one or more members (2 ms) [ok]: SADD against non set (0 ms) [ok]: SADD a non-integer against a small intset (1 ms) [ok]: SADD a non-integer against a large intset (30 ms) [ok]: SADD an integer larger than 64 bits (1 ms) [ok]: Script block the time in some expiration related commands (84 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: SADD an integer larger than 64 bits to a large intset (21 ms) [ok]: SADD overflows the maximum allowed integers in an intset - single (67 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - single (18 ms) [ok]: SADD overflows the maximum allowed integers in an intset - multiple (43 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - multiple (2 ms) [ok]: XADD with MAXLEN option and the '=' argument (216 ms) [ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (44 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) [ok]: Variadic SADD (0 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call server (0 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (1 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) [ok]: EVAL - Scripts do not block on blpop command (1 ms) [ok]: EVAL - Scripts do not block on brpop command (0 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) [ok]: EVAL - Scripts do not block on blmove command (0 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) [ok]: EVAL - Scripts do not block on wait (1 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (0 ms) [ok]: EVAL - Scripts can run non-deterministic commands (0 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (1 ms) [ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) [ok]: Server should actively expire keys incrementally (604 ms) [ok]: XADD with MAXLEN option and the '~' argument (145 ms) [ok]: XADD with NOMKSTREAM option (1 ms) [ok]: WAIT should not acknowledge 2 additional copies of the data (1075 ms) [ok]: Set encoding after DEBUG RELOAD (228 ms) [ok]: SREM basics - $type (1 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (182 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (1 ms) [ok]: EVAL - Verify minimal bitop functionality (0 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: redis.sha1hex() implementation (1 ms) [ok]: SREM basics - $type (18 ms) [ok]: SREM basics - intset (1 ms) [ok]: SREM with multiple arguments (1 ms) [ok]: SREM variadic version with more args needed to destroy the key (1 ms) [ok]: SINTERCARD with illegal arguments (2 ms) [ok]: SINTERCARD against non-set should throw error (1 ms) [ok]: SINTERCARD against non-existing key (0 ms) [ok]: XADD with MINID option (176 ms) [ok]: XTRIM with MINID option (1 ms) [ok]: XTRIM with MINID option, big delta from master record (1 ms) [ok]: Generated sets must be encoded correctly - regular (1 ms) [ok]: SINTER with two sets - regular (0 ms) [ok]: SINTERCARD with two sets - regular (1 ms) [ok]: SINTERSTORE with two sets - regular (1 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (9 ms) [ok]: SUNION with two sets - regular (15 ms) [ok]: SUNIONSTORE with two sets - regular (15 ms) [ok]: SINTER against three sets - regular (0 ms) [ok]: SINTERCARD against three sets - regular (0 ms) [ok]: SINTERSTORE with three sets - regular (1 ms) [ok]: SUNION with non existing keys - regular (13 ms) [ok]: SDIFF with two sets - regular (1 ms) [ok]: SDIFF with three sets - regular (0 ms) [ok]: SDIFFSTORE with three sets - regular (1 ms) [ok]: SINTER/SUNION/SDIFF with three same sets - regular (9 ms) [ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5026 ms) [ok]: Generated sets must be encoded correctly - intset (1 ms) [ok]: SINTER with two sets - intset (0 ms) [ok]: SINTERCARD with two sets - intset (1 ms) [ok]: SINTERSTORE with two sets - intset (0 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (5 ms) [ok]: SUNION with two sets - intset (9 ms) [ok]: SUNIONSTORE with two sets - intset (10 ms) [ok]: SINTER against three sets - intset (0 ms) [ok]: SINTERCARD against three sets - intset (0 ms) [ok]: SINTERSTORE with three sets - intset (1 ms) [ok]: SUNION with non existing keys - intset (8 ms) [ok]: SDIFF with two sets - intset (0 ms) [ok]: SDIFF with three sets - intset (0 ms) [ok]: SDIFFSTORE with three sets - intset (0 ms) [ok]: SINTER/SUNION/SDIFF with three same sets - intset (7 ms) [ok]: SINTERSTORE with two listpack sets where result is intset (1 ms) [ok]: SINTERSTORE with two hashtable sets where result is intset (32 ms) [ok]: SUNION hashtable and listpack (2 ms) [ok]: SDIFF with first set empty (1 ms) [ok]: SDIFF with same set two times (0 ms) [ok]: No response for single command if client output buffer hard limit is enforced (126 ms) [ok]: Server should lazy expire keys (1004 ms) [ok]: MIGRATE cached connections are released after some time (15001 ms) [ok]: Measures elapsed time os.clock() (1002 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) [ok]: lua bit.tohex bug (0 ms) [ok]: Test an example script DECR_IF_GT (1 ms) [ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1104 ms) [ok]: Memory efficiency with values in range 16384 (1834 ms) [ok]: MIGRATE is able to migrate a key between two instances (226 ms) [30/132 done]: unit/memefficiency (4 seconds) Testing unit/type/hash [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (2517 ms) [ok]: HSET/HLEN - Small hash creation (2 ms) [ok]: Is the small hash encoded with a listpack? (0 ms) [ok]: HRANDFIELD - listpack (12 ms) [ok]: HRANDFIELD - hashtable (10 ms) [ok]: HRANDFIELD with RESP3 (1 ms) [ok]: HRANDFIELD count of 0 is handled correctly (0 ms) [ok]: HRANDFIELD count overflow (1 ms) [ok]: HRANDFIELD with against non existing key (0 ms) [ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (0 ms) [ok]: HRANDFIELD with against non existing key - emptyarray (0 ms) [ok]: MIGRATE is able to copy a key between two instances (226 ms) [ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1044 ms) [ok]: Execute transactions completely even if client output buffer limit is enforced (24 ms) [ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (59 ms) [ok]: EVAL does not leak in the Lua stack (488 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) [ok]: Correct handling of reused argv (issue #1939) (0 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (1 ms) [ok]: HRANDFIELD with - hashtable (184 ms) [ok]: Obuf limit, KEYS stopped mid-run (90 ms) [31/132 done]: unit/obuf-limits (13 seconds) Testing unit/type/list [ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (225 ms) [ok]: Script return recursive object (132 ms) [ok]: Script check unpack with massive arguments (25 ms) [ok]: Script read key with expiration set (0 ms) [ok]: Script del key with expiration set (1 ms) [ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (0 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (1 ms) [ok]: Try trick global protection 3 (0 ms) [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (1 ms) [ok]: Test print are not available (0 ms) [ok]: HRANDFIELD with - listpack (136 ms) [ok]: packed node check compression with insert and pop (3 ms) [ok]: packed node check compression combined with trim (0 ms) [ok]: packed node check compression with lset (0 ms) [ignore]: large memory flag not provided [ok]: HSET/HLEN - Big hash creation (113 ms) [ok]: Is the big hash encoded with an hash table? (0 ms) [ok]: HGET against the small hash (1 ms) [ok]: MIGRATE propagates TTL correctly (225 ms) [ok]: EXPIRE should not resurrect keys (issue #1026) (1002 ms) [ok]: 5 keys in, 5 keys out (1 ms) [ok]: EXPIRE with empty string as TTL should report an error (0 ms) [ok]: SET with EX with big integer should report an error (1 ms) [ok]: SET with EX with smallest integer should report an error (0 ms) [ok]: GETEX with big integer should report an error (1 ms) [ok]: GETEX with smallest integer should report an error (0 ms) [ok]: EXPIRE with big integer overflows when converted to milliseconds (1 ms) [ok]: PEXPIRE with big integer overflow when basetime is added (0 ms) [ok]: EXPIRE with big negative integer (0 ms) [ok]: PEXPIREAT with big integer works (0 ms) [ok]: PEXPIREAT with big negative integer works (1 ms) [ok]: HGET against the big hash (81 ms) [ok]: HGET against non existing key (1 ms) [ok]: HSET in update and insert mode (1 ms) [ok]: HSETNX target key missing - small hash (0 ms) [ok]: HSETNX target key exists - small hash (0 ms) [ok]: HSETNX target key missing - big hash (0 ms) [ok]: HSETNX target key exists - big hash (0 ms) [ok]: HSET/HMSET wrong number of args (1 ms) [ok]: HMSET - small hash (0 ms) [ok]: HMSET - big hash (54 ms) [ok]: HMGET against non existing key and fields (0 ms) [ok]: Hash commands against wrong type (2 ms) [ok]: HMGET - small hash (0 ms) [ok]: HMGET - big hash (59 ms) [ok]: HKEYS - small hash (0 ms) [ok]: HKEYS - big hash (16 ms) [ok]: HVALS - small hash (0 ms) [ok]: HVALS - big hash (2 ms) [ok]: plain node check compression with insert and pop (293 ms) [ok]: HGETALL - small hash (0 ms) [ok]: HGETALL - big hash (32 ms) [ok]: HGETALL against non-existing key (0 ms) [ok]: HDEL and return value (1 ms) [ok]: HDEL - more than a single value (1 ms) [ok]: HDEL - hash becomes empty before deleting all specified fields (0 ms) [ok]: HEXISTS (1 ms) [ok]: Is a ziplist encoded Hash promoted on big payload? (0 ms) [ok]: HINCRBY against non existing database key (1 ms) [ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (0 ms) [ok]: HINCRBY against non existing hash key (1 ms) [ok]: HINCRBY against hash key created by hincrby itself (0 ms) [ok]: HINCRBY against hash key originally set with HSET (1 ms) [ok]: HINCRBY over 32bit value (0 ms) [ok]: HINCRBY over 32bit value with over 32bit increment (1 ms) [ok]: HINCRBY fails against hash value with spaces (left) (0 ms) [ok]: HINCRBY fails against hash value with spaces (right) (1 ms) [ok]: HINCRBY can detect overflows (0 ms) [ok]: HINCRBYFLOAT against non existing database key (1 ms) [ok]: HINCRBYFLOAT against non existing hash key (0 ms) [ok]: HINCRBYFLOAT against hash key created by hincrby itself (1 ms) [ok]: HINCRBYFLOAT against hash key originally set with HSET (0 ms) [ok]: HINCRBYFLOAT over 32bit value (0 ms) [ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (0 ms) [ok]: HINCRBYFLOAT fails against hash value with spaces (left) (0 ms) [ok]: HINCRBYFLOAT fails against hash value with spaces (right) (1 ms) [ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (0 ms) [ok]: HSTRLEN against the small hash (1 ms) [ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1103 ms) [ok]: WAIT replica multiple clients unblock - reuse last result (12 ms) [ok]: plain node check compression combined with trim (125 ms) [ok]: HSTRLEN against the big hash (78 ms) [ok]: HSTRLEN against non existing field (0 ms) [ok]: HSTRLEN corner cases (3 ms) [ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (1 ms) [ok]: Hash ziplist regression test for large keys (1 ms) [ok]: Hash fuzzing #1 - 10 fields (27 ms) [ok]: Hash fuzzing #2 - 10 fields (19 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (403 ms) [ok]: plain node check compression with lset (166 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (101 ms) [ok]: Setup a new replica (105 ms) [ok]: Timedout script does not cause a false dead client (58 ms) [ok]: Test LPUSH and LPOP on plain nodes (5 ms) [ok]: Test LINDEX and LINSERT on plain nodes (2 ms) [ok]: Test LTRIM on plain nodes (2 ms) [ok]: Test LREM on plain nodes (2 ms) [ok]: Test LPOS on plain nodes (2 ms) [ok]: Test LMOVE on plain nodes (2 ms) [ok]: XADD mass insertion and XLEN (2423 ms) [ok]: XADD with ID 0-0 (1 ms) [ok]: XADD with LIMIT delete entries no more than limit (1 ms) [ok]: XRANGE COUNT works as expected (0 ms) [ok]: XREVRANGE COUNT works as expected (1 ms) [ok]: Timedout script link is still usable after Lua returns (100 ms) [ok]: Test LSET with packed / plain combinations (183 ms) [ok]: Test LSET with packed is split in the middle (3 ms) [ok]: Test LSET with packed consist only one item (183 ms) [ok]: Crash due to delete entry from a compress quicklist node (2 ms) [ok]: Crash due to split quicklist node wrongly (2 ms) [ok]: Test LPUSH and LPOP on plain nodes (5 ms) [ok]: Test LINDEX and LINSERT on plain nodes (2 ms) [ok]: Test LTRIM on plain nodes (2 ms) [ok]: Test LREM on plain nodes (2 ms) [ok]: Test LPOS on plain nodes (2 ms) [ok]: Test LMOVE on plain nodes (3 ms) [ok]: XRANGE can be used to iterate the whole stream (405 ms) [ok]: Timedout scripts and unblocked command (422 ms) [ok]: FUNCTION - test loading function during the flush async (5159 ms) [ok]: FUNCTION - test function wrong argument (1 ms) [ok]: Test LSET with packed / plain combinations (181 ms) [ok]: Test LSET with packed is split in the middle (2 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (202 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (2 ms) [ok]: WAIT in script will work (814 ms) [ok]: Test LSET with packed consist only one item (179 ms) [ok]: Crash due to delete entry from a compress quicklist node (2 ms) [ok]: Crash due to split quicklist node wrongly (1 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: FUNCTION - creation is replicated to replica (2 ms) [ok]: FUNCTION - call on replica (0 ms) [ok]: FUNCTION - restore is replicated to replica (2 ms) [ok]: FUNCTION - delete is replicated to replica (0 ms) [ok]: FUNCTION - flush is replicated to replica (3 ms) [ok]: Cluster config file latency (4 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: LPOS basic usage - quicklist (42 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (2 ms) [ok]: LPOS COUNT option (1 ms) [ok]: LPOS COUNT + RANK option (1 ms) [ok]: LPOS non existing key (0 ms) [ok]: LPOS no match (1 ms) [ok]: LPOS MAXLEN (1 ms) [ok]: LPOS when RANK is greater than matches (1 ms) [ok]: Disconnecting the replica from master instance (104 ms) [ok]: FUNCTION - test replication to replica on rdb phase (0 ms) [ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) [ok]: FUNCTION - create on read only replica (0 ms) [ok]: FUNCTION - delete on read only replica (1 ms) [ok]: FUNCTION - function effect is replicated to replica (1 ms) [ok]: FUNCTION - modify key space of read only replica (1 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Replication of script multiple pushes to list with BLPOP (1 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) [32/133 done]: unit/latency-monitor (18 seconds) Testing unit/type/list-2 [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (85 ms) [ok]: LPOP/RPOP with wrong number of arguments (1 ms) [ok]: WAITAOF local copy before fsync (93 ms) [ok]: RPOP/LPOP with the optional count argument - quicklist (41 ms) [ok]: WAITAOF local copy everysec (1 ms) [ok]: LPOS basic usage - listpack (0 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) [ok]: WAITAOF local copy with appendfsync always (1 ms) [ok]: LPOS COUNT option (1 ms) [ok]: LPOS COUNT + RANK option (0 ms) [ok]: LPOS non existing key (0 ms) [ok]: LPOS no match (1 ms) [ok]: LPOS MAXLEN (0 ms) [ok]: LPOS when RANK is greater than matches (1 ms) [ok]: WAITAOF local wait and then stop aof (2 ms) [ok]: WAITAOF local on server with aof disabled (1 ms) [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (2 ms) [ok]: LPOP/RPOP with wrong number of arguments (1 ms) [ok]: RPOP/LPOP with the optional count argument - listpack (1 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (1 ms) [ok]: LPOP/RPOP against non existing key in RESP3 (0 ms) [ok]: LPOP/RPOP with against non existing key in RESP3 (1 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP2 (0 ms) [ok]: LPOP/RPOP against non existing key in RESP2 (1 ms) [ok]: LPOP/RPOP with against non existing key in RESP2 (0 ms) [ok]: Variadic RPUSH/LPUSH (0 ms) [ok]: DEL a list (1 ms) [ok]: BLPOP: single existing list - quicklist (43 ms) [ok]: BLPOP: multiple existing lists - quicklist (85 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (2448 ms) [ok]: BLPOP: second list has an entry - quicklist (43 ms) [ok]: Hash fuzzing #1 - 512 fields (1553 ms) [ok]: BLMPOP_LEFT: single existing list - quicklist (43 ms) [ok]: WAITAOF local if AOFRW was postponed (299 ms) [ok]: BLMPOP_LEFT: multiple existing lists - quicklist (86 ms) [ok]: BLMPOP_LEFT: second list has an entry - quicklist (43 ms) [ok]: BRPOPLPUSH - quicklist (44 ms) [ok]: WAITAOF on demoted master gets unblocked with an error (2 ms) [ok]: BLMOVE left left - quicklist (44 ms) [ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2026 ms) [ok]: BLMOVE left right - quicklist (44 ms) [ok]: BLMOVE right left - quicklist (44 ms) [ok]: All TTL in commands are propagated as absolute timestamp in replication stream (40 ms) [ok]: BLMOVE right right - quicklist (44 ms) [ok]: BLPOP: single existing list - listpack (2 ms) [ok]: BLPOP: multiple existing lists - listpack (3 ms) [ok]: BLPOP: second list has an entry - listpack (1 ms) [ok]: BLMPOP_LEFT: single existing list - listpack (2 ms) [ok]: BLMPOP_LEFT: multiple existing lists - listpack (3 ms) [ok]: BLMPOP_LEFT: second list has an entry - listpack (2 ms) [ok]: BRPOPLPUSH - listpack (2 ms) [ok]: BLMOVE left left - listpack (1 ms) [ok]: BLMOVE left right - listpack (1 ms) [ok]: BLMOVE right left - listpack (1 ms) [ok]: WAITAOF replica copy before fsync (70 ms) [ok]: BLMOVE right right - listpack (2 ms) [ok]: BLPOP, LPUSH + DEL should not awake blocked client (2 ms) [ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (2 ms) [ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (1 ms) [ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (1 ms) [ok]: BLPOP with same key multiple times should work (issue #801) (1 ms) [ok]: MULTI/EXEC is isolated from the point of view of BLPOP (1 ms) [ok]: BLPOP with variadic LPUSH (0 ms) [ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (1 ms) [ok]: BLMPOP_LEFT with variadic LPUSH (0 ms) [ok]: BRPOPLPUSH with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE left left with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE left right with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE right left with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE right right with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE (left, left) with a client BLPOPing the target list (2 ms) [ok]: BLMOVE (left, right) with a client BLPOPing the target list (1 ms) [ok]: BLMOVE (right, left) with a client BLPOPing the target list (1 ms) [ok]: BLMOVE (right, right) with a client BLPOPing the target list (2 ms) [ok]: BRPOPLPUSH with wrong source type (0 ms) [ok]: BRPOPLPUSH with wrong destination type (2 ms) [ok]: BRPOPLPUSH maintains order of elements after failure (1 ms) [ok]: BRPOPLPUSH with multiple blocked clients (1 ms) [ok]: BLMPOP with multiple blocked clients (3 ms) [ok]: Linked LMOVEs (1 ms) [ok]: Circular BRPOPLPUSH (2 ms) [ok]: Self-referential BRPOPLPUSH (1 ms) [ok]: BRPOPLPUSH inside a transaction (0 ms) [ok]: PUSH resulting from BRPOPLPUSH affect WATCH (1 ms) [ok]: BRPOPLPUSH does not affect WATCH while still blocked (1 ms) [ok]: First server should have role slave after REPLICAOF (1 ms) [ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (6 ms) [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (326 ms) [ok]: expired key which is created in writeable replicas should be deleted by active expiry (287 ms) [ok]: LIBRARIES - test shared function can access default globals (1 ms) [ok]: LIBRARIES - usage and code sharing (1 ms) [ok]: LIBRARIES - test registration failure revert the entire load (1 ms) [ok]: LIBRARIES - test registration function name collision (1 ms) [ok]: LIBRARIES - test registration function name collision on same library (0 ms) [ok]: LIBRARIES - test registration with no argument (1 ms) [ok]: LIBRARIES - test registration with only name (0 ms) [ok]: LIBRARIES - test registration with to many arguments (1 ms) [ok]: LIBRARIES - test registration with no string name (0 ms) [ok]: LIBRARIES - test registration with wrong name format (0 ms) [ok]: LIBRARIES - test registration with empty name (1 ms) [ok]: LIBRARIES - math.random from function load (0 ms) [ok]: LIBRARIES - redis.call from function load (0 ms) [ok]: LIBRARIES - redis.setresp from function load (0 ms) [ok]: LIBRARIES - redis.set_repl from function load (0 ms) [ok]: LIBRARIES - redis.acl_check_cmd from function load (1 ms) [ok]: LIBRARIES - malicious access test (1 ms) [ok]: LIBRARIES - delete removed all functions on library (0 ms) [ok]: LIBRARIES - register function inside a function (1 ms) [ok]: LIBRARIES - register library with no functions (0 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) [ok]: Redis.set_repl() don't accept invalid values (0 ms) [ok]: Test selective replication of certain commands from Lua (2 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) [ok]: Using side effects is not a problem with command replication (1 ms) [ok]: SET command will remove expire (0 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed (1 ms) [ok]: XREVRANGE returns the reverse of XRANGE (1844 ms) [ok]: XRANGE exclusive ranges (3 ms) [ok]: XREAD with non empty stream (0 ms) [ok]: Non blocking XREAD with empty streams (0 ms) [ok]: Hash fuzzing #2 - 512 fields (1005 ms) [ok]: WAITAOF replica copy everysec (719 ms) [ok]: SDIFF fuzzing (4576 ms) [ok]: SDIFF against non-set should throw error (2 ms) [ok]: SDIFF should handle non existing key as empty (0 ms) [ok]: SDIFFSTORE against non-set should throw error (3 ms) [ok]: SDIFFSTORE should handle non existing key as empty (2 ms) [ok]: SINTER against non-set should throw error (1 ms) [ok]: SINTER should handle non existing key as empty (0 ms) [ok]: SINTER with same integer elements but different encoding (1 ms) [ok]: SINTERSTORE against non-set should throw error (2 ms) [ok]: SINTERSTORE against non existing keys should delete dstkey (1 ms) [ok]: SUNION against non-set should throw error (1 ms) [ok]: SUNION should handle non existing key as empty (1 ms) [ok]: SUNIONSTORE against non-set should throw error (2 ms) [ok]: SUNIONSTORE should handle non existing key as empty (2 ms) [ok]: SUNIONSTORE against non existing keys should delete dstkey (1 ms) [ok]: SPOP basics - listpack (1 ms) [ok]: SPOP with =1 - listpack (1 ms) [ok]: SRANDMEMBER - listpack (12 ms) [ok]: SPOP basics - intset (1 ms) [ok]: SPOP with =1 - intset (1 ms) [ok]: SRANDMEMBER - intset (11 ms) [ok]: SPOP integer from listpack set (1 ms) [ok]: SPOP with - listpack (4 ms) [ok]: SPOP with - intset (4 ms) [ok]: SPOP with - hashtable (4 ms) [ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (4 ms) [ok]: SPOP using integers with Knuth's algorithm (0 ms) [ok]: SPOP new implementation: code path #1 intset (3 ms) [ok]: SPOP new implementation: code path #2 intset (4 ms) [ok]: SPOP new implementation: code path #3 intset (4 ms) [ok]: SPOP new implementation: code path #1 listpack (4 ms) [ok]: SPOP new implementation: code path #2 listpack (4 ms) [ok]: SPOP new implementation: code path #3 listpack (4 ms) [ok]: GEOSEARCH fuzzy test - byradius (18437 ms) [ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (94 ms) [ok]: SRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: SRANDMEMBER with against non existing key (0 ms) [ok]: SRANDMEMBER count overflow (1 ms) [ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) [ok]: SRANDMEMBER with against non existing key - emptyarray (0 ms) [ok]: LIBRARIES - load timeout (501 ms) [ok]: LIBRARIES - verify global protection on the load run (0 ms) [ok]: LIBRARIES - named arguments (0 ms) [ok]: LIBRARIES - named arguments, bad function name (0 ms) [ok]: LIBRARIES - named arguments, bad callback type (0 ms) [ok]: LIBRARIES - named arguments, bad description (1 ms) [ok]: LIBRARIES - named arguments, unknown argument (0 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) [ok]: LIBRARIES - named arguments, missing callback (0 ms) [ok]: FUNCTION - test function restore with function name collision (3 ms) [ok]: FUNCTION - test function list with code (1 ms) [ok]: FUNCTION - test function list with pattern (0 ms) [ok]: FUNCTION - test function list wrong argument (1 ms) [ok]: FUNCTION - test function list with bad argument to library name (0 ms) [ok]: FUNCTION - test function list withcode multiple times (0 ms) [ok]: FUNCTION - test function list libraryname multiple times (1 ms) [ok]: FUNCTION - verify OOM on function load and function restore (1 ms) [ok]: FUNCTION - verify allow-omm allows running any command (0 ms) [ok]: SRANDMEMBER with - listpack (30 ms) [ok]: SRANDMEMBER with - intset (19 ms) [ok]: SRANDMEMBER with - hashtable (23 ms) [ok]: BRPOPLPUSH timeout (1023 ms) [ok]: SWAPDB awakes blocked client (2 ms) [ok]: SRANDMEMBER histogram distribution - listpack (74 ms) [ok]: SRANDMEMBER histogram distribution - intset (74 ms) [ok]: FUNCTION - wrong flags type named arguments (1 ms) [ok]: FUNCTION - wrong flag type (0 ms) [ok]: FUNCTION - unknown flag (1 ms) [ok]: FUNCTION - write script on fcall_ro (0 ms) [ok]: FUNCTION - write script with no-writes flag (0 ms) [ok]: FUNCTION - deny oom (1 ms) [ok]: FUNCTION - deny oom on no-writes function (1 ms) [ok]: FUNCTION - allow stale (1 ms) [ok]: FUNCTION - valkey version api (1 ms) [ok]: FUNCTION - function stats (1 ms) [ok]: FUNCTION - function stats reloaded correctly from rdb (2 ms) [ok]: FUNCTION - function stats delete library (1 ms) [ok]: FUNCTION - test function stats on loading failure (1 ms) [ok]: FUNCTION - function stats cleaned after flush (1 ms) [ok]: FUNCTION - function test empty engine (0 ms) [ok]: FUNCTION - function test unknown metadata value (0 ms) [ok]: FUNCTION - function test no name (1 ms) [ok]: FUNCTION - function test multiple names (0 ms) [ok]: FUNCTION - function test name with quotes (0 ms) [ok]: FUNCTION - trick global protection 1 (1 ms) [ok]: FUNCTION - test getmetatable on script load (1 ms) [ok]: SRANDMEMBER histogram distribution - hashtable (77 ms) [ok]: SWAPDB wants to wake blocked client, but the key already expired (172 ms) [ok]: SMOVE basics - from regular set to intset (3 ms) [ok]: SMOVE basics - from intset to regular set (1 ms) [ok]: SMOVE non existing key (1 ms) [ok]: SMOVE non existing src set (1 ms) [ok]: SMOVE from regular set to non existing destination set (2 ms) [ok]: SMOVE from intset to non existing destination set (1 ms) [ok]: SMOVE wrong src key type (0 ms) [ok]: SMOVE wrong dst key type (0 ms) [ok]: SMOVE with identical source and destination (0 ms) [ok]: SMOVE only notify dstset when the addition is successful (1 ms) [33/133 done]: unit/functions (9 seconds) Testing unit/type/zset [ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (1 ms) [ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (1 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (0 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (1 ms) [ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) [ok]: test RESP2/3 map protocol parsing (1 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (0 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (0 ms) [ok]: test RESP3/2 big number protocol parsing (0 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) [ok]: test RESP3/2 set protocol parsing (1 ms) [ok]: test RESP3/2 double protocol parsing (0 ms) [ok]: test RESP3/2 null protocol parsing (1 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) [ok]: test RESP3/2 true protocol parsing (1 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (1 ms) [ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (1 ms) [ok]: test RESP3/3 set protocol parsing (0 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) [ok]: test resp3 attribute protocol parsing (1 ms) [ok]: Script block the time during execution (11 ms) [ok]: Check encoding - listpack (1 ms) [ok]: ZSET basic ZADD and score update - listpack (1 ms) [ok]: Script delete the expired key (3 ms) [ok]: ZSET element can't be set to NaN with ZADD - listpack (0 ms) [ok]: ZSET element can't be set to NaN with ZINCRBY - listpack (0 ms) [ok]: ZADD with options syntax error with incomplete pair - listpack (0 ms) [ok]: ZADD XX option without key - listpack (0 ms) [ok]: ZADD XX existing key - listpack (1 ms) [ok]: ZADD XX returns the number of elements actually added - listpack (0 ms) [ok]: ZADD XX updates existing elements score - listpack (0 ms) [ok]: ZADD GT updates existing elements when new scores are greater - listpack (1 ms) [ok]: ZADD LT updates existing elements when new scores are lower - listpack (1 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (1 ms) [ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (1 ms) [ok]: ZADD XX and NX are not compatible - listpack (0 ms) [ok]: ZADD NX with non existing key - listpack (0 ms) [ok]: ZADD NX only add new elements without updating old ones - listpack (1 ms) [ok]: ZADD GT and NX are not compatible - listpack (0 ms) [ok]: ZADD LT and NX are not compatible - listpack (1 ms) [ok]: ZADD LT and GT are not compatible - listpack (0 ms) [ok]: TIME command using cached time (10 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) [ok]: ZADD INCR LT/GT with inf - listpack (2 ms) [ok]: ZADD INCR works like ZINCRBY - listpack (1 ms) [ok]: ZADD INCR works with a single score-element pair - listpack (0 ms) [ok]: ZADD CH option changes return value to all changed elements - listpack (0 ms) [ok]: ZINCRBY calls leading to NaN result in error - listpack (0 ms) [ok]: ZINCRBY against invalid incr value - listpack (0 ms) [ok]: ZADD - Variadic version base case - listpack (1 ms) [ok]: ZADD - Return value is the number of actually added items - listpack (0 ms) [ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (1 ms) [ok]: ZADD - Variadic version will raise error on missing arg - listpack (0 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (1 ms) [ok]: ZCARD basics - listpack (0 ms) [ok]: ZREM removes key after last element is removed - listpack (1 ms) [ok]: ZREM variadic version - listpack (0 ms) [ok]: ZREM variadic version -- remove elements after key deletion - listpack (1 ms) [ok]: ZRANGE basics - listpack (3 ms) [ok]: ZREVRANGE basics - listpack (3 ms) [ok]: ZRANK/ZREVRANK basics - listpack (3 ms) [ok]: ZRANK - after deletion - listpack (1 ms) [ok]: ZINCRBY - can create a new sorted set - listpack (0 ms) [ok]: ZINCRBY - increment and decrement - listpack (2 ms) [ok]: ZINCRBY return value - listpack (0 ms) [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (6 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - listpack (2 ms) [ok]: ZRANGEBYSCORE with LIMIT - listpack (8 ms) [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (2 ms) [ok]: ZRANGEBYSCORE with non-value min or max - listpack (0 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (5 ms) [ok]: ZLEXCOUNT advanced - listpack (3 ms) [ok]: ZRANGEBYLEX with LIMIT - listpack (7 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (1 ms) [ok]: ZREMRANGEBYSCORE basics - listpack (12 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (0 ms) [ok]: ZREMRANGEBYRANK basics - listpack (6 ms) [ok]: Script block the time in some expiration related commands (83 ms) [ok]: ZREMRANGEBYLEX basics - listpack (15 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (0 ms) [ok]: ZUNIONSTORE with empty set - listpack (1 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (1 ms) [ok]: ZUNIONSTORE basics - listpack (1 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (2 ms) [ok]: ZUNIONSTORE with weights - listpack (0 ms) [ok]: ZUNION with weights - listpack (1 ms) [ok]: ZUNIONSTORE with a regular set and weights - listpack (0 ms) [ok]: ZUNIONSTORE with AGGREGATE MIN - listpack (0 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (0 ms) [ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (0 ms) [ok]: ZINTERSTORE basics - listpack (0 ms) [ok]: ZINTER basics - listpack (1 ms) [ok]: ZINTERCARD with illegal arguments (0 ms) [ok]: ZINTERCARD basics - listpack (1 ms) [ok]: ZINTER RESP3 - listpack (1 ms) [ok]: ZINTERSTORE with weights - listpack (0 ms) [ok]: ZINTER with weights - listpack (0 ms) [ok]: ZINTERSTORE with a regular set and weights - listpack (1 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - listpack (0 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - listpack (0 ms) [ok]: ZUNIONSTORE with +inf/-inf scores - listpack (1 ms) [ok]: ZUNIONSTORE with NaN weights - listpack (1 ms) [ok]: ZINTERSTORE with +inf/-inf scores - listpack (1 ms) [ok]: ZINTERSTORE with NaN weights - listpack (1 ms) [ok]: ZDIFFSTORE basics - listpack (0 ms) [ok]: ZDIFF basics - listpack (0 ms) [ok]: ZDIFFSTORE with a regular set - listpack (1 ms) [ok]: ZDIFF subtracting set from itself - listpack (0 ms) [ok]: ZDIFF algorithm 1 - listpack (1 ms) [ok]: ZDIFF algorithm 2 - listpack (1 ms) [ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (298 ms) [ok]: Script - disallow write on OOM (1 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call server (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVALSHA - Can we call a SHA1 if already defined? (1 ms) [ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (0 ms) [ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) [ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) [ok]: WAITAOF replica copy everysec with AOFRW (1005 ms) [ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) [ok]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) [ok]: EVAL - Scripts do not block on blpop command (0 ms) [ok]: EVAL - Scripts do not block on brpop command (1 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) [ok]: EVAL - Scripts do not block on blmove command (0 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts can run non-deterministic commands (0 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (0 ms) [ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (0 ms) [ok]: EVAL - cmsgpack can pack negative int64? (1 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (196 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (0 ms) [ok]: EVAL - Numerical sanity check from bitop (0 ms) [ok]: EVAL - Verify minimal bitop functionality (0 ms) [ok]: EVAL - Able to parse trailing comments (1 ms) [ok]: EVAL_RO - Successful case (0 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (15 ms) [ok]: EVAL - Test table unpack with invalid indexes (1 ms) [ok]: Try trick readonly table on basic types metatable (1 ms) [ok]: Dynamic reset of lua engine with insecure API config change (1 ms) [ok]: SCRIPTING FLUSH ASYNC (11 ms) [ok]: SCRIPT EXISTS - can detect already defined scripts? (0 ms) [ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) [ok]: SCRIPT SHOW - is able to dump scripts from the scripting cache (1 ms) [ok]: SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error (0 ms) [ok]: SCRIPT SHOW - script not exist return noscript error (0 ms) [ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) [ok]: SORT BY output gets ordered for scripting (1 ms) [ok]: SORT BY with GET gets ordered for scripting (0 ms) [ok]: redis.sha1hex() implementation (0 ms) [ok]: Stress test the hash ziplist -> hashtable encoding conversion (1373 ms) [ok]: XREAD with non empty second stream (1432 ms) [ok]: Blocking XREAD waiting new data (1 ms) [ok]: Blocking XREAD waiting old data (1 ms) [ok]: Blocking XREAD will not reply with an empty array (23 ms) [ok]: Hash ziplist of various encodings (89 ms) [ok]: Hash ziplist of various encodings - sanitize dump (4 ms) [ok]: HINCRBYFLOAT does not allow NaN or Infinity (0 ms) [ok]: Blocking XREAD for stream that ran dry (issue #5299) (101 ms) [ok]: XREAD last element from non-empty stream (1 ms) [ok]: XREAD last element from empty stream (1 ms) [ok]: XREAD last element blocking from empty stream (2 ms) [ok]: XREAD last element blocking from non-empty stream (1 ms) [ok]: XREAD last element from multiple streams (1 ms) [ok]: XREAD last element with count > 1 (1 ms) [ok]: XREAD: XADD + DEL should not awake client (2 ms) [ok]: XREAD: XADD + DEL + LPUSH should not awake client (2 ms) [ok]: XREAD with same stream name multiple times should work (3 ms) [ok]: XREAD + multiple XADD inside transaction (3 ms) [ok]: XDEL basic test (1 ms) [ok]: XDEL multiply id test (2 ms) [34/133 done]: unit/type/hash (5 seconds) Testing unit/type/incr [ok]: INCR against non existing key (1 ms) [ok]: INCR against key created by incr itself (0 ms) [ok]: DECR against key created by incr (1 ms) [ok]: DECR against key is not exist and incr (0 ms) [ok]: INCR against key originally set with SET (0 ms) [ok]: INCR over 32bit value (0 ms) [ok]: INCRBY over 32bit value with over 32bit increment (0 ms) [ok]: INCR fails against key with spaces (left) (1 ms) [ok]: INCR fails against key with spaces (right) (0 ms) [ok]: INCR fails against key with spaces (both) (1 ms) [ok]: DECRBY negation overflow (0 ms) [ok]: INCR fails against a key holding a list (0 ms) [ok]: DECRBY over 32bit value with over 32bit increment, negative res (1 ms) [ok]: DECRBY against key is not exist (0 ms) [ok]: INCR can modify objects in-place (2 ms) [ok]: INCRBYFLOAT against non existing key (1 ms) [ok]: INCRBYFLOAT against key originally set with SET (0 ms) [ok]: INCRBYFLOAT over 32bit value (1 ms) [ok]: INCRBYFLOAT over 32bit value with over 32bit increment (0 ms) [ok]: INCRBYFLOAT fails against key with spaces (left) (1 ms) [ok]: INCRBYFLOAT fails against key with spaces (right) (0 ms) [ok]: INCRBYFLOAT fails against key with spaces (both) (0 ms) [ok]: INCRBYFLOAT fails against a key holding a list (1 ms) [ok]: INCRBYFLOAT does not allow NaN or Infinity (1 ms) [ok]: INCRBYFLOAT decrement (0 ms) [ok]: string to double with null terminator (1 ms) [ok]: No negative zero (1 ms) [ok]: INCRBY INCRBYFLOAT DECRBY against unhappy path (2 ms) [ok]: incr operation should update encoding from raw to int (2 ms) [ok]: decr operation should update encoding from raw to int (1 ms) [ok]: incrby operation should update encoding from raw to int (2 ms) [ok]: decrby operation should update encoding from raw to int (1 ms) [35/133 done]: unit/type/incr (0 seconds) Testing unit/type/list-3 [ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2004 ms) [ok]: GETEX use of PERSIST option should remove TTL (0 ms) [ok]: GETEX use of PERSIST option should remove TTL after loadaof (1 ms) [ok]: Explicit regression for a list bug (1 ms) [ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1004 ms) [ok]: BLPOP when new key is moved into place (2 ms) [ok]: BLPOP when result key is created by SORT..STORE (1 ms) [ok]: BLMPOP_LEFT when new key is moved into place (1 ms) [ok]: BLMPOP_LEFT when result key is created by SORT..STORE (1 ms) [ok]: BLPOP: timeout value out of range (1 ms) [ok]: BLPOP: with single empty list argument (2 ms) [ok]: BLPOP: with negative timeout (0 ms) [ok]: BLPOP: with non-integer timeout (1 ms) [ok]: BLPOP: with zero timeout should block indefinitely (1 ms) [ok]: BLPOP: with 0.001 timeout should not block indefinitely (22 ms) [ok]: BLPOP: second argument is not a list (1 ms) [ok]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (67 ms) [ok]: EXPIRE with NX option on a key with ttl (0 ms) [ok]: EXPIRE with NX option on a key without ttl (1 ms) [ok]: EXPIRE with XX option on a key with ttl (1 ms) [ok]: EXPIRE with XX option on a key without ttl (1 ms) [ok]: EXPIRE with GT option on a key with lower ttl (1 ms) [ok]: EXPIRE with GT option on a key with higher ttl (1 ms) [ok]: EXPIRE with GT option on a key without ttl (1 ms) [ok]: EXPIRE with LT option on a key with higher ttl (0 ms) [ok]: EXPIRE with LT option on a key with lower ttl (0 ms) [ok]: EXPIRE with LT option on a key without ttl (1 ms) [ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) [ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) [ok]: EXPIRE with conflicting options: LT GT (0 ms) [ok]: EXPIRE with conflicting options: NX GT (0 ms) [ok]: EXPIRE with conflicting options: NX LT (0 ms) [ok]: EXPIRE with conflicting options: NX XX (0 ms) [ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with negative expiry (1 ms) [ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) [ok]: EXPIRE with non-existed key (1 ms) [ok]: Regression for quicklist #3343 bug (125 ms) [ok]: Server should not propagate the read command on lazy expire (84 ms) [ok]: Check compression with recompress (47 ms) [ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (100 ms) [ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) [ok]: import-source can be closed when import-mode is off (2 ms) [ok]: Crash due to wrongly recompress after lrem (210 ms) [ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (43 ms) [ok]: Measures elapsed time os.clock() (1004 ms) [ok]: Prohibit dangerous lua methods in sandbox (0 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) [ok]: lua bit.tohex bug (0 ms) [ok]: Test an example script DECR_IF_GT (1 ms) [ok]: random numbers are random now (1 ms) [ok]: Scripting engine PRNG can be seeded correctly (0 ms) [ok]: Import mode should forbid active expiration (112 ms) [ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (42 ms) [ok]: Import mode should forbid lazy expiration (12 ms) [ok]: Client can visit expired key in import-source state (115 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (3673 ms) [ok]: Negative ttl will not cause server to crash when import mode is on (102 ms) [ok]: EVAL does not leak in the Lua stack (430 ms) [ok]: SPOP: We can call scripts rewriting client->argv from Lua (70 ms) [ok]: Active expiration triggers hashtable shrink (165 ms) [ok]: MGET: mget shouldn't be propagated in Lua (100 ms) [ok]: BLPOP: timeout (1068 ms) [ok]: BLPOP: arguments are empty (3 ms) [ok]: BRPOP: with single empty list argument (1 ms) [ok]: BRPOP: with negative timeout (1 ms) [ok]: BRPOP: with non-integer timeout (1 ms) [ok]: BRPOP: with zero timeout should block indefinitely (1 ms) [ok]: BRPOP: with 0.001 timeout should not block indefinitely (22 ms) [ok]: BRPOP: second argument is not a list (1 ms) [ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (101 ms) [ok]: WAITAOF replica copy everysec with slow AOFRW (2024 ms) [ok]: WAITAOF replica copy everysec->always with AOFRW (105 ms) [ok]: WAITAOF replica copy appendfsync always (1 ms) [ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (320 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) [ok]: Correct handling of reused argv (issue #1939) (0 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (2 ms) [ok]: intsets implementation stress testing (2963 ms) [ok]: Script return recursive object (211 ms) [36/134 done]: unit/type/set (9 seconds) Testing unit/type/string [ok]: Script check unpack with massive arguments (76 ms) [ok]: Script read key with expiration set (0 ms) [ok]: Script del key with expiration set (0 ms) [ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (0 ms) [ok]: Try trick global protection 1 (1 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (0 ms) [ok]: Try trick global protection 4 (1 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (0 ms) [ok]: Try trick readonly table on cmsgpack table (1 ms) [ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (1 ms) [ok]: Test print are not available (0 ms) [ok]: SET and GET an item (0 ms) [ok]: SET and GET an empty item (1 ms) [ignore]: large memory flag not provided [ok]: XDEL fuzz test (2285 ms) [ok]: Very big payload in GET/SET (75 ms) [ok]: BRPOP: timeout (1071 ms) [ok]: BRPOP: arguments are empty (3 ms) [ok]: BLMPOP_LEFT: with single empty list argument (2 ms) [ok]: BLMPOP_LEFT: with negative timeout (1 ms) [ok]: BLMPOP_LEFT: with non-integer timeout (1 ms) [ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (2 ms) [ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (22 ms) [ok]: BLMPOP_LEFT: second argument is not a list (1 ms) [ok]: WAITAOF replica copy if replica is blocked (960 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (403 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (60 ms) [ok]: Timedout script does not cause a false dead client (62 ms) [ok]: Timedout script link is still usable after Lua returns (90 ms) [ok]: {standalone} SCAN regression test for issue #4906 (10084 ms) [ok]: {standalone} SCAN MATCH pattern implies cluster slot (39 ms) [ok]: Timedout scripts and unblocked command (419 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (202 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) [ok]: ZDIFF fuzzing - listpack (4259 ms) [ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) [ok]: ZPOPMIN with negative count (1 ms) [ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) [ok]: ZPOPMAX with negative count (0 ms) [ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - listpack (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (2 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (1 ms) [ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (1 ms) [ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (2 ms) [ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (2 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (1 ms) [ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (1 ms) [ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (2 ms) [ok]: Check encoding - skiplist (0 ms) [ok]: ZSET basic ZADD and score update - skiplist (1 ms) [ok]: ZSET element can't be set to NaN with ZADD - skiplist (0 ms) [ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (0 ms) [ok]: ZADD with options syntax error with incomplete pair - skiplist (1 ms) [ok]: ZADD XX option without key - skiplist (0 ms) [ok]: ZADD XX existing key - skiplist (0 ms) [ok]: ZADD XX returns the number of elements actually added - skiplist (1 ms) [ok]: ZADD XX updates existing elements score - skiplist (0 ms) [ok]: ZADD GT updates existing elements when new scores are greater - skiplist (0 ms) [ok]: ZADD LT updates existing elements when new scores are lower - skiplist (1 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (1 ms) [ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (0 ms) [ok]: ZADD XX and NX are not compatible - skiplist (1 ms) [ok]: ZADD NX with non existing key - skiplist (0 ms) [ok]: ZADD NX only add new elements without updating old ones - skiplist (1 ms) [ok]: ZADD GT and NX are not compatible - skiplist (0 ms) [ok]: WAITAOF replica multiple clients unblock - reuse last result (1002 ms) [ok]: ZADD LT and NX are not compatible - skiplist (0 ms) [ok]: ZADD LT and GT are not compatible - skiplist (0 ms) [ok]: WAITAOF on promoted replica (0 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (1 ms) [ok]: ZADD INCR LT/GT with inf - skiplist (2 ms) [ok]: ZADD INCR works like ZINCRBY - skiplist (0 ms) [ok]: ZADD INCR works with a single score-element pair - skiplist (0 ms) [ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) [ok]: ZINCRBY calls leading to NaN result in error - skiplist (0 ms) [ok]: ZINCRBY against invalid incr value - skiplist (1 ms) [ok]: ZADD - Variadic version base case - skiplist (0 ms) [ok]: ZADD - Return value is the number of actually added items - skiplist (1 ms) [ok]: ZADD - Variadic version does not add nothing on single parsing err - skiplist (0 ms) [ok]: ZADD - Variadic version will raise error on missing arg - skiplist (0 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - skiplist (0 ms) [ok]: ZCARD basics - skiplist (0 ms) [ok]: ZREM removes key after last element is removed - skiplist (0 ms) [ok]: ZREM variadic version - skiplist (0 ms) [ok]: ZREM variadic version -- remove elements after key deletion - skiplist (1 ms) [ok]: ZRANGE basics - skiplist (2 ms) [ok]: ZREVRANGE basics - skiplist (3 ms) [ok]: ZRANK/ZREVRANK basics - skiplist (3 ms) [ok]: ZRANK - after deletion - skiplist (0 ms) [ok]: ZINCRBY - can create a new sorted set - skiplist (1 ms) [ok]: ZINCRBY - increment and decrement - skiplist (1 ms) [ok]: ZINCRBY return value - skiplist (0 ms) [ok]: BLMPOP_LEFT: timeout (1068 ms) [ok]: BLMPOP_LEFT: arguments are empty (4 ms) [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (5 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (1 ms) [ok]: BLMPOP_RIGHT: with single empty list argument (2 ms) [ok]: BLMPOP_RIGHT: with negative timeout (1 ms) [ok]: BLMPOP_RIGHT: with non-integer timeout (1 ms) [ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (2 ms) [ok]: ZRANGEBYSCORE with LIMIT - skiplist (6 ms) [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (1 ms) [ok]: ZRANGEBYSCORE with non-value min or max - skiplist (1 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (3 ms) [ok]: ZLEXCOUNT advanced - skiplist (2 ms) [ok]: ZRANGEBYLEX with LIMIT - skiplist (6 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (0 ms) [ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (22 ms) [ok]: BLMPOP_RIGHT: second argument is not a list (1 ms) [ok]: ZREMRANGEBYSCORE basics - skiplist (12 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (0 ms) [ok]: ZREMRANGEBYRANK basics - skiplist (5 ms) [ok]: ZREMRANGEBYLEX basics - skiplist (14 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (1 ms) [ok]: ZUNIONSTORE with empty set - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (1 ms) [ok]: ZUNIONSTORE basics - skiplist (1 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (1 ms) [ok]: ZUNIONSTORE with weights - skiplist (1 ms) [ok]: ZUNION with weights - skiplist (0 ms) [ok]: ZUNIONSTORE with a regular set and weights - skiplist (1 ms) [ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (0 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (1 ms) [ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (0 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (1 ms) [ok]: ZINTERSTORE basics - skiplist (0 ms) [ok]: ZINTER basics - skiplist (0 ms) [ok]: ZINTERCARD with illegal arguments (0 ms) [ok]: ZINTERCARD basics - skiplist (1 ms) [ok]: ZINTER RESP3 - skiplist (0 ms) [ok]: ZINTERSTORE with weights - skiplist (0 ms) [ok]: ZINTER with weights - skiplist (0 ms) [ok]: ZINTERSTORE with a regular set and weights - skiplist (1 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (0 ms) [ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (1 ms) [ok]: ZUNIONSTORE with NaN weights - skiplist (1 ms) [ok]: ZINTERSTORE with +inf/-inf scores - skiplist (1 ms) [ok]: ZINTERSTORE with NaN weights - skiplist (1 ms) [ok]: ZDIFFSTORE basics - skiplist (0 ms) [ok]: ZDIFF basics - skiplist (0 ms) [ok]: ZDIFFSTORE with a regular set - skiplist (1 ms) [ok]: ZDIFF subtracting set from itself - skiplist (0 ms) [ok]: ZDIFF algorithm 1 - skiplist (1 ms) [ok]: ZDIFF algorithm 2 - skiplist (1 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Now use EVALSHA against the master, with both SHAs (1 ms) [ok]: 'x' should be '4' for EVALSHA being replicated by effects (1 ms) [ok]: Replication of script multiple pushes to list with BLPOP (1 ms) [ok]: EVALSHA replication when first call is readonly (1 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) [ok]: expire scan should skip dictionaries with lot's of empty buckets (968 ms) [ok]: Very big payload random access (2248 ms) [37/134 done]: unit/expire (16 seconds) Testing unit/type/stream-cgroups [ok]: XGROUP CREATE: creation and duplicate group name detection (0 ms) [ok]: XGROUP CREATE: with ENTRIESREAD parameter (1 ms) [ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (0 ms) [ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (0 ms) [ok]: XREADGROUP will return only new elements (0 ms) [ok]: XREADGROUP can read the history of the elements we own (1 ms) [ok]: XPENDING is able to return pending items (1 ms) [ok]: XPENDING can return single consumer items (0 ms) [ok]: XPENDING only group (0 ms) [ok]: XPENDING with IDLE (21 ms) [ok]: XPENDING with exclusive range intervals works as expected (1 ms) [ok]: XACK is able to remove items from the consumer/group PEL (2 ms) [ok]: XACK can't remove the same item multiple times (0 ms) [ok]: XACK is able to accept multiple arguments (0 ms) [ok]: XACK should fail if got at least one invalid ID (2 ms) [ok]: PEL NACK reassignment after XGROUP SETID event (3 ms) [ok]: XREADGROUP will not report data on empty history. Bug #5577 (3 ms) [ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (2 ms) [ok]: Blocking XREADGROUP will not reply with an empty array (24 ms) [ok]: Blocking XREADGROUP: key deleted (2 ms) [ok]: Blocking XREADGROUP: key type changed with SET (2 ms) [ok]: Blocking XREADGROUP: key type changed with transaction (3 ms) [ok]: Blocking XREADGROUP: flushed DB (2 ms) [ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (2 ms) [ok]: Blocking XREADGROUP: swapped DB, key is not a stream (2 ms) [ok]: XREAD and XREADGROUP against wrong parameter (1 ms) [ok]: Blocking XREAD: key deleted (3 ms) [ok]: Blocking XREAD: key type changed with SET (2 ms) [ok]: BLMPOP_RIGHT: timeout (1068 ms) [ok]: BLMPOP_RIGHT: arguments are empty (2 ms) [ok]: BLPOP inside a transaction (1 ms) [ok]: BLMPOP_LEFT inside a transaction (1 ms) [ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (110 ms) [ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (8 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on list (7 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (3 ms) [ok]: BLMPOP propagate as pop with count command to replica (198 ms) [ok]: LPUSHX, RPUSHX - generic (1 ms) [ok]: LPUSHX, RPUSHX - quicklist (42 ms) [ok]: Connect a replica to the master instance (103 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) [ok]: Redis.set_repl() don't accept invalid values (1 ms) [ok]: LINSERT - quicklist (47 ms) [ok]: Test selective replication of certain commands from Lua (2 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) [ok]: LPUSHX, RPUSHX - listpack (2 ms) [ok]: Using side effects is not a problem with command replication (1 ms) [ok]: LINSERT - listpack (4 ms) [ok]: LINSERT raise error on bad syntax (0 ms) [ok]: LINSERT against non-list value error (1 ms) [ok]: LINSERT against non existing key (0 ms) [ok]: LINDEX consistency test - listpack (82 ms) [ok]: LINDEX random access - listpack (53 ms) [ok]: AOF rewrite during write load: RDB preamble=yes (20505 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - listpack (99 ms) [ok]: {cluster} SCAN basic (117 ms) [ok]: LINDEX consistency test - listpack (143 ms) [ok]: MIGRATE can correctly transfer large values (9997 ms) [ok]: {cluster} SCAN COUNT (114 ms) [ok]: LINDEX random access - listpack (111 ms) [ok]: {cluster} SCAN MATCH (76 ms) [ok]: WAITAOF master that loses a replica and backlog is dropped (2002 ms) [ok]: {cluster} SCAN TYPE (97 ms) [ok]: MIGRATE can correctly transfer hashes (219 ms) [ok]: {cluster} SCAN unknown type (64 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - listpack (242 ms) [ok]: {cluster} SCAN with expired keys (82 ms) [ok]: LINDEX consistency test - quicklist (64 ms) [ok]: LINDEX random access - quicklist (49 ms) [ok]: {cluster} SCAN with expired keys with TYPE filter (70 ms) [ok]: {cluster} SSCAN with encoding intset (1 ms) [ok]: {cluster} SSCAN with encoding listpack (2 ms) [ok]: {cluster} SSCAN with encoding hashtable (4 ms) [ok]: {cluster} HSCAN with encoding listpack (1 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (4915 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1084 ms) [ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (4 ms) [ok]: RENAME can unblock XREADGROUP with data (2 ms) [ok]: RENAME can unblock XREADGROUP with -NOGROUP (1 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (93 ms) [ok]: LTRIM stress testing - quicklist (8726 ms) [ok]: {cluster} HSCAN with encoding hashtable (94 ms) [ok]: {cluster} ZSCAN with encoding listpack (4 ms) [ok]: {cluster} ZSCAN with encoding skiplist (102 ms) [ok]: LINDEX consistency test - quicklist (133 ms) [ok]: {cluster} SCAN guarantees check under write load (26 ms) [ok]: {cluster} SSCAN with integer encoded object (issue #1345) (0 ms) [ok]: {cluster} SSCAN with PATTERN (1 ms) [ok]: {cluster} HSCAN with PATTERN (0 ms) [ok]: {cluster} HSCAN with NOVALUES (1 ms) [ok]: {cluster} ZSCAN with PATTERN (0 ms) [ok]: {cluster} ZSCAN with NOSCORES (1 ms) [ok]: Test scripting debug protocol parsing (1 ms) [ok]: Test scripting debug lua stack overflow (1 ms) [ok]: Test scripting debug lua server invocations (1 ms) [ok]: LINDEX random access - quicklist (107 ms) [ok]: {cluster} ZSCAN scores: regression test for issue #2175 (159 ms) [ok]: SET 10000 numeric keys and access all them in reverse order (1819 ms) [ok]: DBSIZE should be 10000 now (0 ms) [ok]: memoryusage of string (9 ms) [ok]: SETNX target key missing (0 ms) [ok]: SETNX target key exists (1 ms) [ok]: SETNX against not-expired volatile key (0 ms) [ok]: MIGRATE timeout actually works (737 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (238 ms) [ok]: LLEN against non-list value error (0 ms) [ok]: LLEN against non existing key (0 ms) [ok]: LINDEX against non-list value error (0 ms) [ok]: LINDEX against non existing key (0 ms) [ok]: LPUSH against non-list value error (0 ms) [ok]: RPUSH against non-list value error (1 ms) [ok]: Lua scripts eviction does not generate many scripts (130 ms) [ok]: RPOPLPUSH base case - quicklist (42 ms) [ok]: LMOVE left left base case - quicklist (42 ms) [ok]: XCLAIM can claim PEL items from another consumer (605 ms) [ok]: Lua scripts eviction is plain LRU (81 ms) [ok]: LMOVE left right base case - quicklist (42 ms) [ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (1005 ms) [ok]: LMOVE right left base case - quicklist (43 ms) [ok]: MIGRATE can migrate multiple keys at once (220 ms) [ok]: MIGRATE with multiple keys must have empty key arg (0 ms) [ok]: LMOVE right right base case - quicklist (44 ms) [ok]: RPOPLPUSH with the same list as src and dst - quicklist (41 ms) [ok]: Lua scripts eviction does not affect script load (173 ms) [ok]: LMOVE left left with the same list as src and dst - quicklist (41 ms) [ok]: LMOVE left right with the same list as src and dst - quicklist (42 ms) [ok]: LMOVE right left with the same list as src and dst - quicklist (43 ms) [ok]: Lua scripts promoted from eval to script load (121 ms) [ok]: LMOVE right right with the same list as src and dst - quicklist (42 ms) [ok]: MIGRATE with multiple keys migrate just existing ones (232 ms) [ok]: XCLAIM without JUSTID increments delivery count (404 ms) [ok]: RPOPLPUSH with quicklist source and existing target quicklist (84 ms) [ok]: LMOVE left left with quicklist source and existing target quicklist (83 ms) [ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) [ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (1 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (0 ms) [ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (1 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (0 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (0 ms) [ok]: test RESP3/2 big number protocol parsing (1 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) [ok]: test RESP3/2 set protocol parsing (1 ms) [ok]: test RESP3/2 double protocol parsing (0 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (1 ms) [ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) [ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (1 ms) [ok]: test RESP3/3 set protocol parsing (0 ms) [ok]: MIGRATE with multiple keys: stress command rewriting (220 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (1 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) [ok]: test resp3 attribute protocol parsing (0 ms) [ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (3 ms) [ok]: TIME command using cached time (10 ms) [ok]: LMOVE left right with quicklist source and existing target quicklist (84 ms) [ok]: XCLAIM same consumer (202 ms) [ok]: Script block the time in some expiration related commands (82 ms) [ok]: LMOVE right left with quicklist source and existing target quicklist (84 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: LMOVE right right with quicklist source and existing target quicklist (84 ms) [ok]: MIGRATE with multiple keys: delete just ack keys (224 ms) [ok]: RPOPLPUSH with quicklist source and existing target listpack (43 ms) [ok]: LMOVE left left with quicklist source and existing target listpack (43 ms) [ok]: LMOVE left right with quicklist source and existing target listpack (43 ms) [ok]: Shebang support for lua engine (1 ms) [ok]: Unknown shebang option (0 ms) [ok]: Unknown shebang flag (0 ms) [ok]: allow-oom shebang flag (1 ms) [ok]: no-writes shebang flag (1 ms) [ok]: LMOVE right left with quicklist source and existing target listpack (42 ms) [ok]: LMOVE right right with quicklist source and existing target listpack (43 ms) [ok]: RPOPLPUSH base case - listpack (2 ms) [ok]: LMOVE left left base case - listpack (2 ms) [ok]: LMOVE left right base case - listpack (2 ms) [ok]: LMOVE right left base case - listpack (1 ms) [ok]: LMOVE right right base case - listpack (1 ms) [ok]: RPOPLPUSH with the same list as src and dst - listpack (0 ms) [ok]: LMOVE left left with the same list as src and dst - listpack (0 ms) [ok]: LMOVE left right with the same list as src and dst - listpack (0 ms) [ok]: LMOVE right left with the same list as src and dst - listpack (0 ms) [ok]: LMOVE right right with the same list as src and dst - listpack (0 ms) [ok]: MIGRATE AUTH: correct and wrong password cases (221 ms) [ok]: RESTORE rejects zipmap with overlong field length encoding (CVE-2026-25243) (1 ms) [ok]: RPOPLPUSH with listpack source and existing target quicklist (42 ms) [ok]: LMOVE left left with listpack source and existing target quicklist (43 ms) [ok]: WAITAOF master isn't configured to do AOF (1003 ms) [38/134 done]: unit/dump (28 seconds) Testing unit/cluster/sharded-pubsub [ok]: LMOVE left right with listpack source and existing target quicklist (42 ms) [ok]: no-writes shebang flag on replica (106 ms) [ok]: LMOVE right left with listpack source and existing target quicklist (43 ms) [ok]: WAITAOF replica isn't configured to do AOF (105 ms) [ok]: LMOVE right right with listpack source and existing target quicklist (43 ms) [ok]: RPOPLPUSH with listpack source and existing target listpack (2 ms) [ok]: LMOVE left left with listpack source and existing target listpack (2 ms) [ok]: LMOVE left right with listpack source and existing target listpack (2 ms) [ok]: LMOVE right left with listpack source and existing target listpack (2 ms) [ok]: LMOVE right right with listpack source and existing target listpack (2 ms) [ok]: RPOPLPUSH against non existing key (1 ms) [ok]: RPOPLPUSH against non list src key (1 ms) [ok]: XAUTOCLAIM can claim PEL items from another consumer (604 ms) [ok]: not enough good replicas (1 ms) [ok]: RPOPLPUSH against non list dst key - quicklist (42 ms) [ok]: RPOPLPUSH against non list dst key - listpack (1 ms) [ok]: RPOPLPUSH against non existing src key (0 ms) [ok]: Basic LPOP/RPOP/LMPOP - quicklist (85 ms) [ok]: Basic LPOP/RPOP/LMPOP - listpack (2 ms) [ok]: LPOP/RPOP/LMPOP against empty list (1 ms) [ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (2 ms) [ok]: Mass RPOP/LPOP - listpack (61 ms) [ok]: XAUTOCLAIM as an iterator (204 ms) [ok]: XAUTOCLAIM COUNT must be > 0 (0 ms) [ok]: XCLAIM with XDEL (2 ms) [ok]: XCLAIM with trimming (2 ms) [ok]: XAUTOCLAIM with XDEL (2 ms) [ok]: XAUTOCLAIM with XDEL and count (2 ms) [ok]: XAUTOCLAIM with out of range count (0 ms) [ok]: XCLAIM with trimming (1 ms) [ok]: XINFO FULL output (7 ms) [ok]: Mass RPOP/LPOP - listpack (99 ms) [ok]: LMPOP with illegal argument (3 ms) [ok]: LMPOP single existing list - quicklist (128 ms) [ok]: Consumer seen-time and active-time (207 ms) [ok]: XGROUP CREATECONSUMER: create consumer if does not exist (4 ms) [ok]: XGROUP CREATECONSUMER: group must exist (1 ms) [ok]: XREADGROUP with NOACK creates consumer (6 ms) [ok]: LMPOP multiple existing lists - quicklist (169 ms) [ok]: LMPOP single existing list - listpack (4 ms) [ok]: LMPOP multiple existing lists - listpack (4 ms) [ok]: Consumer without PEL is present in AOF after AOFRW (108 ms) [ok]: LMPOP propagate as pop with count command to replica (94 ms) [ok]: LRANGE basics - quicklist (43 ms) [ok]: not enough good replicas state change during long script (726 ms) [ok]: allow-stale shebang flag (2 ms) [ok]: reject script do not cause a Lua stack leak (7 ms) [ok]: Consumer group read counter and lag in empty streams (2 ms) [ok]: LRANGE inverted indexes - quicklist (42 ms) [ok]: Consumer group read counter and lag sanity (13 ms) [ok]: Consumer group lag with XDELs (13 ms) [ok]: Consumer group lag with XTRIM (13 ms) [ok]: Consumer group lag with XADD trimming (12 ms) [ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (1 ms) [ok]: LRANGE out of range indexes including the full list - quicklist (41 ms) [ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (1 ms) [ok]: LRANGE out of range negative end index - quicklist (43 ms) [ok]: LRANGE basics - listpack (2 ms) [ok]: LRANGE inverted indexes - listpack (2 ms) [ok]: LRANGE out of range indexes including the full list - listpack (1 ms) [ok]: WAITAOF both local and replica got AOF enabled at runtime (900 ms) [ok]: LRANGE out of range negative end index - listpack (1 ms) [ok]: LRANGE against non existing key (1 ms) [ok]: LRANGE with start > end yields an empty array for backward compatibility (1 ms) [ok]: Consistent eval error reporting (15 ms) [ok]: LUA redis.error_reply API (1 ms) [ok]: LUA redis.error_reply API with empty string (1 ms) [ok]: LUA redis.status_reply API (0 ms) [ok]: LUA redis.error_reply API sanitation (1 ms) [ok]: LUA error function API sanitation (1 ms) [ok]: LUA test pcall (0 ms) [ok]: LUA test pcall with error (0 ms) [ok]: LUA test pcall with non string/integer arg (1 ms) [ok]: LUA test trim string as expected (0 ms) [ok]: EVAL - Scripts support NULL byte (1 ms) [ok]: EVAL - explicit error() call handling (0 ms) [39/134 done]: unit/scripting (28 seconds) Testing unit/cluster/failover2 [ok]: Consumer group last ID propagation to slave (NOACK=0) (105 ms) [ok]: ZDIFF fuzzing - skiplist (5104 ms) [ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) [ok]: ZPOPMIN with negative count (0 ms) [ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) [ok]: ZPOPMAX with negative count (1 ms) [ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - skiplist (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (2 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (1 ms) [ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (1 ms) [ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (2 ms) [ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (2 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (2 ms) [ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (1 ms) [ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (2 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (2 ms) [ok]: ZPOP/ZMPOP against wrong type (2 ms) [ok]: ZMPOP with illegal argument (2 ms) [ok]: ZMPOP propagate as pop with count command to replica (53 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (1 ms) [ok]: Consumer group last ID propagation to slave (NOACK=1) (105 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (190 ms) [ok]: ZMPOP readraw in RESP3 (5 ms) [ok]: LTRIM basics - quicklist (507 ms) [ok]: LTRIM out of range negative end index - quicklist (84 ms) [ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (109 ms) [ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (6 ms) [ok]: XREADGROUP ACK would propagate entries-read (4 ms) [ok]: LSET - quicklist (42 ms) [ok]: LSET out of range index - quicklist (1 ms) [ok]: LTRIM basics - listpack (18 ms) [ok]: LTRIM out of range negative end index - listpack (3 ms) [ok]: LSET - listpack (1 ms) [ok]: LSET out of range index - listpack (1 ms) [ok]: LSET against non existing key (0 ms) [ok]: LSET against non list value (1 ms) [ok]: BZMPOP readraw in RESP3 (195 ms) [ok]: SETNX against expired volatile key (2951 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) [ok]: GETEX EX option (1 ms) [ok]: GETEX PX option (1 ms) [ok]: GETEX EXAT option (0 ms) [ok]: GETEX PXAT option (1 ms) [ok]: GETEX PERSIST option (1 ms) [ok]: GETEX no option (0 ms) [ok]: GETEX syntax errors (0 ms) [ok]: GETEX and GET expired key or not exist (2 ms) [ok]: GETEX no arguments (0 ms) [ok]: GETDEL command (0 ms) [ok]: LREM remove all the occurrences - quicklist (43 ms) [ok]: LREM remove the first occurrence - quicklist (0 ms) [ok]: LREM remove non existing element - quicklist (1 ms) [ok]: LREM starting from tail with negative count - quicklist (43 ms) [ok]: GETDEL propagate as DEL command to replica (73 ms) [ok]: LREM starting from tail with negative count (2) - quicklist (0 ms) [ok]: LREM deleting objects that may be int encoded - quicklist (42 ms) [ok]: XRANGE fuzzing (7171 ms) [ok]: LREM remove all the occurrences - listpack (2 ms) [ok]: LREM remove the first occurrence - listpack (1 ms) [ok]: XREVRANGE regression test for issue #5006 (1 ms) [ok]: LREM remove non existing element - listpack (0 ms) [ok]: XREAD streamID edge (no-blocking) (1 ms) [ok]: XREAD streamID edge (blocking) (1 ms) [ok]: XADD streamID edge (0 ms) [ok]: LREM starting from tail with negative count - listpack (3 ms) [ok]: LREM starting from tail with negative count (2) - listpack (0 ms) [ok]: LREM deleting objects that may be int encoded - listpack (1 ms) [ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (2 ms) [ok]: BLPOP/BLMOVE should increase dirty (4 ms) [ok]: client unblock tests (7 ms) [ok]: client unblock tests (3 ms) [ok]: List listpack -> quicklist encoding conversion (4 ms) [ok]: GETEX without argument does not propagate to replica (102 ms) [ok]: MGET (1 ms) [ok]: MGET against non existing key (1 ms) [ok]: MGET against non-string key (1 ms) [ok]: GETSET (set new value) (0 ms) [ok]: GETSET (replace old value) (0 ms) [ok]: MSET base case (0 ms) [ok]: MSET/MSETNX wrong number of args (1 ms) [ok]: MSET with already existing - same key twice (1 ms) [ok]: MSETNX with already existent key (1 ms) [ok]: MSETNX with not existing keys (0 ms) [ok]: MSETNX with not existing keys - same key twice (1 ms) [ok]: MSETNX with already existing keys - same key twice (1 ms) [ok]: STRLEN against non-existing key (0 ms) [ok]: STRLEN against integer-encoded value (1 ms) [ok]: STRLEN against plain string (0 ms) [ok]: SETBIT against non-existing key (1 ms) [ok]: SETBIT against string-encoded key (1 ms) [ok]: SETBIT against integer-encoded key (2 ms) [ok]: SETBIT against key with wrong type (0 ms) [ok]: SETBIT with out of range bit offset (0 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (199 ms) [ok]: SETBIT with non-bit argument (1 ms) [ok]: ZMPOP readraw in RESP2 (2 ms) [ok]: XTRIM with MAXLEN option basic test (88 ms) [ok]: XADD with LIMIT consecutive calls (11 ms) [ok]: XTRIM with ~ is limited (18 ms) [ok]: Empty stream with no lastid can be rewrite into AOF correctly (107 ms) [ok]: XTRIM without ~ is not limited (16 ms) [ok]: XTRIM without ~ and with LIMIT (17 ms) [ok]: XTRIM with LIMIT delete entries no more than limit (1 ms) [ok]: List listpack -> quicklist encoding conversion (167 ms) [40/134 done]: unit/type/stream-cgroups (5 seconds) Testing unit/cluster/cluster-response-tls [41/134 done]: unit/cluster/cluster-response-tls (0 seconds) Testing unit/cluster/manual-takeover [ok]: BZMPOP readraw in RESP2 (198 ms) [ok]: ZINTERSTORE regression with two sets, intset+hashtable (1 ms) [ok]: ZUNIONSTORE regression, should not create NaN in scores (0 ms) [ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (1 ms) [ok]: XADD with MAXLEN > xlen can propagate correctly (15 ms) [ok]: ZUNIONSTORE result is sorted (125 ms) [ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (1 ms) [ok]: ZMSCORE retrieve (0 ms) [ok]: ZMSCORE retrieve from empty set (1 ms) [ok]: ZMSCORE retrieve with missing member (0 ms) [ok]: ZMSCORE retrieve single member (1 ms) [ok]: List quicklist -> listpack encoding conversion (209 ms) [ok]: ZMSCORE retrieve requires one or more members (0 ms) [ok]: ZSET commands don't accept the empty strings as valid score (0 ms) [ok]: zunionInterDiffGenericCommand at least 1 input key (1 ms) [ok]: WAITAOF master sends PING after last write (1202 ms) [ok]: List encoding conversion when RDB loading (6 ms) [ok]: ZSCORE - listpack (36 ms) [ok]: List invalid list-max-listpack-size config (45 ms) [ok]: ZMSCORE - listpack (37 ms) [ok]: ZSCORE after a DEBUG RELOAD - listpack (36 ms) [ok]: List of various encodings (90 ms) [ok]: List of various encodings - sanitize dump (3 ms) [ok]: Unblock fairness is kept while pipelining (2 ms) [ok]: Unblock fairness is kept during nested unblock (3 ms) [ok]: Blocking command accounted only once in commandstats (2 ms) [ok]: XADD with MINID > lastid can propagate correctly (11 ms) [ok]: Blocking command accounted only once in commandstats after timeout (1 ms) [ok]: SETBIT fuzzing (484 ms) [ok]: GETBIT against non-existing key (0 ms) [ok]: GETBIT against string-encoded key (1 ms) [ok]: GETBIT against integer-encoded key (1 ms) [ok]: SETRANGE against non-existing key (1 ms) [ok]: SETRANGE against string-encoded key (1 ms) [ok]: SETRANGE against integer-encoded key (1 ms) [ok]: SETRANGE against key with wrong type (1 ms) [ok]: SETRANGE with out of range offset (0 ms) [ok]: GETRANGE against non-existing key (1 ms) [ok]: GETRANGE against wrong key type (0 ms) [ok]: GETRANGE against string value (1 ms) [ok]: ZSET sorting stresser - listpack (50 ms) [ok]: GETRANGE against integer-encoded value (0 ms) [ok]: Command being unblocked cause another command to get unblocked execution order test (85 ms) [ok]: XADD with ~ MAXLEN can propagate correctly (21 ms) [ok]: Stress tester for #3343-alike bugs comp: 2 (9611 ms) [ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (14 ms) [ok]: XADD with ~ MINID can propagate correctly (19 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (4866 ms) [ok]: XADD with ~ MINID and LIMIT can propagate correctly (12 ms) [ok]: GETRANGE fuzzing (977 ms) [ok]: Coverage: SUBSTR (1 ms) [ok]: Extended SET can detect syntax errors (0 ms) [ok]: Extended SET NX option (1 ms) [ok]: Extended SET XX option (0 ms) [ok]: Extended SET GET option (1 ms) [ok]: Extended SET GET option with no previous value (0 ms) [ok]: Extended SET GET option with XX (0 ms) [ok]: Extended SET GET option with XX and no previous value (1 ms) [ok]: Extended SET GET option with NX (0 ms) [ok]: Extended SET GET option with NX and previous value (0 ms) [ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) [ok]: SET with IFEQ conditional (0 ms) [ok]: SET with IFEQ conditional - non-string current value (1 ms) [ok]: SET with IFEQ conditional - with get (0 ms) [ok]: SET with IFEQ conditional - non string current value with get (1 ms) [ok]: SET with IFEQ conditional - with xx (0 ms) [ok]: SET with IFEQ conditional - with nx (0 ms) [ok]: Extended SET EX option (0 ms) [ok]: Extended SET PX option (0 ms) [ok]: Extended SET EXAT option (0 ms) [ok]: Extended SET PXAT option (0 ms) [ok]: SET EXAT / PXAT Expiration time is expired (6 ms) [ok]: Extended SET using multiple options at once (1 ms) [ok]: GETRANGE with huge ranges, Github issue #1844 (0 ms) [ok]: LCS basic (1 ms) [ok]: LCS len (0 ms) [ok]: LCS indexes (1 ms) [ok]: LCS indexes with match len (1 ms) [ok]: LCS indexes with match len and minimum match len (1 ms) [ok]: SETRANGE with huge offset (0 ms) [ok]: APPEND modifies the encoding from int to raw (1 ms) [ok]: WAITAOF master client didn't send any write command (1202 ms) [ok]: Blocking timeout following PAUSE should honor the timeout (1010 ms) [ok]: CLIENT NO-TOUCH with BRPOP and RPUSH regression test (3 ms) [42/134 done]: unit/type/string (9 seconds) Testing unit/cluster/replica-in-sync [ok]: XTRIM with ~ MAXLEN can propagate correctly (23 ms) [43/134 done]: unit/type/list (16 seconds) Testing unit/cluster/replica-migration [ok]: XADD can CREATE an empty stream (1 ms) [ok]: XSETID can set a specific ID (1 ms) [ok]: XSETID cannot SETID with smaller ID (1 ms) [ok]: XSETID cannot SETID on non-existent key (0 ms) [ok]: XSETID cannot run with an offset but without a maximal tombstone (1 ms) [ok]: XSETID cannot run with a maximal tombstone but without an offset (0 ms) [ok]: XSETID errors on negstive offset (1 ms) [ok]: XSETID cannot set the maximal tombstone with larger ID (1 ms) [ok]: XSETID cannot set the offset to less than the length (1 ms) [ok]: XSETID cannot set smaller ID than current MAXDELETEDID (2 ms) [ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (2 ms) [ok]: XDEL/TRIM are reflected by recorded first entry (4 ms) [ok]: Maximum XDEL ID behaves correctly (2 ms) [ok]: XADD with artial ID with maximal seq (1 ms) [ok]: Empty stream can be rewrite into AOF correctly (107 ms) [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (109 ms) [ok]: XGROUP HELP should not have unexpected options (0 ms) [ok]: XINFO HELP should not have unexpected options (0 ms) [ok]: WAITAOF master client didn't send any command (1201 ms) [44/134 done]: unit/type/stream (19 seconds) Testing unit/cluster/slot-migration [ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (3244 ms) [ok]: GEOSEARCH fuzzy test - bybox (14743 ms) [ok]: GEOSEARCH box edges fuzzy test (37 ms) [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (257 ms) [45/134 done]: unit/geo (33 seconds) Testing unit/cluster/many-slot-migration [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (366 ms) [ok]: ZSETs skiplist implementation backlink consistency test - listpack (47 ms) [ok]: LTRIM stress testing - listpack (8033 ms) [46/134 done]: unit/type/list-2 (17 seconds) Testing unit/cluster/half-migrated-slot [ok]: ZSETs ZRANK augmented skip list stress testing - listpack (1027 ms) [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (2 ms) [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (3 ms) [ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (2 ms) [ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (2 ms) [ok]: WAITAOF when replica switches between masters, fsync: no (3333 ms) Time: 1004 [ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1005 ms) [ok]: BZPOPMIN with same key multiple times should work (4 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (2 ms) [ok]: BZPOPMIN with variadic ZADD (2 ms) [ok]: Cluster is up (21 ms) [ok]: Half init migration in 'migrating' is fixable (29 ms) [ok]: Half init migration in 'importing' is fixable (29 ms) [ok]: Init migration and move key (88 ms) [ok]: Move key again (6 ms) [ok]: Half-finish migration (68 ms) [ok]: Move key back (1 ms) [ok]: Half-finish importing (71 ms) [ok]: {cluster} SCAN regression test for issue #4906 (10534 ms) [ok]: Cluster is up (101 ms) [ok]: {cluster} SCAN MATCH pattern implies cluster slot (33 ms) [47/134 done]: unit/scan (25 seconds) Testing unit/cluster/base [48/134 done]: unit/cluster/half-migrated-slot (3 seconds) Testing unit/cluster/misc [ok]: BZPOPMIN with zero timeout should block indefinitely (1003 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (3 ms) [ok]: BZMPOP_MIN with variadic ZADD (3 ms) [ok]: Cluster nodes are reachable (1 ms) [ok]: WAITAOF when replica switches between masters, fsync: everysec (2336 ms) [ok]: BZMPOP_MIN with zero timeout should block indefinitely (1003 ms) [ok]: Sharded pubsub publish behavior within multi/exec (1 ms) [ok]: Sharded pubsub within multi/exec with cross slot operation (0 ms) [ok]: Sharded pubsub publish behavior within multi/exec with read operation on primary (0 ms) [ok]: Sharded pubsub publish behavior within multi/exec with read operation on replica (1 ms) [ok]: Sharded pubsub publish behavior within multi/exec with write operation on primary (0 ms) [ok]: Sharded pubsub publish behavior within multi/exec with write operation on replica (1 ms) [ok]: SSUBSCRIBE client killed during transaction (2 ms) [ok]: ZSCORE - skiplist (41 ms) [ok]: ZMSCORE - skiplist (33 ms) [ok]: ZSCORE after a DEBUG RELOAD - skiplist (32 ms) [ok]: ZSET sorting stresser - skiplist (41 ms) [49/134 done]: unit/cluster/sharded-pubsub (12 seconds) Testing unit/cluster/cli [ok]: Stress tester for #3343-alike bugs comp: 1 (8563 ms) [ok]: Cluster Join and auto-discovery test (1627 ms) [ok]: Before slots allocation, all nodes report cluster failure (49 ms) [ok]: Different nodes have different IDs (1 ms) [ok]: WAITAOF when replica switches between masters, fsync: always (1323 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (8477 ms) [ok]: It is possible to perform slot allocation (263 ms) [ok]: After the join, every node gets a different config epoch (15 ms) [ok]: setup replication for following tests (104 ms) [ok]: Cluster is up (66 ms) [ok]: Cluster is writable (106 ms) [ok]: Killing one primary node (12 ms) [ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (2312 ms) [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (673 ms) [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (186 ms) [50/134 done]: unit/wait (28 seconds) Testing unit/cluster/manual-failover [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (307 ms) [ok]: ZSETs skiplist implementation backlink consistency test - skiplist (24 ms) [ok]: Create 1 node cluster (1931 ms) [ok]: Cluster is up (96 ms) [ok]: Cluster is writable (104 ms) [ok]: Killing majority of master nodes (30 ms) [ok]: Cluster is up (16 ms) [ok]: Cluster is writable (93 ms) [ok]: Fill up primary with data (3 ms) [ok]: Add new node as replica (0 ms) [ok]: Check digest and replica state (2 ms) [ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (1001 ms) [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (2 ms) [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (2 ms) [ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (2 ms) [ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (2 ms) [ok]: Create 2 node cluster (1026 ms) Time: 1003 [ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1004 ms) [ok]: BZPOPMIN with same key multiple times should work (4 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (3 ms) [ok]: BZPOPMIN with variadic ZADD (2 ms) [ok]: Slot migration states are replicated (7 ms) [ok]: BZPOPMIN with zero timeout should block indefinitely (1003 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (4 ms) [ok]: BZMPOP_MIN with variadic ZADD (2 ms) [ok]: Nodes should report cluster_state is ok now (5026 ms) [ok]: Sanity for CLUSTER COUNTKEYSINSLOT (0 ms) [ok]: Cluster should eventually be down (3185 ms) [ok]: Use takeover to bring slaves back (8 ms) [ok]: It is possible to write and read from the cluster (137 ms) [ok]: CLUSTER RESET SOFT test (7 ms) [ok]: Coverage: CLUSTER HELP (1 ms) [ok]: Coverage: ASKING (0 ms) [ok]: CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas (1 ms) [ok]: Create 3 node cluster (1946 ms) [ok]: Run blocking command on cluster node3 (1 ms) [ok]: Perform a Resharding (9 ms) [ok]: Verify command got unblocked after resharding (12 ms) [ok]: Wait for cluster to be stable (13 ms) [ok]: use previous hostip in "cluster-preferred-endpoint-type unknown-endpoint" mode (5 ms) [ok]: Sanity test push cmd after resharding (1 ms) [ok]: Run blocking command again on cluster node1 (1 ms) [ok]: BZMPOP_MIN with zero timeout should block indefinitely (1003 ms) [ok]: BZPOP/BZMPOP against wrong type (3 ms) [ok]: BZMPOP with illegal argument (5 ms) [ok]: BZMPOP with multiple blocked clients (9 ms) [51/134 done]: unit/cluster/base (8 seconds) Testing unit/cluster/announce-client-ip [ok]: BZMPOP propagate as pop with count command to replica (168 ms) [ok]: BZMPOP should not blocks on non key arguments - #10762 (5 ms) [ok]: Set many keys (8912 ms) [ok]: Kill a cluster node and wait for fail state (1330 ms) [ok]: Verify command got unblocked after cluster failure (92 ms) [ok]: Replica in loading state is hidden (4969 ms) [ok]: Migration target is auto-updated after failover in target shard (3265 ms) [ok]: ZSET skiplist order consistency when elements are moved (1412 ms) [ok]: ZRANGESTORE basic (1 ms) [ok]: ZRANGESTORE RESP3 (2 ms) [ok]: ZRANGESTORE range (0 ms) [ok]: ZRANGESTORE BYLEX (1 ms) [ok]: ZRANGESTORE BYSCORE (1 ms) [ok]: ZRANGESTORE BYSCORE LIMIT (1 ms) [ok]: ZRANGESTORE BYSCORE REV LIMIT (1 ms) [ok]: ZRANGE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGESTORE - src key missing (1 ms) [ok]: ZRANGESTORE - src key wrong type (1 ms) [ok]: ZRANGESTORE - empty range (0 ms) [ok]: ZRANGESTORE BYLEX - empty range (0 ms) [ok]: ZRANGESTORE BYSCORE - empty range (0 ms) [ok]: ZRANGE BYLEX (0 ms) [ok]: ZRANGESTORE invalid syntax (0 ms) [ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (2 ms) [ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (1 ms) [ok]: ZRANGE invalid syntax (1 ms) [ok]: ZRANDMEMBER - listpack (12 ms) [ok]: ZRANDMEMBER - skiplist (13 ms) [ok]: ZRANDMEMBER with RESP3 (2 ms) [ok]: Check disconnected replica not hidden from slots (205 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: ZRANDMEMBER with against non existing key (0 ms) [ok]: ZRANDMEMBER count overflow (1 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) [ok]: ZRANDMEMBER with against non existing key - emptyarray (1 ms) [ok]: Stress tester for #3343-alike bugs comp: 0 (7917 ms) [ok]: ZRANDMEMBER with - skiplist (263 ms) [ok]: ZRANDMEMBER with - listpack (259 ms) [ok]: zset score double range (1 ms) [ok]: zunionInterDiffGenericCommand acts on SET and ZSET (18 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - single (8 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (2 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) [52/134 done]: unit/type/zset (28 seconds) Testing unit/cluster/no-failover-option [53/134 done]: unit/cluster/replica-in-sync (16 seconds) Testing unit/cluster/pubsubshard-slot-migration [ok]: Key lazy expires during key migration (15 ms) [ok]: Coverage: Basic cluster commands (2 ms) [ok]: Cluster should eventually be up again (3044 ms) [ok]: Cluster is writable (113 ms) [ok]: Instance #5, #6, #7 are now masters (2 ms) [ok]: Restarting the previously killed master nodes (2 ms) [ok]: Instance #0, #1, #2 gets converted into a slaves (9 ms) [ok]: Wait for failover (7646 ms) [ok]: Killing the new primary node (11 ms) [ok]: Cluster should eventually be up again (71 ms) [54/134 done]: unit/cluster/misc (11 seconds) Testing unit/cluster/cluster-reliable-meet [ok]: AOF rewrite during write load: RDB preamble=no (23254 ms) [55/134 done]: unit/cluster/manual-takeover (19 seconds) Testing unit/cluster/pubsub [ok]: Cluster nodes are reachable (1 ms) [ok]: Before slots allocation, all nodes report cluster failure (19 ms) [ok]: Cluster nodes haven't met each other (1 ms) [ok]: Turning off AOF kills the background writing child if any (108 ms) [ok]: Allocate slots (136 ms) [ok]: AOF rewrite of list with listpack encoding, string data (109 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (9817 ms) [ok]: AOF rewrite of list with quicklist encoding, string data (213 ms) [ok]: AOF rewrite of list with listpack encoding, int data (106 ms) [ok]: AOF rewrite of list with quicklist encoding, int data (216 ms) [ok]: AOF rewrite of set with intset encoding, string data (55 ms) [ok]: Migration source is auto-updated after failover in source shard (3271 ms) [ok]: Replica redirects key access in migrating slots (3 ms) [ok]: Replica of migrating node returns ASK redirect after READONLY (4 ms) [ok]: Replica of migrating node returns TRYAGAIN after READONLY (3 ms) [ok]: Replica of importing node returns TRYAGAIN after READONLY and ASKING (3 ms) [ok]: AOF rewrite of set with hashtable encoding, string data (246 ms) [ok]: AOF rewrite of set with intset encoding, int data (56 ms) [ok]: AOF rewrite of set with hashtable encoding, int data (218 ms) [ok]: Functions are added to new node on valkey-cli cluster add-node (3090 ms) [ok]: client evicted due to client tracking prefixes (46000 ms) [ok]: client evicted due to output buf (16 ms) [ok]: AOF rewrite of hash with listpack encoding, string data (108 ms) [ok]: New replica inherits migrating slot (446 ms) [ok]: client no-evict on (94 ms) [ok]: client no-evict off (64 ms) [ok]: New replica inherits importing slot (320 ms) [ok]: AOF rewrite of hash with hashtable encoding, string data (354 ms) [ok]: AOF rewrite of hash with listpack encoding, int data (58 ms) [ok]: avoid client eviction when client is freed by output buffer limit (190 ms) [ok]: MEET is reliable when target drops the initial MEETs (1794 ms) [ok]: AOF rewrite of hash with hashtable encoding, int data (309 ms) [ok]: AOF rewrite of zset with listpack encoding, string data (108 ms) Port 24134 was already busy, trying another port... [ok]: AOF rewrite of zset with skiplist encoding, string data (289 ms) [ok]: decrease maxmemory-clients causes client eviction (521 ms) [ok]: AOF rewrite of zset with listpack encoding, int data (107 ms) [ok]: AOF rewrite of zset with skiplist encoding, int data (228 ms) [ok]: AOF rewrite functions (107 ms) [ok]: evict clients only until below limit (249 ms) [ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (224 ms) [ok]: BGREWRITEAOF is refused if already in progress (17 ms) [56/134 done]: unit/aofrw (48 seconds) Testing unit/cluster/human-announced-nodename [ok]: evict clients in right order (large to small) (275 ms) [ok]: Cluster is up (100 ms) [ok]: Cluster is writable (99 ms) [ok]: Instance #5 is a slave (1 ms) [ok]: Instance #5 synced with the master (1 ms) W[ok]: client total memory grows during client no-evict (135 ms) [ok]: client total memory grows during maxmemory-clients disabled (137 ms) [57/134 done]: unit/client-eviction (52 seconds) Testing unit/cluster/announced-endpoints WW[ok]: Fuzzing dense/sparse encoding: Server should always detect errors (48058 ms) [ok]: PFADD, PFCOUNT, PFMERGE type checking works (2 ms) [ok]: PFMERGE results on the cardinality of union of sets (1 ms) [ok]: PFMERGE on missing source keys will create an empty destkey (1 ms) [ok]: PFMERGE with one empty input key, create an empty destkey (1 ms) [ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) W[ok]: Keys are accessible (7966 ms) WW[ok]: Set cluster human announced nodename and let it propagate (106 ms) W[ok]: wait for new failover (6713 ms) [ok]: Restarting the previously killed primary nodes (2 ms) [ok]: Make sure there is no failover timeout (1 ms) W[ok]: PFMERGE results with simd (1721 ms) W[ok]: Set cluster announced IPv4 to invalid IP (1 ms) W[ok]: Set cluster announced IPv4 and check that it propagates (233 ms) [ok]: Clear announced client IPv4 and check that it propagates (117 ms) [ok]: Send CLUSTER FAILOVER to #5, during load (3736 ms) [ok]: Wait for failover (37 ms) [ok]: Cluster should eventually be up again (112 ms) [ok]: Init migration of many slots (2422 ms) [ok]: Cluster is writable (126 ms) [ok]: Instance #5 is now a master (0 ms) [ok]: ziplist implementation: value encoding and backlink (10062 ms) [ok]: Human nodenames are visible in log messages (3526 ms) [ok]: Verify 50000 keys for consistency with logical content (1636 ms) [ok]: Instance #0 gets converted into a slave (27 ms) [ok]: Cluster is up (64 ms) [ok]: Instance #3 is a replica (1 ms) [ok]: Instance #3 synced with the master (0 ms) [58/134 done]: unit/cluster/human-announced-nodename (6 seconds) Testing unit/cluster/shardid-propagation [ok]: The nofailover flag is propagated (105 ms) [ok]: Killing one master node (11 ms) [ok]: Cluster is up (66 ms) [ok]: Migrate a slot, verify client receives sunsubscribe on primary serving the slot. (6 ms) [ok]: Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot. (8 ms) [ok]: Cluster nodes are reachable (0 ms) [ok]: Migrate a slot, verify client receives sunsubscribe on replica serving the slot. (50 ms) [ok]: Before slots allocation, all nodes report cluster failure (23 ms) [ok]: Cluster nodes haven't met each other (0 ms) [ok]: Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot. (40 ms) [ok]: Delete a slot, verify sunsubscribe message (1 ms) [ok]: Reset cluster, verify sunsubscribe message (4 ms) [ok]: Allocate slots (43 ms) [ok]: Restart of node in cluster mode doesn't cause nodes.conf corruption due to shard id mismatch (260 ms) [59/134 done]: unit/cluster/shardid-propagation (1 seconds) Testing unit/cluster/slot-ownership [60/134 done]: unit/cluster/pubsubshard-slot-migration (12 seconds) Testing unit/cluster/info [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (10262 ms) [ok]: Test publishing to master (7 ms) [ok]: Test publishing to slave (6 ms) [ok]: Cluster should start ok (20 ms) [ok]: errorstats: rejected call due to MOVED Redirection (3 ms) [ok]: Migrated replica reports zero repl offset and rank, and fails to win election - shutdown (18818 ms) [ok]: Cluster should be still down after some time (3188 ms) [ok]: Instance #3 is still a replica (1 ms) [ok]: Restarting the previously killed master node (1 ms) [ok]: Migrate the last slot away from a node using valkey-cli (11177 ms) [61/134 done]: unit/cluster/no-failover-option (15 seconds) Testing unit/cluster/consistency-check [ok]: Multiple slot migration states are replicated (8 ms) [ok]: Handshake eventually succeeds after node handshake timeout on both sides with inconsistent view of the cluster (9160 ms) [ok]: New replica inherits multiple migrating slots (477 ms) [ok]: Slot finalization succeeds on both primary and replicas (6 ms) [ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (8165 ms) [ok]: Test cluster info stats for publish (2 ms) [ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (106 ms) [62/134 done]: unit/cluster/pubsub (15 seconds) Testing unit/cluster/divergent-cluster-shardid-conf [ok]: Test change cluster-announce-bus-port at runtime (203 ms) [ok]: Test change port and tls-port on runtime (205 ms) [ok]: valkey-cli -4 --cluster create using 127.0.0.1 with cluster-port (1935 ms) [63/134 done]: unit/cluster/announced-endpoints (12 seconds) Testing unit/cluster/diskless-load-swapdb [ok]: divergent cluster shardid conflict (880 ms) [64/134 done]: unit/cluster/divergent-cluster-shardid-conf (1 seconds) Testing unit/cluster/transactions-on-replica [ok]: valkey-cli -4 --cluster add-node using 127.0.0.1 with cluster-port (1097 ms) [ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (2850 ms) [ok]: ziplist implementation: encoding stress testing (9872 ms) [65/134 done]: unit/type/list-3 (47 seconds) Testing unit/cluster/scripting [ok]: fail reason changed (3363 ms) [ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (936 ms) [ok]: PFADD / PFCOUNT cache invalidation works (0 ms) [66/134 done]: unit/hyperloglog (65 seconds) Testing unit/cluster/cluster-multiple-meets [ok]: Set cluster announced IPv6 to invalid IP (1 ms) [67/134 done]: unit/cluster/info (8 seconds) Testing unit/cluster/slave-selection [ok]: Cluster nodes are reachable (0 ms) [ok]: Before slots allocation, all nodes report cluster failure (25 ms) [ok]: Cluster nodes haven't met each other (1 ms) [ok]: Set cluster announced IPv6 and check that it propagates (227 ms) [ok]: Allocate slots (96 ms) [ok]: Clear announced client IPv6 and check that it propagates (216 ms) [ok]: valkey-cli -4 --cluster create using localhost with cluster-port (1945 ms) [ok]: Eval scripts with shebangs and functions default to no cross slots (1 ms) [ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (2 ms) [ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (0 ms) [ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (1 ms) [ok]: Function no-cluster flag (0 ms) [ok]: Script no-cluster flag (1 ms) [ok]: Calling cluster slots in scripts is OK (0 ms) [ok]: Calling cluster shards in scripts is OK (1 ms) [68/134 done]: unit/cluster/scripting (2 seconds) Testing unit/cluster/slot-migration-response [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (9965 ms) [ok]: valkey-cli -4 --cluster add-node using localhost with cluster-port (1205 ms) [ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (183 ms) [69/134 done]: unit/cluster/cli (30 seconds) Testing unit/cluster/update-msg [ok]: Multiple MEETs from Node 1 to Node 0 should work (2633 ms) [70/134 done]: unit/cluster/cluster-multiple-meets (3 seconds) Testing unit/cluster/hostnames [ok]: Load cluster announced IPv4 config on server start (174 ms) [ok]: Cluster is up (114 ms) [ok]: Cluster is writable (68 ms) [ok]: Instance #5 is a slave (0 ms) [ok]: Instance #5 synced with the master (1 ms) [ok]: Make instance #0 unreachable without killing it (0 ms) [ok]: Send CLUSTER FAILOVER to instance #5 (0 ms) [ok]: Fix cluster (14695 ms) [ok]: Cluster is up (27 ms) [ok]: Set many keys in the cluster (1221 ms) [ok]: Test cluster responses during migration of slot x (3 ms) [ok]: Load cluster announced IPv6 config on server start (179 ms) [71/134 done]: unit/cluster/announce-client-ip (27 seconds) Testing unit/cluster/slot-stats [72/134 done]: unit/cluster/slot-migration-response (3 seconds) Testing unit/cluster/faildet [ok]: Primaries will not time out then they are elected in the same epoch (6003 ms) [ok]: Cluster should start ok (116 ms) [ok]: Cluster is writable (124 ms) [ok]: Handshake eventually succeeds after node handshake timeout on one side with inconsistent view of the cluster (9262 ms) [73/134 done]: unit/cluster/cluster-reliable-meet (26 seconds) Testing unit/cluster/cluster-shards [ok]: Cluster should start ok (25 ms) [ok]: Cluster is writable (123 ms) [ok]: Cluster should start ok (23 ms) [ok]: Can't read from replica without READONLY (2 ms) [ok]: Can't read from replica after READWRITE (0 ms) [ok]: Can read from replica after READONLY (1 ms) [ok]: Can perform HSET primary and HGET from replica (2 ms) [ok]: Can MULTI-EXEC transaction of HGET operations from replica (1 ms) [ok]: MULTI-EXEC with write operations is MOVED (1 ms) [ok]: Instance #5 is still a slave after some time (no failover) (5001 ms) [ok]: Slot is auto-claimed by target after source relinquishes ownership (1006 ms) [ok]: write command is QUEUED, then EXEC should be MOVED after failover (2008 ms) [ok]: read-only blocking operations from replica (2 ms) [ok]: reply MOVED when eval from replica for update (0 ms) [ok]: Slave expired keys is loaded when restarted: appendonly=no (3140 ms) [ok]: CLUSTER SLOT-STATS cpu-usec reset upon CONFIG RESETSTAT. (2602 ms) [74/135 done]: unit/cluster/transactions-on-replica (13 seconds) Testing unit/cluster/pubsubshard [ok]: Keys are accessible (8121 ms) [ok]: Cluster is up (191 ms) [ok]: The first master has actually two slaves (1 ms) [ok]: CLUSTER SLAVES and CLUSTER REPLICAS output is consistent (1 ms) [ok]: Slaves of #0 are instance #5 and #10 as expected (1 ms) [ok]: Instance #5 and #10 synced with the master (2 ms) [ok]: Slaves are both able to receive and acknowledge writes (31 ms) [75/135 done]: unit/cluster/many-slot-migration (47 seconds) Testing unit/cluster/links [ok]: Slave expired keys is loaded when restarted: appendonly=yes (3220 ms) [ok]: Wait for instance #0 to return back alive (4998 ms) [ok]: Cluster is up (110 ms) [76/135 done]: unit/cluster/consistency-check (19 seconds) Testing unit/cluster/slave-stop-cond [ok]: Cluster is writable (75 ms) [ok]: Instance #5 is a slave (1 ms) [ok]: Instance #5 synced with the master (1 ms) [ok]: Killing one master node (12 ms) [ok]: Set cluster hostnames and verify they are propagated (232 ms) [ok]: Migrated replica reports zero repl offset and rank, and fails to win election - sigstop (8600 ms) [ok]: Update hostnames and make sure they are all eventually propagated (244 ms) [ok]: Remove hostnames and make sure they are all eventually propagated (232 ms) [ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (159 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (12937 ms) [ok]: CLUSTER SLOT-STATS cpu-usec reset upon slot migration. (5181 ms) [ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (936 ms) [ok]: Test restart will keep hostname information (245 ms) [ok]: Test hostname validation (2 ms) [77/135 done]: unit/cluster/hostnames (14 seconds) Testing unit/cluster/failure-marking [ok]: Cluster should start ok (113 ms) [ok]: Killing two slave nodes (22 ms) [ok]: Cluster should be still up (116 ms) [ok]: Killing one master node (12 ms) [ok]: Cluster should be down now (118 ms) [ok]: Restarting master node (12 ms) [ok]: Cluster should be up again (112 ms) [ok]: Cluster should start ok (72 ms) [ok]: Cluster shards response is ok for shard 0 (3 ms) [ok]: Kill a node and tell the replica to immediately takeover (13 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for non-slot specific commands. (2685 ms) [78/135 done]: unit/cluster/faildet (13 seconds) Testing unit/cluster/failover [ok]: Wait for failover (4153 ms) [ok]: Cluster should eventually be up again (115 ms) [ok]: Cluster is writable (78 ms) [ok]: Instance #5 is now a master (1 ms) [ok]: Killing the new master #5 (14 ms) [ok]: Primary lost a slot during the shutdown waiting (4938 ms) [ok]: CLUSTER SETSLOT with invalid timeouts (2 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for slot specific commands. (2698 ms) [ok]: Verify health as fail for killed node (3152 ms) [ok]: CLUSTER SHARDS slot response is non-empty when primary node fails (2 ms) [ok]: Pub/Sub shard basics (3 ms) [ok]: client can't subscribe to multiple shard channels across different slots in same call (0 ms) [ok]: client can subscribe to multiple shard channels across different slots in separate call (1 ms) [ok]: sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed (2 ms) [79/135 done]: unit/cluster/cluster-shards (14 seconds) Testing unit/cluster/cluster-slots [ok]: Verify Pub/Sub and Pub/Sub shard no overlap (5 ms) [ok]: PUBSUB channels/shardchannels (2 ms) [ok]: Cluster should be down now (3309 ms) [ok]: Restarting the old master node (0 ms) [ok]: Instance #0 gets converted into a slave (58 ms) [ok]: Restarting the new master node (1 ms) [80/135 done]: unit/cluster/pubsubshard (12 seconds) Testing unit/cluster/packet [ok]: Write data while slave #10 is paused and can't receive it (10018 ms) [ok]: Cluster is up again (880 ms) [ok]: Broadcast message across a cluster shard while a cluster link is down (108 ms) [ok]: Packet with missing gossip messages don't cause invalid read (2 ms) [81/135 done]: unit/cluster/packet (2 seconds) Testing unit/cluster/cluster-nodes-slots [82/135 done]: unit/cluster/update-msg (23 seconds) Testing unit/cluster/noaddr [ok]: Cluster is up (121 ms) [ok]: The first master has actually one slave (0 ms) [ok]: Slaves of #0 is instance #5 as expected (0 ms) [ok]: Instance #5 synced with the master (1 ms) [ok]: Lower the slave validity factor of #5 to the value of 2 (1 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on keyspace update. (5453 ms) [ok]: Each node has two links with each peer (7 ms) [ok]: Validate cluster links format (1 ms) [ok]: Cluster is up (197 ms) [ok]: Cluster is writable (88 ms) [ok]: Instance #5 is a slave (0 ms) [ok]: Instance #5 synced with the master (0 ms) [ok]: Make instance #0 unreachable without killing it (0 ms) [ok]: Send CLUSTER FAILOVER to instance #5 (1 ms) [ok]: Instance #5 is a master after some time (53 ms) [ok]: Wait for instance #5 (and not #10) to turn into a master (4331 ms) [ok]: Wait for the node #10 to return alive before ending the test (0 ms) [ok]: Cluster should eventually be up again (186 ms) [ok]: Node #10 should eventually replicate node #5 (0 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on timeout. (3301 ms) [ok]: Primary lost a slot during the manual failover pausing (49 ms) [ok]: Cluster is up (118 ms) [ok]: Cluster is writable (133 ms) [ok]: Instance #5 is a slave (1 ms) [ok]: Instance #5 synced with the master (2 ms) [ok]: Killing one master node (14 ms) [ok]: Verify that single primary marks replica as failed (3112 ms) [ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - shutdown (4213 ms) [ok]: Wait for failover (4050 ms) [ok]: Cluster should eventually be up again (133 ms) [ok]: Cluster is writable (134 ms) [ok]: Instance #5 is now a master (1 ms) [ok]: Restarting the previously killed master node (1 ms) [ok]: Instance #0 gets converted into a slave (105 ms) [ok]: Replica can update the config epoch when trigger the failover - automatic (17067 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for transactions. (5394 ms) [ok]: CLUSTER SETSLOT with an explicit timeout (3024 ms) [ok]: Cluster should start ok (44 ms) [ok]: Continuous slots distribution (7 ms) [ok]: Discontinuous slots distribution (6 ms) [83/135 done]: unit/cluster/cluster-nodes-slots (12 seconds) Testing unit/cluster/multi-slot-operations [ok]: Disconnect link when send buffer limit reached (9822 ms) [ok]: NOADDR nodes will be marked as FAIL (876 ms) [ok]: Wait for instance #0 to return back alive (9946 ms) [ok]: Link memory increases with publishes (564 ms) [84/135 done]: unit/cluster/noaddr (12 seconds) Testing integration/psync2 [ok]: Link memory resets after publish messages flush (529 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, without cross-slot keys. (2709 ms) [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (1 ms) [ok]: PSYNC2: Set #4 to replicate from #2 (0 ms) [85/135 done]: unit/cluster/links (24 seconds) Testing integration/replica-redirect [ok]: Client blocked on XREADGROUP while stream's slot is migrated (5 ms) [ok]: write command inside MULTI is QUEUED, EXEC should be REDIRECT (103 ms) [ok]: write command inside MULTI is REDIRECT, EXEC should be EXECABORT (1 ms) [ok]: replica allow read command by default (0 ms) [ok]: replica reply READONLY error for write command by default (0 ms) [ok]: replica redirect read and write command after CLIENT CAPA REDIRECT (1 ms) [ok]: CLIENT INFO (0 ms) [ok]: non-data access commands are not redirected (0 ms) [ok]: replica allow read command in READONLY mode (1 ms) [ok]: maxmemory - policy volatile-lru should only remove volatile keys. (23168 ms) [ok]: client paused during failover-in-progress (324 ms) [ok]: Continuous slots distribution (19 ms) [ok]: ADDSLOTS command with several boundary conditions test suite (2 ms) [ok]: ADDSLOTSRANGE command with several boundary conditions test suite (2 ms) [ok]: DELSLOTSRANGE command with several boundary conditions test suite (9 ms) [ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) [86/135 done]: integration/replica-redirect (2 seconds) Testing integration/replication-psync [87/135 done]: unit/cluster/multi-slot-operations (3 seconds) Testing integration/replication [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: Slave enters handshake (0 ms) [ok]: Slave enters wait_bgsave (0 ms) [ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) [ok]: Detect write load to master (1002 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, with cross-slot keys. (2648 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: no, reconnect: 0) (111 ms) [ok]: PSYNC2: Set #3 to replicate from #2 (0 ms) [ok]: Slave should be able to synchronize with the master (103 ms) [ok]: Primary lost a slot during the client pause command (49 ms) [ok]: Cluster is up (194 ms) [ok]: The first master has actually 5 slaves (1 ms) [ok]: Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected (1 ms) [ok]: Instance #3, #6, #9, #12 and #15 synced with the master (3 ms) [ok]: PSYNC2: cluster is consistent after failover (1 ms) [88/135 done]: unit/cluster/slot-ownership (50 seconds) Testing integration/replication-3 [ok]: Detect write load to master (1001 ms) [ok]: First server should have role slave after SLAVEOF (101 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for functions, without cross-slot keys. (2693 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for functions, with cross-slot keys. (2722 ms) [ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - sigstop (3673 ms) [ok]: Break master-slave link and prevent further reconnections (20018 ms) [ok]: Slave #5 is reachable and alive (7 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 36784) (0 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (0 ms) [ok]: PSYNC2: Set #0 to replicate from #2 (1 ms) [ok]: Cluster is up (99 ms) [ok]: MASTER and SLAVE consistency with expire (4798 ms) [ok]: Cluster is writable (113 ms) [ok]: Killing the first primary node (14 ms) [ok]: Master can replicate command longer than client-query-buffer-limit on replica (104 ms) [ok]: PSYNC2: Set #4 to replicate from #2 (0 ms) [ok]: Verify that multiple primaries mark replica as failed (6152 ms) [ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: no, reconnect: 1) (6517 ms) [ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: Slave is able to detect timeout during handshake (0 ms) [ok]: Slot migration is ok when the replicas are down (123 ms) [ok]: PSYNC2: Set #3 to replicate from #2 (0 ms) [ok]: Set instance A as slave of B (102 ms) [ok]: INCRBYFLOAT replication, should not remove expire (3 ms) [ok]: GETSET replication (3 ms) [ok]: BRPOPLPUSH replication, when blocking against empty list (3 ms) [ok]: Detect write load to master (1001 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, multi bulk buffer processing. (2727 ms) [89/135 done]: unit/cluster/slot-migration (85 seconds) Testing integration/dismiss-mem [ok]: PSYNC2: cluster is consistent after failover (1 ms) [ok]: BRPOPLPUSH replication, list exists (1004 ms) [ok]: BLMOVE (left, left) replication, when blocking against empty list (3 ms) [ok]: Wait for failover (4350 ms) [ok]: Cluster should eventually be up again (100 ms) [ok]: Restarting the previously killed primary node (0 ms) [ok]: Instance #0 gets converted into a replica (86 ms) [ok]: Make sure the replicas always get the different ranks (2 ms) [ok]: BLMOVE (left, left) replication, list exists (1004 ms) [ok]: BLMOVE (left, right) replication, when blocking against empty list (3 ms) [ok]: dismiss all data types memory (1061 ms) [90/135 done]: unit/cluster/failover (34 seconds) Testing integration/block-repl [ok]: dismiss client output buffer (516 ms) [ok]: dismiss client query buffer (154 ms) [ok]: BLMOVE (left, right) replication, list exists (1004 ms) [ok]: BLMOVE (right, left) replication, when blocking against empty list (3 ms) [ok]: Slave is able to evict keys created in writable slaves (6004 ms) [ok]: Writable replica doesn't return expired keys (103 ms) [ok]: PFCOUNT updates cache on readonly replica (2 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, in-line buffer processing. (2678 ms) [ok]: PFCOUNT doesn't use expired key on readonly replica (103 ms) [ok]: First server should have role slave after SLAVEOF (1002 ms) [ok]: dismiss replication backlog (1236 ms) [91/135 done]: integration/dismiss-mem (4 seconds) Testing integration/psync2-master-restart [ok]: BLMOVE (right, left) replication, list exists (1004 ms) [ok]: BLMOVE (right, right) replication, when blocking against empty list (2 ms) [ok]: Replica can update the config epoch when trigger the failover - manual (8468 ms) [92/135 done]: integration/replication-3 (12 seconds) Testing integration/shutdown [ok]: Manual failover vote is not limited by two times the node timeout - drop the auth ack (5131 ms) [93/135 done]: unit/cluster/failover2 (93 seconds) Testing integration/convert-ziplist-hash-on-load [ok]: RDB load ziplist hash: converts to listpack when RDB loading (0 ms) [ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) [94/135 done]: integration/convert-ziplist-hash-on-load (0 seconds) Testing integration/corrupt-dump [ok]: BLMOVE (right, right) replication, list exists (1003 ms) [ok]: corrupt payload: #7445 - with sanitize (222 ms) [ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (123 ms) [ok]: BLPOP followed by role change, issue #2473 (206 ms) [ok]: Replica output bytes metric (1 ms) [ok]: corrupt payload: hash with valid zip list header, invalid entry len (221 ms) [ok]: corrupt payload: invalid zlbytes header (218 ms) [ok]: Second server should have role master at first (1 ms) [ok]: SLAVEOF should start with link status "down" (1 ms) [ok]: The role should immediately be changed to "replica" (1 ms) [ok]: corrupt payload: valid zipped hash header, dup records (218 ms) [ok]: Sync should have transferred keys from master (0 ms) [ok]: The link status should be up (0 ms) [ok]: SET on the master should immediately propagate (0 ms) [ok]: FLUSHDB / FLUSHALL should replicate (93 ms) [ok]: ROLE in master reports master with a slave (1 ms) [ok]: ROLE in slave reports slave in connected state (1 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 69139) (1 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) [ok]: PSYNC2: --- CYCLE 3 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (0 ms) [ok]: corrupt payload: quicklist big ziplist prev len (220 ms) [ok]: PSYNC2: Set #4 to replicate from #2 (0 ms) [ok]: Slave #5 should not be able to failover (10003 ms) [ok]: Cluster should be down (108 ms) [ok]: corrupt payload: quicklist small ziplist prev len (220 ms) [ok]: Shutting down master waits for replica to catch up (sigterm) (2061 ms) [ok]: corrupt payload: quicklist ziplist wrong count (232 ms) [ok]: corrupt payload: #3080 - quicklist (220 ms) [ok]: corrupt payload: quicklist with empty ziplist (219 ms) [95/135 done]: unit/cluster/slave-stop-cond (42 seconds) Testing integration/skip-rdb-checksum [ok]: PSYNC2: Set #1 to replicate from #0 (1 ms) [ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1124 ms) [ok]: corrupt payload: quicklist encoded_len is 0 (220 ms) [ok]: corrupt payload: quicklist listpack entry start with EOF (221 ms) [ok]: Skip RDB checksum sync - tls:0, repl_diskless_sync:yes, repl_diskless_load:on-empty-db (325 ms) [96/135 done]: integration/skip-rdb-checksum (1 seconds) Testing integration/logging [ok]: corrupt payload: #3080 - ziplist (221 ms) [ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (111 ms) [ok]: Crash report generated on SIGABRT (103 ms) [ok]: Crash report generated on DEBUG SEGFAULT (2 ms) [ok]: corrupt payload: load corrupted rdb with empty keys (218 ms) [ok]: PSYNC2: Set #2 to replicate from #0 (0 ms) [ok]: Stacktraces generated on SIGALRM (103 ms) [ok]: corrupt payload: load corrupted rdb with empty keys (218 ms) [ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: no, reconnect: 1) (8078 ms) [ok]: Config hide-user-data-from-log is off (1 ms) [ok]: Shutting down master waits for replica to catch up (shutdown) (1953 ms) [ok]: corrupt payload: listpack invalid size header (220 ms) [ok]: corrupt payload: listpack too long entry len (127 ms) [ok]: Config hide-user-data-from-log is on (1 ms) [ok]: corrupt payload: listpack very long entry len (127 ms) [97/135 done]: integration/logging (1 seconds) Testing integration/valkey-benchmark [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: benchmark: set,get (8 ms) [ok]: benchmark: connecting using URI set,get (6 ms) [ok]: benchmark: connecting using URI with authentication set,get (6 ms) [ok]: corrupt payload: listpack too long entry prev len (232 ms) [ok]: benchmark: full test suite (113 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, blocking command. (5373 ms) [ok]: PSYNC2: Set #3 to replicate from #1 (0 ms) [ok]: corrupt payload: stream with duplicate consumers (230 ms) [ok]: corrupt payload: hash ziplist with duplicate records (219 ms) [ok]: benchmark: multi-thread set,get (512 ms) [ok]: benchmark: pipelined full set,get (97 ms) [ok]: benchmark: arbitrary command (6 ms) [ok]: corrupt payload: hash listpack with duplicate records (218 ms) [ok]: benchmark: keyspace length (19 ms) [ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2380 ms) [ok]: benchmark: clients idle mode should return error when reached maxclients limit (4 ms) [ok]: benchmark: read last argument from stdin (7 ms) [98/135 done]: integration/valkey-benchmark (1 seconds) Testing integration/replication-buffer [ok]: corrupt payload: hash listpack with duplicate records - convert (124 ms) [ok]: Detect write load to master (1002 ms) [ok]: corrupt payload: hash ziplist uneven record count (218 ms) [ok]: PSYNC2: cluster is consistent after failover (1 ms) [ok]: corrupt payload: hash duplicate records (217 ms) [ok]: corrupt payload: hash empty zipmap (220 ms) [ok]: Shutting down master waits for replica timeout (2054 ms) [ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (123 ms) [ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (124 ms) [ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (222 ms) [ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (220 ms) [ok]: All replicas share one global replication buffer dualchannel yes (112 ms) [ok]: Replication buffer will become smaller when no replica uses dualchannel yes (4 ms) [ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (219 ms) [ok]: corrupt payload: fuzzer findings - hash crash (220 ms) [ok]: PSYNC2: Full resync after Master restart when too many key expired (1932 ms) [ok]: Shutting down master waits for replica then fails (1252 ms) [ok]: corrupt payload: fuzzer findings - uneven entry count in hash (217 ms) [99/135 done]: integration/psync2-master-restart (7 seconds) Testing integration/replication-4 [ok]: CLUSTER SLOT-STATS network-bytes-in, multi-exec transaction. (2816 ms) [ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (217 ms) [ok]: First server should have role slave after SLAVEOF (1 ms) [ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (217 ms) [ok]: Shutting down master waits for replica then aborted (531 ms) [ok]: corrupt payload: fuzzer findings - empty intset (218 ms) [ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (217 ms) [ok]: Shutting down primary wait for replica after previous block (521 ms) [100/135 done]: integration/shutdown (8 seconds) Testing integration/corrupt-dump-fuzzer [ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (219 ms) [ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (24175 ms) [ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (217 ms) [ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (217 ms) [ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (217 ms) [ok]: New Master down consecutively (21750 ms) [ok]: corrupt payload: fuzzer findings - stream bad lp_count (219 ms) [ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (123 ms) [ok]: corrupt payload: fuzzer findings - stream integrity check issue (218 ms) [ok]: corrupt payload: fuzzer findings - infinite loop (123 ms) [ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (219 ms) [ok]: All replicas share one global replication buffer dualchannel no (96 ms) [ok]: Replication buffer will become smaller when no replica uses dualchannel no (3 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, non slot specific command. (2731 ms) [ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (217 ms) [ok]: corrupt payload: fuzzer findings - negative reply length (122 ms) [ok]: corrupt payload: fuzzer findings - valgrind negative malloc (218 ms) [101/135 done]: unit/cluster/slave-selection (64 seconds) Testing integration/psync2-pingoff [ok]: corrupt payload: fuzzer findings - valgrind invalid read (217 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 110124) (1 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) [ok]: PSYNC2: --- CYCLE 4 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (0 ms) [ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) [ok]: corrupt payload: fuzzer findings - empty hash ziplist (219 ms) [ok]: corrupt payload: fuzzer findings - stream with no records (123 ms) [ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (218 ms) [ok]: corrupt payload: fuzzer findings - dict init to huge size (216 ms) [ok]: corrupt payload: fuzzer findings - huge string (217 ms) [ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) [ok]: PSYNC2 pingoff: setup (1003 ms) [ok]: PSYNC2 pingoff: write and wait replication (2 ms) [ok]: corrupt payload: fuzzer findings - stream PEL without consumer (219 ms) [ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (123 ms) [ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (219 ms) [ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (124 ms) [ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (220 ms) [ok]: PSYNC2: Set #2 to replicate from #4 (0 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, pub/sub. (2658 ms) [ok]: corrupt payload: fuzzer findings - empty quicklist (218 ms) [ok]: Test replication with parallel clients writing in different DBs (5331 ms) [ok]: corrupt payload: fuzzer findings - empty zset (219 ms) [ok]: corrupt payload: fuzzer findings - hash with len of 0 (217 ms) [ok]: First server should have role slave after SLAVEOF (101 ms) [ok]: With min-slaves-to-write (1,3): master should be writable (0 ms) [ok]: With min-slaves-to-write (2,3): master should not be writable (0 ms) [ok]: With min-slaves-to-write function without no-write flag (1 ms) [ok]: With not enough good slaves, read in Lua script is still accepted (0 ms) [ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (219 ms) [ok]: Replication backlog size can outgrow the backlog limit config dualchannel yes (2136 ms) [ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (220 ms) [ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) [ok]: corrupt payload: fuzzer findings - LCS OOM (221 ms) [ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (127 ms) [ok]: corrupt payload: fuzzer findings - lpFind invalid access (124 ms) [ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (222 ms) [ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (221 ms) [ok]: PSYNC2: cluster is consistent after failover (1 ms) [ok]: Only primary with slots has the right to mark a node as failed (19709 ms) [ok]: corrupt payload: fuzzer findings - streamLastValidID panic (222 ms) [ok]: Manual failover vote is not limited by two times the node timeout - mixed failover (3894 ms) [ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: no, reconnect: 1) (9572 ms) [ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (219 ms) [102/135 done]: unit/cluster/failure-marking (52 seconds) Testing integration/convert-zipmap-hash-on-load [ok]: corrupt payload: fuzzer findings - empty set listpack (220 ms) [ok]: RDB load zipmap hash: converts to listpack (1 ms) [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (221 ms) [103/135 done]: integration/corrupt-dump (15 seconds) Testing integration/psync2-reg [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (0 ms) [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (1 ms) [104/135 done]: integration/convert-zipmap-hash-on-load (1 seconds) Testing integration/cross-version-replication [ignore]: Other server path not provided [105/135 done]: integration/cross-version-replication (0 seconds) Testing integration/rdb [ok]: test old version rdb file (0 ms) [ok]: With min-slaves-to-write: master not writable with lagged slave (2726 ms) [ok]: RDB encoding loading test (8 ms) [ok]: Detect write load to master (1001 ms) [ok]: RDB future version loading, strict version check (1 ms) [ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel yes (2951 ms) [ok]: RDB future version loading, relaxed version check (6 ms) [ok]: First server should have role slave after SLAVEOF (102 ms) [ok]: PSYNC2 pingoff: pause replica and promote it (5001 ms) [ok]: Server started empty with non-existing RDB file (1 ms) [ok]: PSYNC2 #3899 regression: setup (1005 ms) [ok]: Server started empty with empty RDB file (0 ms) [ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel yes (634 ms) [ok]: Replication of an expired key does not delete the expired key (519 ms) [ok]: Sub-replica reports zero repl offset and rank, and fails to win election - shutdown (13785 ms) [ok]: Test RDB stream encoding (139 ms) [ok]: Test RDB stream encoding - sanitize dump (10 ms) [ok]: Server should not start if RDB file can't be open (1 ms) [ok]: First server should have role slave after SLAVEOF (1 ms) [ok]: Server should not start if RDB is corrupted (1 ms) [ok]: Make the old master a replica of the new one and check conditions (1008 ms) [ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9444 ms) Port 25166 was already busy, trying another port... [ok]: Test FLUSHALL aborts bgsave (512 ms) [ok]: bgsave resets the change counter (102 ms) [ok]: bgsave cancel aborts save (127 ms) [ok]: bgsave cancel schedulled request (8 ms) Port 25172 was already busy, trying another port... [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: client freed during loading (1149 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 150005) (1 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) [ok]: PSYNC2: --- CYCLE 5 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (0 ms) [ok]: PSYNC2: Set #4 to replicate from #0 (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Replication backlog size can outgrow the backlog limit config dualchannel no (2573 ms) [ok]: Test RDB load info (635 ms) [ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) [ok]: test various edge cases of repl topology changes with missing pings at the end (3531 ms) [ok]: Test child sending info (1963 ms) [ok]: script won't load anymore if it's in rdb (0 ms) [ok]: PSYNC2: Set #3 to replicate from #0 (0 ms) [ok]: failed bgsave prevents writes (313 ms) [106/135 done]: integration/rdb (7 seconds) Testing integration/convert-ziplist-zset-on-load [ok]: RDB load ziplist zset: converts to listpack when RDB loading (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel no (3111 ms) [ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (1 ms) [ok]: PSYNC2: cluster is consistent after failover (1 ms) [107/135 done]: integration/convert-ziplist-zset-on-load (1 seconds) Testing integration/aof-multi-part [ok]: Multi Part AOF can't load data when some file missing (111 ms) [ok]: Multi Part AOF can't load data when the sequence not increase monotonically (112 ms) [ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel no (542 ms) [ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (113 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled dual-channel-replication-enabled=no (21920 ms) [ok]: Multi Part AOF can't load data when there is a duplicate base file (110 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (113 ms) [ok]: Test replication with blocking lists and sorted sets operations (25004 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (110 ms) [108/135 done]: integration/block-repl (26 seconds) Testing integration/replication-2 [ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (110 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (112 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (111 ms) [ok]: First server should have role slave after SLAVEOF (103 ms) [ok]: If min-slaves-to-write is honored, write is accepted (1 ms) [ok]: No write if min-slaves-to-write is < attached slaves (1 ms) [ok]: If min-slaves-to-write is honored, write is accepted (again) (1 ms) [ok]: Multi Part AOF can't load data when the manifest file is empty (112 ms) [ok]: Multi Part AOF can start when no aof and no manifest (234 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: Multi Part AOF can start when we have en empty AOF dir (225 ms) [ok]: Multi Part AOF can load data discontinuously increasing sequence (222 ms) [ok]: Chained replicas disconnect when replica re-connect with the same master (2927 ms) [ok]: Multi Part AOF can load data when manifest add new k-v (221 ms) [ok]: Multi Part AOF can load data when some AOFs are empty (231 ms) [ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: no, reconnect: 1) (9687 ms) [ok]: Multi Part AOF can load data from old version valkey (rdb preamble no) (327 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: Multi Part AOF can load data from old version valkey (rdb preamble yes) (322 ms) [109/135 done]: integration/psync2-pingoff (17 seconds) Testing integration/failover [ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (223 ms) [ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (229 ms) [ok]: failover command fails without connected replica (0 ms) [ok]: 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 (120 ms) [ok]: setup replication for following tests (105 ms) [ok]: failover command fails with invalid host (0 ms) [ok]: failover command fails with invalid port (0 ms) [ok]: failover command fails with just force and timeout (0 ms) [ok]: failover command fails when sent to a replica (0 ms) [ok]: failover command fails with force without timeout (0 ms) [ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel yes (3158 ms) [ok]: Detect write load to master (1002 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server1) (106 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: no, reconnect: 0) (91 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server2) (105 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (625 ms) [ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (3 ms) [ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (10351 ms) [110/135 done]: integration/corrupt-dump-fuzzer (20 seconds) Testing integration/aof-race [ok]: failover command to specific replica works (860 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: Multi Part AOF can handle appendfilename contains whitespaces (326 ms) [ok]: Multi Part AOF can create BASE (RDB format) when server starts from empty (224 ms) [ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel yes (1127 ms) [ok]: Multi Part AOF can create BASE (AOF format) when server starts from empty (230 ms) [ok]: No write if min-slaves-max-lag is > of the slave lag (3829 ms) [ok]: min-slaves-to-write is ignored by slaves (1 ms) [111/135 done]: integration/aof-race (0 seconds) Testing integration/aof [ok]: CLUSTER SLOT-STATS network-bytes-in, sharded pub/sub. (5551 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 187434) (1 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) [ok]: PSYNC2: Bring the master back again for next test (3 ms) [ok]: Unfinished MULTI: Server should start if load-truncated is yes (1 ms) [ok]: PSYNC2: Partial resync after restart using RDB aux fields (150 ms) [ok]: failover command to any replica works (838 ms) [ok]: Short read: Server should start if load-truncated is yes (1 ms) [ok]: Truncated AOF loaded: we expect foo to be equal to 5 (0 ms) [ok]: Append a new command after loading an incomplete AOF (1 ms) [ok]: Detect write load to master (1000 ms) [ok]: Short read + command: Server should start (0 ms) [ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (1 ms) [ok]: failover to a replica with force works (435 ms) [ok]: Bad format: Server should have logged an error (1 ms) [ok]: Unfinished MULTI: Server should have logged an error (1 ms) [ok]: Short read: Server should have logged an error (1 ms) [ok]: Short read: Utility should confirm the AOF is not valid (7 ms) [ok]: Short read: Utility should show the abnormal line num in AOF (7 ms) [ok]: Short read: Utility should be able to fix the AOF (7 ms) [ok]: Fixed AOF: Server should have been started (1 ms) [ok]: Fixed AOF: Keyspace should contain values that were parseable (1 ms) [ok]: Automatic failover vote is not limited by two times the node timeout - mixed failover (3795 ms) [ok]: failover with timeout aborts if replica never catches up (552 ms) [ok]: failovers can be aborted (30 ms) [ok]: Changing aof-use-rdb-preamble during rewrite process (1331 ms) [ok]: AOF+SPOP: Server should have been started (1 ms) [ok]: AOF+SPOP: Set should have 1 member (0 ms) Waiting for process 4511 to exit... [ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) [112/135 done]: integration/psync2 (47 seconds) Testing integration/dual-channel-replication [ok]: AOF+SPOP: Server should have been started (0 ms) [ok]: AOF+SPOP: Set should have 1 member (1 ms) [ok]: AOF+EXPIRE: Server should have been started (1 ms) [ok]: AOF+EXPIRE: List should be empty (1 ms) [ok]: failover aborts if target rejects sync request (537 ms) [ok]: Test dual-channel-replication-enabled replica enters handshake (0 ms) [ok]: AOF enable will create manifest file (533 ms) [ok]: Server should not try to convert DEL into EXPIREAT for EXPIRE -1 (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Replication: commands with many arguments (issue #1221) (13968 ms) [ok]: Test dual-channel-replication-enabled enters wait_bgsave (1001 ms) [ok]: spopwithcount rewrite srem command (117 ms) [113/135 done]: integration/failover (4 seconds) Testing integration/valkey-cli [ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel no (3140 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: Interactive CLI: INFO response should be printed raw (101 ms) [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1273 ms) [ok]: Interactive CLI: Status reply (100 ms) [ok]: Interactive CLI: Integer reply (101 ms) [ok]: Interactive CLI: Bulk reply (101 ms) [ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (1 ms) [ok]: Interactive CLI: Multi-bulk reply (102 ms) [ok]: AOF rewrite doesn't open new aof when AOF turn off (487 ms) [ok]: Test dual-channel-replication-enabled replica is able to sync (908 ms) [ok]: Dual-channel replication counts snapshot bytes (101 ms) [ok]: Sub-replica reports zero repl offset and rank, and fails to win election - sigstop (3452 ms) [ok]: AOF enable/disable auto gc (208 ms) [ok]: AOF can produce consecutive sequence number after reload (98 ms) [ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel no (1125 ms) [114/135 done]: integration/replication-buffer (28 seconds) can't unset "::active_clients_file(sockf7d007d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d007d8" [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Interactive CLI: Parsing quotes (708 ms) [ok]: Replication of SPOP command -- alsoPropagate() API (1426 ms) [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (348 ms) [ok]: dual-channel replication reports rdb transfer bytes (101 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: First server should have role slave after SLAVEOF (102 ms) [ok]: Data divergence can happen under default conditions (3 ms) [ok]: Data divergence is allowed on writable replicas (1 ms) [ok]: AOF will trigger limit when AOFRW fails many times (565 ms) [115/135 done]: integration/replication-4 (26 seconds) can't unset "::active_clients_file(sockf7d00258)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00258" [ok]: CLUSTER SLOT-STATS network-bytes-out, for non-slot specific commands. (2582 ms) [ok]: Interactive CLI: Subscribed mode (969 ms) Port 25182 was already busy, trying another port... Port 25184 was already busy, trying another port... [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Interactive non-TTY CLI: Subscribed mode (656 ms) [ok]: Non-interactive TTY CLI: Status reply (3 ms) [ok]: Non-interactive TTY CLI: Integer reply (2 ms) [ok]: Non-interactive TTY CLI: Bulk reply (2 ms) [ok]: Non-interactive TTY CLI: Multi-bulk reply (2 ms) [ok]: Non-interactive TTY CLI: Read last argument from pipe (6 ms) [ok]: Non-interactive TTY CLI: Read last argument from file (5 ms) [ok]: Non-interactive TTY CLI: Escape character in JSON mode (17 ms) [ok]: Non-interactive non-TTY CLI: Status reply (2 ms) [ok]: Non-interactive non-TTY CLI: Integer reply (2 ms) [ok]: Non-interactive non-TTY CLI: Bulk reply (2 ms) [ok]: Non-interactive non-TTY CLI: Multi-bulk reply (2 ms) [ok]: Non-interactive non-TTY CLI: ASK redirect test (54 ms) [ok]: Non-interactive non-TTY CLI: Quoted input arguments (2 ms) [ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (4 ms) [ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (3 ms) [ok]: Non-interactive non-TTY CLI: Read last argument from pipe (6 ms) [ok]: Non-interactive non-TTY CLI: Read last argument from file (3 ms) [ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (12 ms) [ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (3 ms) [ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (14 ms) [ok]: Primary memory usage does not increase during dual-channel-replication sync (526 ms) [ok]: Steady state after dual channel sync (6 ms) [ok]: Dual channel replication sync doesn't impair subsequent normal syncs (304 ms) [ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: no, reconnect: 1) (6384 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: AOF fsync always barrier issue (5434 ms) [ok]: Toggle dual-channel-replication-enabled: yes start (551 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, for slot specific commands. (2727 ms) [ok]: MASTER and SLAVE dataset should be identical after complex ops (7814 ms) [ok]: maxmemory - policy volatile-random should only remove volatile keys. (28072 ms) [ok]: GETEX should not append to AOF (1 ms) [116/135 done]: integration/replication-2 (12 seconds) can't unset "::active_clients_file(sockf7d005d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d005d8" [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (2954 ms) [ok]: Main db not affected when fail to diskless load (83220 ms) [ok]: Unknown command: Server should have logged an error (2 ms) [117/135 done]: integration/aof-multi-part (13 seconds) can't unset "::active_clients_file(sockf7d69b58)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d69b58" [ok]: PSYNC2 #3899 regression: verify consistency (56 ms) [ok]: Detect write load to master (1001 ms) [ok]: Dumping an RDB - functions only: no (2281 ms) [ok]: AOF+LMPOP/BLMPOP: pop elements from the list (103 ms) [ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (0 ms) [ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (102 ms) [ok]: Dumping an RDB - functions only: yes (712 ms) Waiting for process 45557 to exit... [118/135 done]: integration/psync2-reg (23 seconds) can't unset "::active_clients_file(sockf7d009d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d009d8" [ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (1 ms) [ok]: Scan mode (86 ms) [ok]: Generate timestamp annotations in AOF (330 ms) [ok]: Successfully load AOF which has timestamp annotations inside (1 ms) [ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'yes' (2138 ms) Waiting for process 45557 to exit... [ok]: Truncate AOF to specific timestamp (700 ms) Waiting for process 45557 to exit... [ok]: Connecting as a replica (2125 ms) [ok]: EVAL timeout with slow verbatim Lua script from AOF (1482 ms) [ok]: EVAL can process writes from AOF in read-only replicas (229 ms) [ok]: Test valkey-check-aof for old style resp AOF (8 ms) [ok]: Test valkey-check-aof for old style resp AOF - has data in the same format as manifest (7 ms) [ok]: Test valkey-check-aof for old style rdb-preamble AOF (8 ms) [ok]: Test valkey-check-aof for Multi Part AOF with resp AOF base (7 ms) [ok]: Test valkey-check-aof for Multi Part AOF with rdb-preamble AOF base (9 ms) [ok]: Test valkey-check-aof for Multi Part AOF contains a format error (7 ms) [ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in fix mode (15 ms) [ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (7 ms) Waiting for process 45557 to exit... [ok]: FLUSHDB / FLUSHALL should persist in AOF (5 ms) [ok]: Turning appendonly on and off within a transaction (3 ms) [ok]: Piping raw protocol (1586 ms) [ok]: Options -X with illegal argument (6 ms) [ok]: DUMP RESTORE with -x option (11 ms) [ok]: DUMP RESTORE with -X option (11 ms) [ok]: Test cluster slots / cluster shards in aof won't crash (224 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, blocking commands. (5302 ms) [ok]: valkey-cli pubsub mode with single standard channel subscription (305 ms) [ok]: Test command check in aof won't crash (382 ms) [119/135 done]: integration/aof (14 seconds) can't unset "::active_clients_file(sockf7d002d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d002d8" Port 28142 was already busy, trying another port... Waiting for process 45557 to exit... [ok]: valkey-cli pubsub mode with multiple standard channel subscriptions (304 ms) [ok]: valkey-cli pubsub mode with single shard channel subscription (304 ms) [ok]: valkey-cli pubsub mode with multiple shard channel subscriptions (305 ms) [ok]: valkey-cli pubsub mode with single pattern channel subscription (305 ms) Waiting for process 45557 to exit... [ok]: valkey-cli pubsub mode with multiple pattern channel subscriptions (244 ms) [ok]: valkey-cli pubsub mode when subscribing to the same channel (304 ms) Waiting for process 45557 to exit... [ok]: valkey-cli pubsub mode with multiple subscription types (671 ms) [ok]: valkey-cli make sure selected db survives connection drops (314 ms) [ok]: Valid Connection Scheme: redis:// (3 ms) [ok]: Valid Connection Scheme: valkey:// (2 ms) [120/135 done]: integration/valkey-cli (13 seconds) can't unset "::active_clients_file(sockf7d00558)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00558" [ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: no, reconnect: 1) (8101 ms) Waiting for process 45557 to exit... [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb dual-channel-replication-enabled=no (21084 ms) [ok]: Manual failover will reset the on-going election (5129 ms) Waiting for process 45557 to exit... [ok]: Detect write load to master (1001 ms) [121/135 done]: unit/cluster/diskless-load-swapdb (104 seconds) can't unset "::active_clients_file(sockf7d00a58)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00a58" [ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - gossip (5026 ms) [ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'yes' (11160 ms) Port 25186 was already busy, trying another port... Port 25188 was already busy, trying another port... Port 25190 was already busy, trying another port... Port 25194 was already busy, trying another port... Port 25196 was already busy, trying another port... [ok]: CLUSTER SLOT-STATS network-bytes-out, replication stream egress. (2665 ms) [ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9697 ms) [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: Broadcast PONG to the cluster when the node role changes (168 ms) [ok]: Detect write load to master (1001 ms) [122/135 done]: unit/cluster/manual-failover (140 seconds) can't unset "::active_clients_file(sockf7d00658)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00658" [ok]: Toggle dual-channel-replication-enabled: no start (10980 ms) [ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'no' (2156 ms) [ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'no' (2140 ms) [ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - setslot (5029 ms) [ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9675 ms) [ok]: Slave should be able to synchronize with the master (1815 ms) [ok]: Detect write load to master (0 ms) [ok]: Empty primary will check and delete the dirty slots (56 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: yes, reconnect: 0) (176 ms) [123/135 done]: unit/cluster/replica-migration (160 seconds) can't unset "::active_clients_file(sockf7d00358)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00358" [ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, single channel. (5060 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: dual-channel-replication with multiple replicas (5451 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled dual-channel-replication-enabled=yes (24605 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, cross-slot channels. (5156 ms) [ok]: Test diverse replica sync: dual-channel on/off (5148 ms) [ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (40316 ms) [skip]: slave buffer are counted correctly [ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (6482 ms) [ok]: Test replica's buffer limit reached (1565 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: CLUSTER SLOT-STATS contains default value upon valkey-server startup (2540 ms) [ok]: Cluster is up (112 ms) [ok]: Cluster is writable (121 ms) [ok]: Instance #5 is a slave (1 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key introduction (2621 ms) [ok]: dual-channel-replication fails when primary diskless disabled (1005 ms) [ok]: Test dual-channel-replication sync- psync established after rdb load (115 ms) [ok]: client do not break when cluster slot (3066 ms) [ok]: client can handle keys with hash tag (58 ms) [ok]: slot migration is valid from primary to another primary (69 ms) [ok]: slot migration is invalid from primary to replica (56 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key mutation (2599 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (8128 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key deletion (2558 ms) [ok]: replica buffer don't induce eviction (11581 ms) [ok]: Don't rehash if used memory exceeds maxmemory after rehash (174 ms) [ok]: client tracking don't cause eviction feedback loop (1494 ms) [ok]: propagation with eviction (98 ms) [ok]: dual-channel-replication: Primary COB growth with inactive replica (4666 ms) [ok]: propagation with eviction in MULTI (94 ms) [ok]: lru/lfu value of the key just added (2 ms) [ok]: Import mode should forbid eviction (1 ms) [124/135 done]: unit/maxmemory (213 seconds) can't unset "::active_clients_file(sockf7d003d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d003d8" Waiting for process 19907 to exit... [ok]: CLUSTER SLOT-STATS slot visibility based on slot ownership changes (5110 ms) [ok]: Test dual-channel: primary tracking replica backlog refcount - start with empty backlog (118 ms) [ok]: Test dual-channel: primary tracking replica backlog refcount - start with backlog (613 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb dual-channel-replication-enabled=yes (22921 ms) [ok]: Psync established after rdb load - within grace period (129 ms) [ok]: CLUSTER SLOT-STATS SLOTSRANGE all slots present (1 ms) [ok]: CLUSTER SLOT-STATS SLOTSRANGE some slots missing (2 ms) [ok]: Psync established after RDB load - beyond grace period (2124 ms) [ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9651 ms) [ok]: slot must be unbound on the owner when it is deleted (12604 ms) Waiting for process 20630 to exit... [ok]: Slave should be able to synchronize with the master (807 ms) [ok]: Detect write load to master (1 ms) [125/135 done]: unit/cluster/cluster-slots (132 seconds) can't unset "::active_clients_file(sockf7d00758)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00758" Waiting for process 20630 to exit... [ok]: Test dual-channel-replication primary gets cob overrun before established psync (142 ms) [ok]: Test dual-channel-replication primary gets cob overrun during replica rdb load (1032 ms) [ok]: CLUSTER SLOT-STATS ORDERBY DESC correct ordering (10222 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9975 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: no, reconnect: 0) (63 ms) [ok]: Slave should be able to synchronize with the master (1819 ms) [ok]: Detect write load to master (1 ms) [ok]: Sync should continue if not all slaves dropped (11054 ms) [ok]: CLUSTER SLOT-STATS ORDERBY ASC correct ordering (10351 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is less than number of assigned slots (18 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is greater than number of assigned slots (5 ms) [ok]: CLUSTER SLOT-STATS ORDERBY arg sanity check. (1 ms) [ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: no, reconnect: 1) (6564 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (1 ms) [ok]: Master stream is correctly processed while the replica has a script in -BUSY state (27109 ms) [ok]: Diskless load swapdb (different replid): new database is exposed after swapping dual-channel=yes (0 ms) [ok]: Primary abort sync if all slaves dropped dual-channel-replication (7034 ms) [ok]: Diskless load swapdb (different replid): replica enter loading dual-channel-replication-enabled=no (435 ms) [ok]: Diskless load swapdb (different replid): old database is exposed after replication fails dual-channel=no (1 ms) [ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) [ok]: Test dual-channel-replication replica main channel disconnected (1083 ms) [ok]: Test dual channel replication slave of no one after main conn kill (1 ms) [ok]: Diskless load swapdb (async_loading): replica enter async_loading (342 ms) [ok]: Test dual-channel-replication replica rdb connection disconnected (1203 ms) [ok]: Test dual channel replication slave of no one after rdb conn kill (1 ms) [ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (874 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: no, reconnect: 1) (8121 ms) [ok]: Busy script during async loading (876 ms) [ok]: Test dual-channel-replication primary reject set-rdb-client after client killed (1097 ms) [ok]: Blocked commands and configs during async-loading (437 ms) [ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) [ok]: Slave should be able to synchronize with the master (807 ms) [ok]: Detect write load to master (0 ms) Waiting for process 23258 to exit... [ok]: Test replica unable to join dual channel replication sync after started (1106 ms) Waiting for process 23258 to exit... [ok]: Replica recover rdb-connection killed (1083 ms) Waiting for process 23258 to exit... Waiting for process 23258 to exit... [ok]: CLUSTER SLOT-STATS metrics replication for new keys (5227 ms) [ok]: Replica recover main-connection killed (1105 ms) [ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: no, reconnect: 1) (9696 ms) [ok]: CLUSTER SLOT-STATS metrics replication for existing keys (5440 ms) [ok]: Slave should be able to synchronize with the master (1817 ms) [ok]: Detect write load to master (0 ms) [ok]: Replica notice main-connection killed during rdb load callback (6870 ms) [ok]: Chained replicas can disconnect protected RDB channel client when using dual channel replication (1120 ms) [126/135 done]: integration/dual-channel-replication (115 seconds) can't unset "::active_clients_file(sockf7d001d8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d001d8" [ok]: CLUSTER SLOT-STATS metrics replication for deleting keys (5370 ms) [127/135 done]: unit/cluster/slot-stats (194 seconds) can't unset "::active_clients_file(sockf7d00958)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7d00958" [ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: no, reconnect: 1) (10900 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (1 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: yes, reconnect: 0) (96 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless loading short read (24529 ms) [ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (6515 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless no replicas drop during rdb pipe (8539 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (8110 ms) [ok]: diskless slow replicas drop during rdb pipe (3957 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless fast replicas drop during rdb pipe (6813 ms) [ok]: diskless all replicas drop during rdb pipe (1449 ms) [ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9660 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless timeout replicas drop during rdb pipe (5877 ms) [ok]: diskless replication child being killed is collected (1533 ms) [ok]: replication child dies when parent is killed - diskless: yes dual-channel-replication-enabled: yes (1170 ms) [ok]: replication child dies when parent is killed - diskless: no dual-channel-replication-enabled: no (1467 ms) [ok]: diskless replication read pipe cleanup (703 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9833 ms) [ok]: replicaof right after disconnection (1835 ms) [ok]: Kill rdb child process if its dumping RDB is not useful (923 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: no, reconnect: 0) (90 ms) [ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication yes (4 ms) [ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication yes (112 ms) [ok]: Slave should be able to synchronize with the master (809 ms) [ok]: Detect write load to master (0 ms) [ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication no (3 ms) [ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication no (110 ms) [ok]: replica can handle EINTR if use diskless load (651 ms) [ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (96 ms) [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (148 ms) [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (59 ms) [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (107 ms) [ok]: PSYNC with wrong offset should throw error (2 ms) [ok]: Test replication with lazy expire (114 ms) [ok]: replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=yes (589 ms) [ok]: replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=no (593 ms) [ok]: Replica keep the old data if RDB file save fails in disk-based replication (116 ms) [128/135 done]: integration/replication (215 seconds) can't unset "::active_clients_file(sockf7cffcd8)": no such element in array while executing "unset ::active_clients_file($fd)" (procedure "read_from_test_client" line 22) invoked from within "read_from_test_client sockf7cffcd8" [ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (6521 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (8121 ms) [ok]: Slave should be able to synchronize with the master (1814 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (9766 ms) [ok]: Slave should be able to synchronize with the master (1815 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (10916 ms) [129/135 done]: integration/replication-psync (252 seconds) Testing solo test [ignore]: large memory flag not provided [ignore]: large memory flag not provided [ignore]: large memory flag not provided [ignore]: large memory flag not provided [ignore]: large memory flag not provided [ignore]: large memory flag not provided [130/135 done]: violations (0 seconds) Testing solo test [ignore]: large memory flag not provided [131/135 done]: bitops-large-memory (0 seconds) Testing solo test Jemalloc not available. Defrag tests skipped. [132/135 done]: defrag (0 seconds) Testing solo test [ignore]: large memory flag not provided [133/135 done]: list-large-memory (0 seconds) Testing solo test [ignore]: large memory flag not provided [134/135 done]: set-large-memory (0 seconds) Testing solo test [ok]: Multiple primary nodes are down, rank them based on the failed primary (19175 ms) [135/135 done]: cluster (41 seconds) The End Execution time of different units: 0 seconds - unit/oom-score-adj 0 seconds - unit/acl-v2 1 seconds - unit/pubsub 1 seconds - unit/replybufsize 1 seconds - unit/lazyfree 1 seconds - unit/shutdown 1 seconds - unit/protocol 1 seconds - unit/limits 1 seconds - unit/networking 1 seconds - unit/bitfield 3 seconds - unit/acl 1 seconds - unit/info-command 3 seconds - unit/info 4 seconds - unit/keyspace 1 seconds - unit/commandlog 1 seconds - unit/pubsubshard 2 seconds - unit/slowlog 6 seconds - unit/querybuf 3 seconds - unit/auth 10 seconds - unit/introspection-2 11 seconds - unit/introspection 12 seconds - unit/other 11 seconds - unit/sort 0 seconds - unit/quit 1 seconds - unit/violations 3 seconds - unit/bitops 13 seconds - unit/pause 7 seconds - unit/multi 1 seconds - unit/tls 4 seconds - unit/memefficiency 13 seconds - unit/obuf-limits 18 seconds - unit/latency-monitor 9 seconds - unit/functions 5 seconds - unit/type/hash 0 seconds - unit/type/incr 9 seconds - unit/type/set 16 seconds - unit/expire 28 seconds - unit/dump 28 seconds - unit/scripting 5 seconds - unit/type/stream-cgroups 0 seconds - unit/cluster/cluster-response-tls 9 seconds - unit/type/string 16 seconds - unit/type/list 19 seconds - unit/type/stream 33 seconds - unit/geo 17 seconds - unit/type/list-2 25 seconds - unit/scan 3 seconds - unit/cluster/half-migrated-slot 12 seconds - unit/cluster/sharded-pubsub 28 seconds - unit/wait 8 seconds - unit/cluster/base 28 seconds - unit/type/zset 16 seconds - unit/cluster/replica-in-sync 11 seconds - unit/cluster/misc 19 seconds - unit/cluster/manual-takeover 48 seconds - unit/aofrw 52 seconds - unit/client-eviction 6 seconds - unit/cluster/human-announced-nodename 1 seconds - unit/cluster/shardid-propagation 12 seconds - unit/cluster/pubsubshard-slot-migration 15 seconds - unit/cluster/no-failover-option 15 seconds - unit/cluster/pubsub 12 seconds - unit/cluster/announced-endpoints 1 seconds - unit/cluster/divergent-cluster-shardid-conf 47 seconds - unit/type/list-3 65 seconds - unit/hyperloglog 8 seconds - unit/cluster/info 2 seconds - unit/cluster/scripting 30 seconds - unit/cluster/cli 3 seconds - unit/cluster/cluster-multiple-meets 27 seconds - unit/cluster/announce-client-ip 3 seconds - unit/cluster/slot-migration-response 26 seconds - unit/cluster/cluster-reliable-meet 13 seconds - unit/cluster/transactions-on-replica 47 seconds - unit/cluster/many-slot-migration 19 seconds - unit/cluster/consistency-check 14 seconds - unit/cluster/hostnames 13 seconds - unit/cluster/faildet 14 seconds - unit/cluster/cluster-shards 12 seconds - unit/cluster/pubsubshard 2 seconds - unit/cluster/packet 23 seconds - unit/cluster/update-msg 12 seconds - unit/cluster/cluster-nodes-slots 12 seconds - unit/cluster/noaddr 24 seconds - unit/cluster/links 2 seconds - integration/replica-redirect 3 seconds - unit/cluster/multi-slot-operations 50 seconds - unit/cluster/slot-ownership 85 seconds - unit/cluster/slot-migration 34 seconds - unit/cluster/failover 4 seconds - integration/dismiss-mem 12 seconds - integration/replication-3 93 seconds - unit/cluster/failover2 0 seconds - integration/convert-ziplist-hash-on-load 42 seconds - unit/cluster/slave-stop-cond 1 seconds - integration/skip-rdb-checksum 1 seconds - integration/logging 1 seconds - integration/valkey-benchmark 7 seconds - integration/psync2-master-restart 8 seconds - integration/shutdown 64 seconds - unit/cluster/slave-selection 52 seconds - unit/cluster/failure-marking 15 seconds - integration/corrupt-dump 1 seconds - integration/convert-zipmap-hash-on-load 0 seconds - integration/cross-version-replication 7 seconds - integration/rdb 1 seconds - integration/convert-ziplist-zset-on-load 26 seconds - integration/block-repl 17 seconds - integration/psync2-pingoff 20 seconds - integration/corrupt-dump-fuzzer 0 seconds - integration/aof-race 47 seconds - integration/psync2 4 seconds - integration/failover 28 seconds - integration/replication-buffer 26 seconds - integration/replication-4 12 seconds - integration/replication-2 13 seconds - integration/aof-multi-part 23 seconds - integration/psync2-reg 14 seconds - integration/aof 13 seconds - integration/valkey-cli 104 seconds - unit/cluster/diskless-load-swapdb 140 seconds - unit/cluster/manual-failover 160 seconds - unit/cluster/replica-migration 213 seconds - unit/maxmemory 132 seconds - unit/cluster/cluster-slots 115 seconds - integration/dual-channel-replication 194 seconds - unit/cluster/slot-stats 215 seconds - integration/replication 252 seconds - integration/replication-psync 0 seconds - violations 0 seconds - bitops-large-memory 0 seconds - defrag 0 seconds - list-large-memory 0 seconds - set-large-memory 41 seconds - cluster \o/ All tests passed without errors! Cleanup: may take some time... OK >>> valkey: Entering fakeroot... cd src && make install make[1]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src' CC Makefile.dep CC release.o LINK valkey-server LINK valkey-cli LINK valkey-benchmark INSTALL valkey-sentinel INSTALL valkey-check-rdb INSTALL valkey-check-aof Hint: It's a good idea to run 'make test' ;) INSTALL valkey-server INSTALL valkey-benchmark INSTALL valkey-cli INSTALL SYMLINK redis-server -> valkey-server INSTALL SYMLINK redis-cli -> valkey-cli INSTALL SYMLINK redis-benchmark -> valkey-benchmark INSTALL SYMLINK redis-check-rdb -> valkey-check-rdb INSTALL SYMLINK redis-check-aof -> valkey-check-aof INSTALL SYMLINK redis-sentinel -> valkey-sentinel make[1]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-8.1.7/src' >>> valkey-benchmark*: Running split function benchmark... 'usr/bin/valkey-benchmark' -> '/home/buildozer/aports/main/valkey/pkg/valkey-benchmark/usr/bin/valkey-benchmark' >>> valkey-benchmark*: Preparing subpackage valkey-benchmark... >>> valkey-benchmark*: Stripping binaries >>> valkey-benchmark*: Running postcheck for valkey-benchmark >>> valkey-cli*: Running split function cli... 'usr/bin/valkey-cli' -> '/home/buildozer/aports/main/valkey/pkg/valkey-cli/usr/bin/valkey-cli' >>> valkey-cli*: Preparing subpackage valkey-cli... >>> valkey-cli*: Stripping binaries >>> valkey-cli*: Running postcheck for valkey-cli >>> valkey-compat*: Running split function compat... 'usr/bin/redis-benchmark' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-benchmark' 'usr/bin/redis-check-aof' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-check-aof' 'usr/bin/redis-check-rdb' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-check-rdb' 'usr/bin/redis-cli' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-cli' 'usr/bin/redis-sentinel' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-sentinel' 'usr/bin/redis-server' -> '/home/buildozer/aports/main/valkey/pkg/valkey-compat/usr/bin/redis-server' >>> valkey-compat*: Preparing subpackage valkey-compat... >>> valkey-compat*: Script found. /bin/sh added as a dependency for valkey-compat-8.1.7-r0.apk >>> valkey-compat*: Adding .pre-install >>> valkey-compat*: Running postcheck for valkey-compat >>> valkey-openrc*: Running split function openrc... 'etc/conf.d' -> '/home/buildozer/aports/main/valkey/pkg/valkey-openrc/etc/conf.d' 'etc/init.d' -> '/home/buildozer/aports/main/valkey/pkg/valkey-openrc/etc/init.d' >>> valkey-openrc*: Preparing subpackage valkey-openrc... >>> valkey-openrc*: Running postcheck for valkey-openrc >>> valkey*: Running postcheck for valkey >>> valkey*: Preparing package valkey... >>> valkey*: Stripping binaries >>> valkey*: Script found. /bin/sh added as a dependency for valkey-8.1.7-r0.apk >>> valkey*: Adding .pre-install >>> valkey*: Adding .post-install >>> valkey-benchmark*: Scanning shared objects >>> valkey-cli*: Scanning shared objects >>> valkey-compat*: Scanning shared objects >>> valkey-openrc*: Scanning shared objects >>> valkey*: Scanning shared objects >>> valkey-benchmark*: Tracing dependencies... so:libc.musl-x86.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey-benchmark*: Package size: 301.7 KB >>> valkey-benchmark*: Compressing data... >>> valkey-benchmark*: Create checksum... >>> valkey-benchmark*: Create valkey-benchmark-8.1.7-r0.apk >>> valkey-cli*: Tracing dependencies... so:libc.musl-x86.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey-cli*: Package size: 489.3 KB >>> valkey-cli*: Compressing data... >>> valkey-cli*: Create checksum... >>> valkey-cli*: Create valkey-cli-8.1.7-r0.apk >>> valkey-compat*: Tracing dependencies... !redis !redict-compat /bin/sh valkey-cli=8.1.7-r0 valkey=8.1.7-r0 >>> valkey-compat*: Package size: 1.0 B >>> valkey-compat*: Compressing data... >>> valkey-compat*: Create checksum... >>> valkey-compat*: Create valkey-compat-8.1.7-r0.apk >>> valkey-openrc*: Tracing dependencies... >>> valkey-openrc*: Package size: 2.3 KB >>> valkey-openrc*: Compressing data... >>> valkey-openrc*: Create checksum... >>> valkey-openrc*: Create valkey-openrc-8.1.7-r0.apk >>> valkey*: Tracing dependencies... /bin/sh so:libc.musl-x86.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey*: Package size: 2.9 MB >>> valkey*: Compressing data... >>> valkey*: Create checksum... >>> valkey*: Create valkey-8.1.7-r0.apk >>> valkey: Build complete at Sun, 10 May 2026 14:14:36 +0000 elapsed time 0h 7m 26s >>> valkey: Cleaning up srcdir >>> valkey: Cleaning up pkgdir >>> valkey: Uninstalling dependencies... (1/10) Purging .makedepends-valkey (20260510.140711) (2/10) Purging linux-headers (6.14.2-r0) (3/10) Purging openssl-dev (3.5.6-r0) (4/10) Purging tcl (8.6.16-r0) (5/10) Purging tzdata (2026b-r0) (6/10) Purging procps-ng (4.0.4-r3) (7/10) Purging libintl (0.24.1-r0) (8/10) Purging libproc2 (4.0.4-r3) (9/10) Purging utmps-libs (0.1.3.1-r0) (10/10) Purging skalibs-libs (2.14.4.0-r0) Executing busybox-1.37.0-r20.trigger OK: 400 MiB in 104 packages >>> valkey: Updating the main/x86 repository index... >>> valkey: Signing the index...