>>> valkey: Building main/valkey 9.0.0-r0 (using abuild 3.16.0_rc4-r0) started Mon, 17 Nov 2025 14:18:51 +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.16.12-r0) ( 2/10) Installing openssl-dev (3.5.4-r0) ( 3/10) Installing tzdata (2025b-r0) ( 4/10) Installing tcl (8.6.17-r0) ( 5/10) Installing libintl (0.24.1-r1) ( 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 (20251117.141852) busybox-1.37.0-r25.trigger: Executing script... OK: 400 MiB in 117 packages >>> valkey: Cleaning up srcdir >>> valkey: Cleaning up pkgdir >>> valkey: Cleaning up tmpdir >>> valkey: Fetching https://distfiles.alpinelinux.org/distfiles/edge//valkey-9.0.0.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/9.0.0/valkey-9.0.0.tar.gz Connecting to github.com (20.26.156.215:443) Connecting to codeload.github.com (20.26.156.216:443) saving to '/var/cache/distfiles/edge/valkey-9.0.0.tar.gz.part' valkey-9.0.0.tar.gz. 100% |********************************| 4017k 0:00:00 ETA '/var/cache/distfiles/edge/valkey-9.0.0.tar.gz.part' saved /var/cache/distfiles/edge/valkey-9.0.0.tar.gz: OK /home/buildozer/aports/main/valkey/valkey.conf.patch: OK /home/buildozer/aports/main/valkey/sentinel.conf.patch: OK /home/buildozer/aports/main/valkey/valkey.initd: OK /home/buildozer/aports/main/valkey/valkey.confd: OK /home/buildozer/aports/main/valkey/valkey-sentinel.initd: OK /home/buildozer/aports/main/valkey/valkey-sentinel.confd: OK >>> valkey: Fetching https://distfiles.alpinelinux.org/distfiles/edge//valkey-9.0.0.tar.gz /var/cache/distfiles/edge/valkey-9.0.0.tar.gz: OK /home/buildozer/aports/main/valkey/valkey.conf.patch: OK /home/buildozer/aports/main/valkey/sentinel.conf.patch: OK /home/buildozer/aports/main/valkey/valkey.initd: OK /home/buildozer/aports/main/valkey/valkey.confd: OK /home/buildozer/aports/main/valkey/valkey-sentinel.initd: OK /home/buildozer/aports/main/valkey/valkey-sentinel.confd: OK >>> valkey: Unpacking /var/cache/distfiles/edge/valkey-9.0.0.tar.gz... >>> valkey: valkey.conf.patch patching file valkey.conf Hunk #1 succeeded at 163 (offset 10 lines). Hunk #2 succeeded at 374 (offset 24 lines). Hunk #3 succeeded at 392 (offset 24 lines). Hunk #4 succeeded at 421 (offset 24 lines). Hunk #5 succeeded at 612 (offset 25 lines). Hunk #6 succeeded at 2614 (offset 98 lines). >>> valkey: sentinel.conf.patch patching file sentinel.conf cd src && make all make[1]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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 trace/*.o trace/*.d *.o *.gcda *.gcno *.gcov valkey.info lcov-html Makefile.dep *.so rm -f threads_mngr.d adlist.d vector.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 cluster_migrateslots.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 lolwut9.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 entry.d vset.d lua/script_lua.d lua/function_lua.d lua/engine_lua.d lua/debug_lua.d trace/trace.d trace/trace_commands.d trace/trace_db.d trace/trace_cluster.d trace/trace_server.d trace/trace_rdb.d trace/trace_aof.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 sds.d util.d sha256.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 sds.d util.d sha256.d (cd ../deps && make distclean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps' (cd libvalkey && 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-9.0.0/deps' (cd modules && make clean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/src/modules' rm -rf *.xo *.so make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/src/modules' (cd ../tests/modules && make clean) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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 unsupported_features.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 unsupported_features.xo make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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 -Werror=undef >> .make-settings echo OPT=-O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer >> .make-settings echo MALLOC=libc >> .make-settings echo BUILD_TLS=yes >> .make-settings echo BUILD_RDMA= >> .make-settings echo USE_SYSTEMD= >> .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 >> .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 -Werror=undef -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/libvalkey/include -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 -O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer -g -ggdb -rdynamic >> .make-settings (cd ../deps && make libvalkey linenoise lua hdr_histogram fpconv) make[2]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps' (cd libvalkey && 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" > .make-ldflags) MAKE libvalkey cd libvalkey && make static SDS_INCLUDE_DIR=../../src/ DICT_INCLUDE_DIR=../../src/ USE_TLS=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" AR="ar rc" MAKE hdr_histogram cd hdr_histogram && make MAKE fpconv cd fpconv && make make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/libvalkey' make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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-9.0.0/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 make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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 make[3]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/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 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 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 mkdir -p obj mkdir -p lib cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/tls.c -o obj/tls.o ar rcs libfpconv.a fpconv_dtoa.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/fpconv' cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/adlist.c -o obj/adlist.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/alloc.c -o obj/alloc.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/async.c -o obj/async.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/cluster.c -o obj/cluster.o 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 -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 ar rcs libhdrhistogram.a hdr_histogram.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/hdr_histogram' 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 -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 make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/linenoise' 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 -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 -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 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/command.c -o obj/command.o 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 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/conn.c -o obj/conn.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/crc16.c -o obj/crc16.o 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 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/net.c -o obj/net.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/read.c -o obj/read.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/sockcompat.c -o obj/sockcompat.o 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 -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/valkey.c -o obj/valkey.o cc -std=c99 -pedantic -O3 -fPIC -fvisibility=hidden -Os -fstack-clash-protection -Wformat -Werror=format-security -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto -DVALKEY_TEST_TLS -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -I../../src/ -I../../src/ -MMD -MP -c src/vkutil.c -o obj/vkutil.o ar rcs lib/libvalkey_tls.a obj/tls.o 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 ar rcs lib/libvalkey.a obj/adlist.o obj/alloc.o obj/async.o obj/cluster.o obj/command.o obj/conn.o obj/crc16.o obj/net.o obj/read.o obj/sockcompat.o obj/valkey.o obj/vkutil.o make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/libvalkey' 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 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 lua.o liblua.a -lm cc -o luac -Wl,--as-needed,-O1,--sort-common luac.o print.o liblua.a -lm make[3]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps/lua/src' make[2]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/deps' CC threads_mngr.o CC adlist.o CC vector.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 cluster_migrateslots.o CC endianconv.o CC commandlog.o CC eval.o CC bio.o CC rio.o CC rand.o CC memtest.o CC syscheck.o CC crcspeed.o CC crccombine.o CC crc64.o CC bitops.o CC sentinel.o CC notify.o CC setproctitle.o CC blocked.o CC hyperloglog.o CC latency.o CC sparkline.o 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 CC geohash.o CC geohash_helper.o CC childinfo.o CC allocator_defrag.o CC defrag.o CC siphash.o CC rax.o CC t_stream.o CC listpack.o CC localtime.o CC lolwut.o CC lolwut5.o CC lolwut6.o CC lolwut9.o CC acl.o CC tracking.o CC socket.o CC tls.o CC sha256.o CC timeout.o CC setcpuaffinity.o CC monotonic.o CC mt19937-64.o CC resp_parser.o CC call_reply.o CC script.o CC functions.o CC commands.o CC strl.o CC connection.o CC unix.o CC logreqres.o CC rdma.o CC scripting_engine.o CC entry.o CC vset.o CC lua/script_lua.o CC lua/function_lua.o CC lua/engine_lua.o CC lua/debug_lua.o CC trace/trace.o CC trace/trace_commands.o CC trace/trace_db.o CC trace/trace_cluster.o CC trace/trace_server.o CC trace/trace_rdb.o CC trace/trace_aof.o CC valkey-cli.o CC serverassert.o CC cli_common.o CC cli_commands.o CC valkey-benchmark.o LINK valkey-benchmark LINK valkey-server LINK valkey-cli INSTALL valkey-sentinel INSTALL valkey-check-rdb 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-9.0.0/src' cd src && make test make[1]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/src' CC Makefile.dep CC release.o LINK valkey-server LINK valkey-cli LINK valkey-benchmark INSTALL valkey-check-aof INSTALL valkey-check-rdb Cleanup: may take some time... OK Starting test server at port 21079 [ready]: 26431 Testing unit/dump [ready]: 26432 Testing unit/other [ready]: 26433 Testing unit/querybuf [ready]: 26436 Testing unit/introspection-2 [ready]: 26435 Testing unit/latency-monitor [ready]: 26437 Testing unit/keyspace [ready]: 26438 Testing unit/sort [ready]: 26434 Testing unit/functions [ready]: 26439 Testing unit/hashexpire [ready]: 26440 Testing unit/geo [ready]: 26441 Testing unit/replybufsize [ready]: 26442 Testing unit/memefficiency [ready]: 26443 Testing unit/hyperloglog [ready]: 26445 Testing unit/introspection [ready]: 26444 Testing unit/acl [ready]: 26446 Testing unit/client-eviction [ok]: DEL against a single item (1 ms) [ok]: Vararg DEL (0 ms) [ok]: LATENCY HISTOGRAM with empty histogram (0 ms) [ok]: Untagged multi-key commands (0 ms) [ok]: KEYS with pattern (0 ms) [ok]: LATENCY HISTOGRAM all commands (1 ms) [ok]: KEYS to get all keys (0 ms) [ok]: DBSIZE (0 ms) [ok]: LATENCY HISTOGRAM sub commands (0 ms) [ok]: KEYS with hashtag (0 ms) [ok]: LATENCY HISTOGRAM with a subset of commands (2 ms) [ok]: DEL all keys (3 ms) [ok]: LATENCY HISTOGRAM command (1 ms) [ok]: KEYS with empty DB (1 ms) [ignore]: CVE-2025-32023: Sparse HLL XZERO overflow triggers crash: large memory flag not provided [ok]: Coverage: HELP commands (2 ms) [ok]: Coverage: MEMORY MALLOC-STATS (0 ms) [ok]: FUNCTION - Basic usage (0 ms) [ok]: FUNCTION - Load with unknown argument (0 ms) [ok]: FUNCTION - Create an already exiting library raise error (0 ms) [ok]: Coverage: MEMORY PURGE (1 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 (0 ms) [ok]: Coverage: ECHO (0 ms) [ok]: FUNCTION - Test uncompiled script (0 ms) [ok]: FUNCTION - test replace argument (0 ms) [ok]: FUNCTION - test function case insensitive (0 ms) [ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (3 ms) [ok]: GEO with wrong type src key (3 ms) [ok]: FUNCTION - test replace argument with failure keeps old libraries (0 ms) [ok]: The microsecond part of the TIME command will not overflow (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]: GEO with non existing src key (1 ms) [ok]: FUNCTION - test fcall negative number of keys (0 ms) [ok]: GEO BYLONLAT with empty search (0 ms) [ok]: FUNCTION - test delete on not exiting library (0 ms) [ok]: GEO BYMEMBER with non existing member (1 ms) [ok]: FUNCTION - test function kill when function is not running (0 ms) [ok]: GEOADD create (1 ms) [ok]: FUNCTION - test wrong subcommand (0 ms) [ok]: GEOADD update (0 ms) [ok]: GEOADD update with CH option (0 ms) [ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) [ok]: GEOADD update with NX option (0 ms) [ok]: GEOADD update with XX option (1 ms) [ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) [ok]: Connections start with the default user (0 ms) [ok]: GEOADD update with CH NX option (0 ms) [ok]: It is possible to create new users (0 ms) [ok]: Coverage: ACL USERS (0 ms) [ok]: Listpack: SORT BY key (0 ms) [ok]: GEOADD update with CH XX option (0 ms) [ok]: PING (0 ms) [ok]: Listpack: SORT BY key with limit (0 ms) [ok]: RESTORE can set an expire that overflows a 32 bit integer (1 ms) [ok]: CLIENT LIST (0 ms) [ok]: GEOADD update with XX NX option will return syntax error (0 ms) [ok]: Usernames can not contain spaces or null characters (0 ms) [ok]: New users start disabled (1 ms) [ok]: GEOADD update with invalid option (1 ms) [ok]: HGETEX EX expiry (1 ms) [ok]: CLIENT LIST with IDs (0 ms) [ok]: Listpack: SORT BY hash field (1 ms) [ok]: GEOADD invalid coordinates (0 ms) [ok]: CLIENT INFO (0 ms) [ok]: Enabling the user allows the login (0 ms) [ok]: RESTORE can set an absolute expire (0 ms) [ok]: CLIENT LIST with ADDR filter (1 ms) [ok]: CLIENT LIST with LADDR filter (0 ms) [ok]: CLIENT LIST with MAXAGE filter (0 ms) [ok]: GEOADD multi add (0 ms) [ok]: HGETEX EX with mix of existing and non-existing fields (0 ms) [ok]: Only the set of correct passwords work (1 ms) [ok]: CLIENT LIST with TYPE filter (0 ms) [ok]: Check geoset values (1 ms) [ok]: It is possible to remove passwords from the set of valid ones (0 ms) [ok]: CLIENT LIST with USER filter (0 ms) [ok]: GEORADIUS simple (sorted) (0 ms) [ok]: HGETEX EX on more then 1 field (0 ms) [ok]: RESTORE with ABSTTL in the past (1 ms) [ok]: Test password hashes can be added (0 ms) [ok]: CLIENT LIST with SKIPME filter (0 ms) [ok]: GEORADIUS_RO simple (sorted) (0 ms) [ok]: Test password hashes validate input (0 ms) [ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) [ok]: GEOSEARCH simple (sorted) (1 ms) [ok]: HGETEX EX -> PERSIST (1 ms) [ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) [ok]: Test hashed passwords removal (0 ms) [ok]: HGETEX EX on non-exist field (0 ms) [ok]: CLIENT LIST with multiple IDs and TYPE filter (1 ms) [ok]: RESTORE can set LRU (1 ms) [ok]: By default users are not able to access any command (0 ms) [ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (0 ms) [ok]: HGETEX EX on non-exist key (0 ms) [ok]: By default users are not able to access any key (0 ms) [ok]: HGETEX EX with duplicate field names (1 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (1 ms) [ok]: CLIENT LIST with filters matching no clients (1 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (0 ms) [ok]: HGETEX EX overwrites existing field TTL with bigger value (0 ms) [ok]: CLIENT LIST with NAME filter (0 ms) [ok]: It's possible to allow the access of a subset of keys (1 ms) [ok]: RESTORE can set LFU (1 ms) [ok]: GEOSEARCH with STOREDIST option (0 ms) [ok]: CLIENT LIST with FLAGS filter (0 ms) [ok]: GEORADIUS withdist (sorted) (0 ms) [ok]: RESTORE returns an error of the key already exists (0 ms) [ok]: HGETEX EX overwrites existing field TTL with smaller value (0 ms) [ok]: CLIENT LIST with TYPE filter (0 ms) [ok]: By default, only default user is able to publish to any channel (1 ms) [ok]: CLIENT LIST with multiple filters (1 ms) [ok]: GEOSEARCH withdist (sorted) (1 ms) [ok]: GEORADIUS with COUNT (0 ms) [ok]: HGETEX PX expiry (1 ms) [ok]: By default, only default user is not able to publish to any shard channel (0 ms) [ok]: SAVE - make sure there are all the types as values (9 ms) [ok]: RESTORE can overwrite an existing key with REPLACE (1 ms) [ok]: HGETEX PX with mix of existing and non-existing fields (1 ms) [ok]: RESTORE can detect a syntax error for unrecognized options (1 ms) [ok]: GEORADIUS with multiple WITH* tokens (1 ms) [ok]: HGETEX PX on more then 1 field (0 ms) [ok]: GEORADIUS with ANY not sorted by default (0 ms) [ok]: By default, only default user is able to subscribe to any channel (1 ms) [ok]: FUNCTION - test loading from rdb (10 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]: By default, only default user is able to subscribe to any shard channel (0 ms) [ok]: HGETEX PX -> PERSIST (2 ms) [ok]: GEORADIUS HUGE, issue #2767 (1 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) [ok]: HGETEX PX on non-exist field (0 ms) [ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) [ok]: HGETEX PX on non-exist key (0 ms) [ok]: GEORADIUSBYMEMBER member does not exist (0 ms) [ok]: HGETEX PX with duplicate field names (0 ms) [ok]: HGETEX PX overwrites existing field TTL with bigger value (0 ms) [ok]: By default, only default user is able to subscribe to any pattern (2 ms) [ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (1 ms) [ok]: HGETEX PX overwrites existing field TTL with smaller value (0 ms) [ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) [ok]: GEOSEARCH FROMMEMBER member does not exist (0 ms) [ok]: It's possible to allow publishing to a subset of channels (0 ms) [ok]: GEOSEARCH FROMMEMBER simple (sorted) (0 ms) [ok]: HGETEX EXAT expiry (0 ms) [ok]: GEOSEARCH vs GEORADIUS (1 ms) [ok]: HGETEX EXAT with mix of existing and non-existing fields (1 ms) [ok]: HGETEX EXAT on more then 1 field (0 ms) [ok]: GEOSEARCH non square, long and narrow (0 ms) [ok]: It's possible to allow publishing to a subset of shard channels (1 ms) [ok]: GEOSEARCH corner point test (1 ms) [ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) [ok]: GEOHASH is able to return geohash strings (0 ms) [ok]: HGETEX EXAT -> PERSIST (1 ms) [ok]: HGETEX EXAT on non-exist field (0 ms) [ok]: GEOHASH with only key as argument (0 ms) [ok]: HGETEX EXAT on non-exist key (0 ms) [ok]: GEOPOS simple (0 ms) [ok]: HGETEX EXAT with duplicate field names (1 ms) [ok]: Validate subset of channels is prefixed with resetchannels flag (2 ms) [ok]: GEOPOS missing element (0 ms) [ok]: HGETEX EXAT overwrites existing field TTL with bigger value (0 ms) [ok]: GEOPOS with only key as argument (0 ms) [ok]: HGETEX EXAT overwrites existing field TTL with smaller value (0 ms) [ok]: GEODIST simple & unit (0 ms) [ok]: HGETEX PXAT expiry (1 ms) [ok]: FUNCTION - test debug reload different options (6 ms) [ok]: GEODIST missing elements (1 ms) [ok]: GEORADIUS STORE option: syntax error (0 ms) [ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) [ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (1 ms) [ok]: HGETEX PXAT with mix of existing and non-existing fields (0 ms) [ok]: HGETEX PXAT on more then 1 field (1 ms) [ok]: It's possible to allow subscribing to a subset of channels (1 ms) [ok]: GEORANGE STORE option: incompatible options (1 ms) [ok]: HGETEX PXAT -> PERSIST (0 ms) [ok]: GEORANGE STORE option: plain usage (0 ms) [ok]: HGETEX PXAT on non-exist field (0 ms) [ok]: HGETEX PXAT on non-exist key (1 ms) [ok]: HGETEX PXAT with duplicate field names (0 ms) [ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (0 ms) [ok]: HGETEX PXAT overwrites existing field TTL with bigger value (0 ms) [ok]: GEORANGE STOREDIST option: plain usage (0 ms) [ok]: HGETEX PXAT overwrites existing field TTL with smaller value (0 ms) [ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) [ok]: It's possible to allow subscribing to a subset of shard channels (2 ms) [ok]: HGETEX EX overwrites existing field TTL with bigger value (1 ms) [ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (0 ms) [ok]: HGETEX EX overwrites existing field TTL with smaller value (0 ms) [ok]: It's possible to allow subscribing to a subset of channel patterns (0 ms) [ok]: GEOSEARCH the box spans -180° or 180° (1 ms) [ok]: HGETEX PX overwrites existing field TTL with bigger value (1 ms) [ok]: GEOSEARCH with small distance (0 ms) [ok]: FUNCTION - test debug reload with nosave and noflush (4 ms) [ok]: HGETEX PX overwrites existing field TTL with smaller value (0 ms) [ok]: HGETEX EXAT overwrites existing field TTL with bigger value (1 ms) [ok]: HGETEX EXAT overwrites existing field TTL with smaller value (0 ms) [ok]: HGETEX PXAT overwrites existing field TTL with bigger value (0 ms) [ok]: Subscribers are killed when revoked of channel permission (2 ms) [ok]: HGETEX PXAT overwrites existing field TTL with smaller value (1 ms) [ok]: GEOSEARCH BYPOLYGON standard operations (2 ms) [ok]: FUNCTION - test flushall and flushdb do not clean functions (2 ms) [ok]: Subscribers are killed when revoked of channel permission (1 ms) [ok]: HGETEX - verify no change when field does not exist (0 ms) [ok]: HGETEX EX- multiple options used (EX + PX) (1 ms) [ok]: HGETEX EXAT- multiple options used (EXAT + PXAT) (0 ms) [ok]: HGETEX EX- missing TTL value (0 ms) [ok]: HGETEX EX- negative TTL (0 ms) [ok]: Subscribers are killed when revoked of pattern permission (2 ms) [ok]: HGETEX EX- non-integer TTL (1 ms) [ok]: GEOSEARCH BYPOLYGON across hemispheres (2 ms) [ok]: HGETEX EX- missing FIELDS keyword (0 ms) [ok]: FUNCTION - test function dump and restore (2 ms) [ok]: HGETEX EX- wrong numfields count (too few fields) (0 ms) [ok]: HGETEX EX- wrong numfields count (too many fields) (0 ms) [ok]: HGETEX EX- key is wrong type (string instead of hash) (1 ms) [ok]: GEOSEARCH BYPOLYGON overlapping edges (1 ms) [ok]: Subscribers are killed when revoked of allchannels permission (1 ms) [ok]: HGETEX EX with FIELDS 0 (0 ms) [ok]: GEOSEARCH with exact zero distances (0 ms) [ok]: HGETEX EX with negative numfields (0 ms) [ok]: FUNCTION - test function dump and restore with flush argument (1 ms) [ok]: HGETEX EX with missing key (0 ms) [ok]: HGETEX PX- missing TTL value (1 ms) [ok]: HGETEX PX- negative TTL (0 ms) [ok]: HGETEX PX- non-integer TTL (0 ms) [ok]: HGETEX PX- missing FIELDS keyword (0 ms) [ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (1 ms) [ok]: FUNCTION - test function dump and restore with append argument (2 ms) [ok]: HGETEX PX- wrong numfields count (too few fields) (3 ms) [ok]: HGETEX PX- wrong numfields count (too many fields) (0 ms) [ok]: HGETEX PX- key is wrong type (string instead of hash) (0 ms) [ok]: HGETEX PX with FIELDS 0 (0 ms) [ok]: FUNCTION - test function dump and restore with replace argument (2 ms) [ok]: HGETEX PX with negative numfields (0 ms) [ok]: HGETEX PX with missing key (0 ms) [ok]: HGETEX EXAT- missing TTL value (0 ms) [ok]: HGETEX EXAT- negative TTL (1 ms) [ok]: HGETEX EXAT- non-integer TTL (0 ms) [ok]: HGETEX EXAT- missing FIELDS keyword (0 ms) [ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) [ok]: HGETEX EXAT- wrong numfields count (too few fields) (0 ms) [ok]: blocked command gets rejected when reprocessed after permission change (4 ms) [ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) [ok]: HGETEX EXAT- wrong numfields count (too many fields) (0 ms) [ok]: HGETEX EXAT- key is wrong type (string instead of hash) (0 ms) [ok]: FUNCTION - test fcall_ro with write command (0 ms) [ok]: FUNCTION - test fcall_ro with read only commands (0 ms) [ok]: Users can be configured to authenticate with any password (0 ms) [ok]: FUNCTION - test keys and argv (0 ms) [ok]: HGETEX EXAT with FIELDS 0 (1 ms) [ok]: FUNCTION - test command get keys on fcall (0 ms) [ok]: HGETEX EXAT with negative numfields (0 ms) [ok]: FUNCTION - test command get keys on fcall_ro (0 ms) [ok]: HGETEX EXAT with missing key (0 ms) [ok]: HGETEX PXAT- missing TTL value (0 ms) [ok]: ACLs can exclude single commands (1 ms) [ok]: HGETEX PXAT- negative TTL (0 ms) [ok]: HGETEX PXAT- non-integer TTL (0 ms) [ok]: HGETEX PXAT- missing FIELDS keyword (0 ms) [ok]: HGETEX PXAT- wrong numfields count (too few fields) (1 ms) [ok]: HGETEX PXAT- wrong numfields count (too many fields) (0 ms) [ok]: HGETEX PXAT- key is wrong type (string instead of hash) (0 ms) [ok]: HGETEX PXAT with FIELDS 0 (0 ms) [ok]: HGETEX PXAT with negative numfields (0 ms) [ok]: HGETEX PXAT with missing key (0 ms) [ok]: ACLs can include or exclude whole classes of commands (7 ms) [ok]: ACLs can include single subcommands (2 ms) [ok]: ACLs can exclude single subcommands, case 1 (9 ms) [ok]: client evicted due to large argv (44 ms) [ok]: ACLs can exclude single subcommands, case 2 (1 ms) [ok]: ACLs cannot include a subcommand with a specific arg (0 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 (0 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 (1 ms) [ok]: ACLs set can exclude subcommands, if already full command exists (3 ms) [ok]: ACL SETUSER RESET reverting to default newly created user (0 ms) [ok]: ACL GETUSER is able to translate back command permissions (1 ms) [ok]: ACL GETUSER provides reasonable results (13 ms) [ok]: ACL GETUSER provides correct results (5 ms) [ok]: ACL CAT with illegal arguments (0 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 (0 ms) [ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) [ok]: client evicted due to large query buf (30 ms) [ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (5 ms) [ok]: ACL LOG shows failed command executions at toplevel (1 ms) [ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) [ok]: ACL LOG is able to test similar events (1 ms) [ok]: ACL LOG is able to log keys access violations and key name (1 ms) [ok]: client evicted due to percentage of maxmemory (8 ms) [ok]: ACL LOG is able to log channel access violations and channel name (0 ms) [ok]: ACL LOG RESET is able to flush the entries in the log (1 ms) [ok]: ACL LOG can distinguish the transaction context (1) (1 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 (1 ms) [ok]: ACL LOG can log failed auth attempts (1 ms) [ok]: ACLLOG - zero max length is correctly handled (2 ms) [ok]: ACL LOG entries are limited to a maximum amount (1 ms) [ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (89 ms) [ok]: RESTORE key with future RDB version, strict version check (0 ms) [ok]: RESTORE key with future RDB version, relaxed version check (0 ms) [ok]: ACL LOG entries are still present on update of max len config (1 ms) [ok]: DUMP of non existing key returns nil (0 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 (0 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 (0 ms) [ok]: ACL HELP should not have unexpected options (1 ms) [ok]: Delete a user that the client doesn't use (0 ms) [ok]: Delete a user that the client is using (0 ms) [ok]: ACL GENPASS command failed test (0 ms) [ok]: Default user can not be removed (0 ms) [ok]: ACL load non-existing configured ACL file (0 ms) [ok]: ACL-Metrics user AUTH failure (3 ms) [ok]: ACL-Metrics invalid command accesses (5 ms) [ok]: ACL-Metrics invalid key accesses (3 ms) [ok]: ACL-Metrics invalid channels accesses (3 ms) [ok]: HGETEX EX generates hexpire keyspace notification (2 ms) [ok]: HGETEX EX with multiple fields generates single notification (0 ms) [ok]: HGETEX EX on non-existent field generates no notification (0 ms) [ok]: HGETEX PX generates hexpire keyspace notification (1 ms) [ok]: HGETEX PX with multiple fields generates single notification (1 ms) [ok]: HGETEX PX on non-existent field generates no notification (0 ms) [ok]: HGETEX EXAT generates hexpire keyspace notification (1 ms) [ok]: HGETEX EXAT with multiple fields generates single notification (1 ms) [ok]: HGETEX EXAT on non-existent field generates no notification (1 ms) [ok]: HGETEX PXAT generates hexpire keyspace notification (0 ms) [ok]: HGETEX PXAT with multiple fields generates single notification (1 ms) [ok]: HGETEX PXAT on non-existent field generates no notification (1 ms) [ok]: HGETEX PERSIST generates hpersist keyspace notification (1 ms) [ok]: HGETEX EX 0/past time works correctly with 1 field (1 ms) [ok]: HGETEX PX 0/past time works correctly with 1 field (2 ms) [ok]: HGETEX EXAT 0/past time works correctly with 1 field (1 ms) [ok]: HGETEX PXAT 0/past time works correctly with 1 field (1 ms) [ok]: HSETEX KEEPTTL - preserves existing TTL of field (1 ms) [ok]: HSETEX EX - FIELDS 0 returns error (0 ms) [ok]: HSETEX EX - test negative ttl (0 ms) [ok]: HSETEX EX - test non-numeric ttl (1 ms) [ok]: HSETEX EX - overwrite field resets TTL (0 ms) [ok]: Quicklist: SORT BY key (7 ms) [ok]: Quicklist: SORT BY key with limit (1 ms) [ok]: Memory efficiency with values in range 32 (260 ms) [ok]: Quicklist: SORT BY hash field (12 ms) [ok]: client evicted due to large multi buf (179 ms) [ok]: default: load from include file, can access any channels (0 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 (1 ms) [ok]: ACL LOAD only disconnects affected clients (1 ms) [ok]: ACL LOAD disconnects clients of deleted users (1 ms) [ok]: MIGRATE is caching connections (232 ms) [ok]: ACL load and save (4 ms) [ok]: ACL load and save with restricted channels (3 ms) [ok]: client evicted due to watched key list (105 ms) [ok]: HyperLogLog self test passes (383 ms) [ok]: PFADD without arguments creates an HLL value (0 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) (1 ms) [ok]: PFCOUNT returns approximated cardinality of set (0 ms) [ok]: FUZZ stresser with data model binary (418 ms) [ok]: FUNCTION - test function kill (404 ms) [ok]: Memory efficiency with values in range 64 (288 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 (1 ms) [ok]: Single channel is not valid with allchannels (1 ms) [ok]: verify reply buffer limits (648 ms) [ok]: HyperLogLogs are promote from sparse to dense (292 ms) [ok]: Change hll-sparse-max-bytes (1 ms) [ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (25 ms) [1/140 done]: unit/replybufsize (1 seconds) Testing unit/aofrw [ok]: FUZZ stresser with data model alpha (326 ms) [ok]: Only default user has access to all channels irrespective of flag (0 ms) [ok]: Memory efficiency with values in range 128 (282 ms) [ok]: FUNCTION - test script kill not working on function (403 ms) [ok]: default: load from config file, without channel permission default user can't access any channels (1 ms) [ok]: CLIENT LIST with multiple filters (1011 ms) [ok]: CLIENT LIST with IP filter (0 ms) [ok]: DEL against expired key (1107 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 (0 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 (0 ms) [ok]: RENAMENX against already existing key (1 ms) [ok]: RENAMENX against already existing key (2) (1 ms) [ok]: RENAME against non existing source key (9 ms) [ok]: RENAME where source and dest key are the same (existing) (10 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 (1 ms) [ok]: RENAME with volatile key, should not inherit TTL of target key (0 ms) [ok]: DEL all keys again (DB 0) (0 ms) [ok]: HyperLogLog sparse encoding stress test (455 ms) [ok]: DEL all keys again (DB 1) (4 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (0 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) [ok]: COPY basic usage for string (1 ms) [ok]: Corrupted dense HyperLogLogs are detected: Wrong length (0 ms) [ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) [ok]: COPY for string can replace an existing key with REPLACE option (1 ms) [ok]: COPY for string ensures that copied data is independent of copying data (1 ms) [ok]: COPY for string does not copy data to no-integer DB (0 ms) [ok]: COPY can copy key expire metadata as well (0 ms) [ok]: COPY does not create an expire if it does not exist (1 ms) [ok]: CLIENT LIST with IPv6 filter (0 ms) [ok]: FUZZ stresser with data model compr (427 ms) [ok]: COPY basic usage for list - quicklist (51 ms) [ok]: COPY basic usage for list - listpack (1 ms) [ok]: COPY basic usage for $type set (1 ms) [ok]: COPY basic usage for $type set (0 ms) [ok]: COPY basic usage for $type set (18 ms) [ok]: COPY basic usage for listpack sorted set (1 ms) [ok]: FUNCTION - test function kill not working on eval (402 ms) [ok]: FUNCTION - test function flush (3 ms) [ok]: COPY basic usage for skiplist sorted set (16 ms) [ok]: COPY basic usage for listpack hash (1 ms) [ok]: default: load from config file with all channels permissions (1 ms) [ok]: CLIENT LIST with CAPA filter (0 ms) [ok]: CLIENT KILL with IP filter (1 ms) [ok]: FUNCTION - test function flush will re-create the lua engine (20 ms) [ok]: COPY basic usage for hashtable hash (16 ms) [ok]: FLUSHALL should not reset the dirty counter if we disable save (1 ms) [ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (7 ms) [ok]: HSETEX EX - test mix of expiring and persistent fields (1102 ms) [ok]: HSETEX EX - test missing TTL (0 ms) [ok]: HSETEX EX - mismatched field/value count (0 ms) [ok]: HSETEX EX 0/past time works correctly with 1 field (3 ms) [ok]: HSETEX PX 0/past time works correctly with 1 field (2 ms) [ok]: HSETEX EXAT 0/past time works correctly with 1 field (2 ms) [ok]: HSETEX PXAT 0/past time works correctly with 1 field (2 ms) [ok]: HSETEX PX - test negative ttl (0 ms) [ok]: HSETEX PX - test non-numeric ttl (0 ms) [ok]: HSETEX PX - overwrite field resets TTL (1 ms) [ok]: HSETEX PX - test zero ttl expires immediately (10 ms) [ok]: HSETEX PX - test mix of expiring and persistent fields (21 ms) [ok]: HSETEX PX - test missing TTL (0 ms) [ok]: HSETEX PX - mismatched field/value count (0 ms) [ok]: HSETEX EX FNX - set only if none of the fields exist (0 ms) [ok]: HSETEX EX FXX - set only if all fields exist (1 ms) [ok]: Memory efficiency with values in range 1024 (554 ms) [ok]: HSETEX PX FNX - partial conflict returns 0 (0 ms) [ok]: HSETEX PX FXX - one field missing returns 0 (1 ms) [ok]: HSETEX EX - FNX and FXX conflict error (0 ms) [ok]: HSETEX EX - FXX does not create object in case key does not exist (0 ms) [ok]: HEXPIRE - set TTL on existing field (9 ms) [ok]: HEXPIRE - TTL 0 deletes field (1 ms) [ok]: HEXPIRE - negative TTL returns error (0 ms) [ok]: HEXPIRE - wrong type key returns error (1 ms) [ok]: HEXPIRE NX - only set when field has no TTL (0 ms) [ok]: HEXPIRE XX - only set when field has TTL (1 ms) [ok]: HEXPIRE GT - only set if new TTL > existing TTL (12 ms) [ok]: COPY basic usage for stream (146 ms) [ok]: client evicted due to pubsub subscriptions (1042 ms) [ok]: HEXPIRE LT - only set if new TTL < existing TTL (5 ms) [ok]: CLIENT LIST with IPv6 filter (0 ms) [ok]: Test loading an ACL file with duplicate users (8 ms) [ok]: COPY basic usage for stream-cgroups (8 ms) [ok]: Test loading an ACL file with duplicate default user (1 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) (0 ms) [ok]: MOVE can move key expire metadata as well (0 ms) [ok]: MOVE does not create an expire if it does not exist (0 ms) [ok]: SET/GET keys in different DBs (1 ms) [ok]: Test loading duplicate users in config on startup (9 ms) [ok]: RANDOMKEY (8 ms) [ok]: RANDOMKEY against empty DB (0 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 (1 ms) [ok]: Coverage: SWAPDB and FLUSHDB (1 ms) [ok]: Regression for pattern matching very long nested loops (53 ms) [ok]: client evicted due to tracking redirection (87 ms) [ok]: CLIENT KILL with CAPA filter (0 ms) [ok]: CLIENT KILL with NAME filter (10 ms) [ok]: CLIENT KILL with FLAGS filter (0 ms) [ok]: CLIENT KILL with TYPE filter (0 ms) [ok]: CLIENT KILL with multiple filters (1 ms) [ok]: BGSAVE (106 ms) [ok]: SELECT an out of range DB (0 ms) [ok]: ACL from config file and config rewrite (277 ms) [ok]: HEXPIRE - refresh TTL with new value (501 ms) [ok]: HEXPIRE on a non-existent field (should not create field) (0 ms) [ok]: HEXPIRE - conflicting conditions error (1 ms) [ok]: HEXPIRE - missing FIELDS error (0 ms) [ok]: HEXPIRE - no fields after FIELDS keyword (0 ms) [ok]: HEXPIRE - non-integer TTL error (0 ms) [ok]: HEXPIRE - non-existing key returns -2 (0 ms) [ok]: HEXPIRE EX - set TTL on multiple fields (1 ms) [ok]: HEXPIRE returns -2 on non-existing key (0 ms) [ok]: HEXPIRE - GT condition fails when field has no TTL (0 ms) [ok]: HEXPIRE - LT condition succeeds when field has no TTL (0 ms) [ok]: HSETEX HEXPIRE 0/past time works correctly with 1 field (1 ms) [ok]: HSETEX HPEXPIRE 0/past time works correctly with 1 field (2 ms) [ok]: HSETEX HEXPIREAT 0/past time works correctly with 1 field (3 ms) [ok]: HSETEX HPEXPIREAT 0/past time works correctly with 1 field (1 ms) [ok]: HTTL - persistent field returns -1 (1 ms) [ok]: HTTL - non-existent field returns -2 (0 ms) [ok]: HTTL - non-existent key returns -2 (0 ms) [ok]: HEXPIREAT - set absolute expiry on field (1 ms) [ok]: HEXPIREAT - timestamp in past deletes field immediately (0 ms) [ok]: HEXPIREAT - set TTL on multiple fields (existing + non-existing) (0 ms) [ok]: HEXPIREAT NX - only set when field has no TTL (2 ms) [ok]: HEXPIREAT XX - only set when field has TTL (1 ms) [ok]: HEXPIREAT GT - only set if new expiry > existing (10 ms) [ok]: HEXPIREAT LT - only set if new expiry < existing (0 ms) [ok]: HEXPIREAT - refresh TTL with new future timestamp (1 ms) [ok]: HEXPIREAT - TTL is accurate via HEXPIRETIME (0 ms) [ok]: HEXPIREAT - conflicting options error (0 ms) [ok]: HEXPIREAT - missing FIELDS keyword (0 ms) [ok]: HEXPIREAT - no fields after FIELDS (0 ms) [ok]: HEXPIREAT - non-integer timestamp (8 ms) [ok]: HEXPIREAT - non-existing key returns -2 (0 ms) [ok]: HEXPIRETIME - returns expiry timestamp for single field with TTL (0 ms) [ok]: HEXPIRETIME - field has no TTL returns -1 (0 ms) [ok]: HEXPIRETIME - field does not exist returns -2 (0 ms) [ok]: HEXPIRETIME - key does not exist returns -2 (0 ms) [ok]: HEXPIRETIME - multiple fields mixed cases (1 ms) [ok]: HEXPIRETIME - no FIELDS keyword (0 ms) [ok]: HEXPIRETIME - FIELDS 0 (0 ms) [ok]: HEXPIRETIME - wrong FIELDS count (0 ms) [ok]: HEXPIRETIME - wrong type key (1 ms) [ok]: HPEXPIREAT - set absolute expiry with ms precision (0 ms) [ok]: HPEXPIREAT - past timestamp deletes field immediately (0 ms) [ok]: HPEXPIREAT - non-existent key returns -2 (0 ms) [ok]: HPEXPIREAT - mixed fields (0 ms) [ok]: HPEXPIREAT - GT and LT options with success and failure cases (0 ms) [ok]: HPEXPIREAT - invalid inputs (1 ms) [ok]: HPEXPIRETIME - check with multiple fields (0 ms) [ok]: HPERSIST - field does not exist (0 ms) [ok]: HPERSIST - key does not exist (0 ms) [ok]: HPERSIST - field exists but no expiration (0 ms) [ok]: HPERSIST - field exists with expiration (1 ms) [ok]: HPERSIST - multiple fields with mixed state (0 ms) [ok]: HPERSIST, then HEXPIRE, check new TTL is set (1 ms) [ok]: HRANDFIELD - CASE 1: negative count (110 ms) [ok]: ACL still denies individual renamed commands (2 ms) [ok]: ACL command classes aren't affected by command renaming (1 ms) [ok]: ACL GETUSER provides correct results when commands renamed (2 ms) [ok]: HRANDFIELD - CASE 2: The number of requested elements is greater than the number of elements inside the hash (119 ms) [ok]: Check consistency of different data types after a reload (713 ms) [ok]: HRANDFIELD - CASE 3: The number of elements inside the hash is not greater than 3 times the number of requested elements (104 ms) [ok]: query buffer resized correctly (2345 ms) [ok]: query buffer resized correctly when not idle (30 ms) [ok]: HRANDFIELD - CASE 4: The number of elements inside the hash is greater than 3 times the number of requested elements (110 ms) [ok]: RENAME Preserves Field TTLs (2 ms) [ok]: RESTORE Preserves Field TTLs (1 ms) [ok]: COPY Preserves TTLs (1 ms) [ok]: Hash Encoding Transitions with TTL - Add TTL to Existing Fields (1 ms) [ok]: Test ACL LOAD works on primary (33 ms) [ok]: Same dataset digest if saving/reloading as AOF? (223 ms) [ok]: Big Quicklist: SORT BY key (549 ms) [ok]: Big Quicklist: SORT BY key with limit (9 ms) [ok]: CLIENT KILL with multiple filters including idle time (1002 ms) [ok]: CLIENT LIST with NOT-NAME filter (1 ms) [ok]: CLIENT LIST with NOT-FLAGS filter (0 ms) [ok]: CLIENT LIST with NOT-TYPE filter (0 ms) [ok]: CLIENT LIST with multiple negative filters (1 ms) [ok]: CLIENT LIST with multiple id filters (0 ms) [ok]: CLIENT KILL with multiple id filters (0 ms) [ok]: Hash Encoding Transitions with TTL - Create New Fields with TTL (135 ms) [ok]: HGETALL skips expired fields (10 ms) [ok]: HSCAN skips expired fields (11 ms) [ok]: MOVE preserves field TTLs (0 ms) [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (129 ms) [ok]: HSET - overwrite expired field without TTL clears expiration (101 ms) [ok]: HINCRBY - on expired field (102 ms) [ok]: HINCRBYFLOAT - on expired field (105 ms) [ok]: HSET - overwrite unexpired field removes TTL (0 ms) [ok]: HDEL - expired field is removed without triggering expiry logic (21 ms) [ok]: HDEL on field with TTL, then re-add and check TTL is gone (2 ms) [ok]: expired_fields metric increments by one when single hash field expires (101 ms) [ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3001 ms) [ok]: Big Quicklist: SORT BY hash field (594 ms) [ok]: Intset: SORT BY key (0 ms) [ok]: Intset: SORT BY key with limit (0 ms) [ok]: Intset: SORT BY hash field (0 ms) [ok]: expired_fields metric tracks multiple field expirations with keyspace notifications (215 ms) [ok]: Hash table: SORT BY key (9 ms) [ok]: Hash table: SORT BY key with limit (3 ms) [ok]: Test latency events logging (3411 ms) [ok]: LATENCY HISTORY output is ok (0 ms) [ok]: LATENCY LATEST output is ok (0 ms) [ok]: LATENCY GRAPH can output the event graph (0 ms) [ok]: Hash table: SORT BY hash field (15 ms) [ok]: Test ACL LOAD works on replica (917 ms) [ok]: CLIENT LIST with multiple negative filters (1003 ms) [ok]: CLIENT LIST with NOT-IP filter (1 ms) [ok]: Memory efficiency with values in range 16384 (2266 ms) [ok]: CLIENT LIST with IPv6 negative filter (0 ms) [ok]: KEYS with empty DB in cluster mode (1 ms) [ok]: KEYS with empty slot in cluster mode (0 ms) [2/140 done]: unit/acl (4 seconds) Testing unit/quit [3/141 done]: unit/memefficiency (4 seconds) Testing unit/wait [ok]: CLIENT LIST with NOT-CAPA filter (0 ms) [ok]: CLIENT KILL with NOT-IP filter (0 ms) [ok]: CLIENT KILL with NOT-CAPA filter (1 ms) [ok]: CLIENT KILL with NOT-NAME filter (1 ms) [ok]: CLIENT KILL with NOT-FLAGS filter (1 ms) [ok]: CLIENT KILL with NOT-TYPE filter (1 ms) [ok]: CLIENT KILL with multiple negative filters (1 ms) [4/141 done]: unit/keyspace (4 seconds) Testing unit/oom-score-adj [ok]: QUIT returns OK (1 ms) [ok]: Pipelined commands after QUIT must not be executed (2 ms) [ok]: Pipelined commands after QUIT that exceed read buffer size (8 ms) [5/141 done]: unit/quit (0 seconds) Testing unit/maxmemory [ok]: CONFIG SET oom-score-adj works as expected (15 ms) [ok]: CONFIG SET oom-score-adj handles configuration failures (1 ms) [ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (0 ms) [ok]: CONFIG SET oom score restored on disable (0 ms) [ok]: CONFIG SET oom score relative and absolute (2 ms) [ok]: CONFIG SET out-of-range oom score (0 ms) [6/141 done]: unit/oom-score-adj (0 seconds) Testing unit/scripting [ok]: eviction due to output buffers of many MGET clients, client eviction: false (64 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 (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 (1 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) [ok]: Key TTL expires before field TTL: entire hash should be deleted timeunit: s, (1008 ms) [ok]: EVAL - is Lua able to call Redis API? (1 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 (2 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 (0 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (2 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (1 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 (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 (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 (0 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 (147 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (0 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 (1 ms) [ok]: EVAL_RO - Successful case (0 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: redis.sha1hex() implementation (0 ms) [ok]: FUNCTION - test loading function during the flush async (3280 ms) [ok]: FUNCTION - test function wrong argument (0 ms) [ok]: EXPIRES after AOF reload (without rewrite) (2113 ms) [ok]: CLIENT KILL with both positive and negative filters including idle time (1002 ms) [ok]: CLIENT LIST with illegal arguments (2 ms) [ok]: client input output and command process statistics (3 ms) [ok]: CLIENT KILL with illegal arguments (2 ms) [ok]: Setup slave (919 ms) [ok]: WAIT out of range timeout (milliseconds) (0 ms) [ok]: WAIT should acknowledge 1 additional copy of the data (0 ms) [ok]: Field TTL expires before key TTL: only the specific field should expire: s, (1016 ms) [ok]: query buffer resized correctly with fat argv (2970 ms) [7/141 done]: unit/querybuf (6 seconds) Testing unit/acl-v2 [ok]: Test basic multiple selectors (1 ms) [ok]: Test ACL selectors by default have no permissions (0 ms) [ok]: Test deleting selectors (1 ms) [ok]: Test selector syntax error reports the error in the selector context (0 ms) [ok]: Test flexible selector definition (1 ms) [ok]: Test separate read permission (0 ms) [ok]: Test separate write permission (1 ms) [ok]: Test separate read and write permissions (0 ms) [ok]: Validate read and write permissions format (0 ms) [ok]: Validate key permissions format - empty and omitted pattern (1 ms) [ok]: Test separate read and write permissions on different selectors are not additive (0 ms) [ok]: Test SET with separate read permission (1 ms) [ok]: Test SET with separate write permission (0 ms) [ok]: Test SET with read and write permissions (1 ms) [ok]: Test BITFIELD with separate read permission (0 ms) [ok]: Test BITFIELD with separate write permission (1 ms) [ok]: Test BITFIELD with read and write permissions (0 ms) [ok]: Test ACL log correctly identifies the relevant item when selectors are used (5 ms) [ok]: Test ACL GETUSER response information (0 ms) [ok]: Test ACL list idempotency (1 ms) [ok]: Test R+W is the same as all permissions (0 ms) [ok]: Test basic dry run functionality (0 ms) [ok]: Test various commands for command permissions (0 ms) [ok]: Test various odd commands for key permissions (2 ms) [ok]: Existence test commands are not marked as access (0 ms) [ok]: Intersection cardinaltiy commands are access commands (1 ms) [ok]: Test general keyspace commands require some type of permission to execute (0 ms) [ok]: Cardinality commands require some type of permission to execute (1 ms) [ok]: Test sharded channel permissions (3 ms) [ok]: Test sort with ACL permissions (0 ms) [ok]: Test DRYRUN with wrong number of arguments (1 ms) [ok]: Connect a replica to the master instance (813 ms) [ok]: FUNCTION - creation is replicated to replica (0 ms) [ok]: FUNCTION - call on replica (0 ms) [ok]: FUNCTION - restore is replicated to replica (1 ms) [ok]: FUNCTION - delete is replicated to replica (3 ms) [ok]: FUNCTION - flush is replicated to replica (1 ms) [ok]: PIPELINING stresser (also a regression for the old epoll bug) (977 ms) [ok]: APPEND basics (2 ms) [ok]: APPEND basics, integer encoded values (0 ms) [ok]: Test behavior of loading ACLs (0 ms) [8/141 done]: unit/acl-v2 (0 seconds) Testing unit/bitops [ok]: APPEND fuzzing (178 ms) [ok]: FLUSHDB (7 ms) [ok]: Perform a final SAVE to leave a clean DB on disk (8 ms) [ok]: RESET clears client state (0 ms) [ok]: RESET clears MONITOR state (1 ms) [ok]: RESET clears and discards MULTI state (0 ms) [ok]: RESET clears Pub/Sub state (0 ms) [ok]: RESET clears authenticated state (1 ms) [ok]: Subcommand syntax error crash (issue #10070) (0 ms) [ok]: Extended Redis Compatibility config (3 ms) [ok]: Big Hash table: SORT BY key (508 ms) [ok]: Big Hash table: SORT BY key with limit (10 ms) [ok]: WAIT should not acknowledge 2 additional copies of the data (1003 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 (0 ms) [ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) [ok]: BITCOUNT against test vector #1 (0 ms) [ok]: BITCOUNT against test vector #2 (0 ms) [ok]: BITCOUNT against test vector #3 (0 ms) [ok]: BITCOUNT against test vector #4 (0 ms) [ok]: BITCOUNT against test vector #5 (0 ms) [ok]: TOUCH alters the last access time of a key (3002 ms) [ok]: Measures elapsed time os.clock() (1697 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (1 ms) [ok]: Globals protection reading an undeclared global variable (1 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]: BITCOUNT fuzzing without start/end (236 ms) [ok]: Key and field TTL expire simultaneously: entire hash should be deleted: s, (1010 ms) [ok]: Don't rehash if server has child process (317 ms) [ok]: Big Hash table: SORT BY hash field (468 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 (2 ms) [ok]: SORT BY key STORE (0 ms) [ok]: SORT BY hash field STORE (1 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 (0 ms) [ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) [ok]: SORT sorted set: +inf and -inf handling (2 ms) [ok]: SORT regression for issue #19, sorting floats (4 ms) [ok]: SORT with STORE returns zero if result is empty (github issue 224) (2 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 (0 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) (0 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (1 ms) [ok]: SORT GET with pattern ending with just -> does not get hash field (0 ms) [ok]: SORT by nosort retains native order for lists (0 ms) [ok]: SORT by nosort plus store retains native order for lists (0 ms) [ok]: SORT by nosort with limit returns based on original list order (1 ms) [ok]: SORT_RO - Successful case (0 ms) [ok]: SORT_RO - Cannot run with STORE arg (0 ms) [ok]: SORT speed, 100 element list BY key, 100 times (17 ms) [ok]: SORT speed, 100 element list BY hash field, 100 times (21 ms) [ok]: SORT speed, 100 element list directly, 100 times (10 ms) [ok]: SORT speed, 100 element list BY , 100 times (10 ms) [ok]: SETRANGE with huge offset (2 ms) [ok]: Process title set as expected (1 ms) [ok]: SORT STORE quicklist with the right options (53 ms) [ok]: BITCOUNT fuzzing with start/end (354 ms) [ok]: BITCOUNT with just start (0 ms) [ok]: BITCOUNT with start, end (1 ms) [ok]: BITCOUNT with illegal arguments (1 ms) [ok]: BITCOUNT against non-integer value (0 ms) [ok]: BITCOUNT regression test for github issue #582 (0 ms) [ok]: BITCOUNT misaligned prefix (0 ms) [ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) [ok]: BITOP NOT (empty string) (0 ms) [ok]: BITOP NOT (known string) (0 ms) [ok]: BITOP where dest and target are the same key (0 ms) [ok]: BITOP AND|OR|XOR don't change the string with single input key (1 ms) [ok]: BITOP missing key is considered a stream of zero (0 ms) [ok]: BITOP shorter keys are zero-padded to the key with max length (0 ms) [ok]: LATENCY GRAPH can output the expire event graph (0 ms) [ok]: LATENCY of expire events are correctly collected (3179 ms) [ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) [ok]: LATENCY DOCTOR produces some output (0 ms) [ok]: LATENCY RESET is able to reset events (1 ms) [ok]: LATENCY HELP should not have unexpected options (0 ms) [ok]: Disconnecting the replica from master instance (1019 ms) [ok]: FUNCTION - test replication to replica on rdb phase (0 ms) [ok]: FUNCTION - test replication to replica on rdb phase info command (0 ms) [ok]: FUNCTION - create on read only replica (1 ms) [ok]: FUNCTION - delete on read only replica (0 ms) [ok]: FUNCTION - function effect is replicated to replica (0 ms) [ok]: FUNCTION - modify key space of read only replica (1 ms) [ok]: BITOP and fuzzing (154 ms) [ok]: CLIENT KILL maxAGE will kill old clients (2001 ms) [ok]: CLIENT KILL SKIPME YES/NO will kill all clients (2 ms) [ok]: CLIENT command unhappy path coverage (1 ms) [ok]: EVAL does not leak in the Lua stack (694 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 (1 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (1 ms) [ok]: BITOP or fuzzing (126 ms) [ok]: Script return recursive object (94 ms) [ok]: CLIENT KILL close the client connection during bgsave (112 ms) [ok]: Script check unpack with massive arguments (22 ms) [ok]: Script read key with expiration set (0 ms) [ok]: Script del key with expiration set (0 ms) [ok]: Script ACL check (0 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 (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]: CLIENT REPLY OFF/ON: disable all commands reply (43 ms) [ok]: BITOP xor fuzzing (131 ms) [ok]: CLIENT REPLY SKIP: skip the next command reply (50 ms) [ok]: BITOP NOT fuzzing (24 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 (0 ms) [ok]: BITPOS will illegal arguments (1 ms) [ok]: BITPOS against non-integer value (0 ms) [ok]: BITPOS bit=0 with empty key returns 0 (0 ms) [ok]: BITPOS bit=1 with empty key returns -1 (1 ms) [ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1061 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 (0 ms) [ok]: BITPOS bit=0 unaligned+full word+reminder (2 ms) [ok]: BITPOS bit=1 unaligned+full word+reminder (1 ms) [ok]: BITPOS bit=1 returns -1 if string is all 0 bits (2 ms) [ok]: BITPOS bit=0 works with intervals (1 ms) [ok]: BITPOS bit=1 works with intervals (0 ms) [ok]: BITPOS bit=0 changes behavior if end is given (1 ms) [ok]: SETBIT/BITFIELD only increase dirty when the value changed (2 ms) [ignore]: large memory flag not provided [ok]: CLIENT REPLY ON: unset SKIP flag (50 ms) [ok]: MONITOR can log executed commands (1 ms) [ok]: MONITOR properly escapes special characters through sdscatrepr (0 ms) [ok]: MONITOR can log commands issued by the scripting engine (1 ms) [ok]: MONITOR can log commands issued by functions (0 ms) [ok]: MONITOR supports redacting command arguments (1 ms) [ok]: MONITOR correctly handles multi-exec cases (8 ms) [ok]: MONITOR correctly records SET EX in MULTI-EXEC (0 ms) [ok]: MONITOR log blocked command only once (2 ms) [ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) [ok]: CLIENT GETNAME check if name set correctly (0 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 (0 ms) [ok]: RESET does NOT clean library name (0 ms) [ok]: CLIENT SETINFO can clear library name (0 ms) [ok]: CONFIG GET should return sorted output (3 ms) [ok]: BITPOS bit=1 fuzzy testing using SETBIT (142 ms) [ok]: BITPOS bit=0 fuzzy testing using SETBIT (138 ms) [ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (151 ms) [9/142 done]: unit/bitops (2 seconds) Testing unit/networking [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (402 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (45 ms) [ok]: eviction due to input buffer of a dead client, client eviction: false (3415 ms) [ok]: Timedout script does not cause a false dead client (44 ms) [ok]: CONFIG SET port number (220 ms) [ok]: Timedout script link is still usable after Lua returns (75 ms) [ok]: Millisecond/Seconds precision (1503 ms) [ok]: CONFIG SET bind address (214 ms) [ok]: CONFIG save params special case handled properly (885 ms) [ok]: CONFIG sanity (18 ms) [ok]: Timedout scripts and unblocked command (331 ms) [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (323 ms) [ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1109 ms) [ok]: WAIT replica multiple clients unblock - reuse last result (8 ms) [ok]: CONFIG REWRITE sanity (162 ms) [ok]: LIBRARIES - test shared function can access default globals (0 ms) [ok]: LIBRARIES - usage and code sharing (0 ms) [ok]: LIBRARIES - test registration failure revert the entire load (0 ms) [ok]: LIBRARIES - test registration function name collision (0 ms) [ok]: LIBRARIES - test registration function name collision on same library (0 ms) [ok]: LIBRARIES - test registration with no argument (0 ms) [ok]: LIBRARIES - test registration with only name (0 ms) [ok]: LIBRARIES - test registration with to many arguments (0 ms) [ok]: LIBRARIES - test registration with no string name (0 ms) [ok]: LIBRARIES - test registration with wrong name format (1 ms) [ok]: LIBRARIES - test registration with empty name (0 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 (0 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 (0 ms) [ok]: LIBRARIES - register library with no functions (1 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (201 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (2 ms) [ok]: eviction due to output buffers of pubsub, client eviction: false (730 ms) [ok]: eviction due to output buffers of many MGET clients, client eviction: true (52 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: sort by in cluster mode (0 ms) [ok]: sort get in cluster mode (0 ms) [ok]: sort_ro by in cluster mode (1 ms) [ok]: sort_ro get in cluster mode (0 ms) [ok]: LIBRARIES - load timeout (501 ms) [ok]: LIBRARIES - verify global protection on the load run (0 ms) [ok]: LIBRARIES - named arguments (1 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 (0 ms) [ok]: LIBRARIES - named arguments, unknown argument (0 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) [ok]: LIBRARIES - named arguments, missing callback (1 ms) [ok]: FUNCTION - test function restore with function name collision (2 ms) [ok]: FUNCTION - test function list with code (0 ms) [ok]: FUNCTION - test function list with pattern (0 ms) [ok]: FUNCTION - test function list wrong argument (0 ms) [ok]: FUNCTION - test function list with bad argument to library name (1 ms) [ok]: FUNCTION - test function list withcode multiple times (0 ms) [ok]: FUNCTION - test function list libraryname multiple times (0 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]: Key TTL expires before field TTL: entire hash should be deleted timeunit: ms (1007 ms) [10/142 done]: unit/sort (9 seconds) Testing unit/obuf-limits [ok]: CONFIG REWRITE handles save and shutdown properly (748 ms) [ok]: CONFIG SET with multiple args (0 ms) [ok]: CONFIG SET rollback on set error (1 ms) [ok]: CONFIG SET rollback on apply error (1 ms) [ok]: CONFIG SET duplicate configs (0 ms) [ok]: CONFIG SET set immutable (1 ms) [ok]: CONFIG GET hidden configs (2 ms) [ok]: CONFIG GET multiple args (1 ms) [ok]: CONFIG SET client-output-buffer-limit (0 ms) [ok]: valkey-server command line arguments - error cases (49 ms) [ok]: FUNCTION - wrong flags type named arguments (6 ms) [ok]: FUNCTION - wrong flag type (1 ms) [ok]: FUNCTION - unknown flag (0 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 (0 ms) [ok]: FUNCTION - allow stale (1 ms) [ok]: FUNCTION - valkey version api (0 ms) [ok]: FUNCTION - function stats (1 ms) [ok]: FUNCTION - function stats reloaded correctly from rdb (3 ms) [ok]: FUNCTION - function stats delete library (1 ms) [ok]: FUNCTION - test function stats on loading failure (0 ms) [ok]: FUNCTION - function stats cleaned after flush (0 ms) [ok]: FUNCTION - function test empty engine (1 ms) [ok]: FUNCTION - function test unknown metadata value (0 ms) [ok]: FUNCTION - function test no name (0 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 (0 ms) [ok]: TOUCH alters the last access time of a key in no-touch mode (3002 ms) [11/142 done]: unit/functions (9 seconds) Testing unit/slowlog [ok]: Setup a new replica (912 ms) [ok]: SLOWLOG - check that it starts with an empty log (0 ms) [ok]: CONFIG SET bind-source-addr (1316 ms) [ok]: Connect a replica to the master instance (806 ms) [ok]: Replication of script multiple pushes to list with BLPOP (0 ms) [ok]: Lua scripts using SELECT are replicated correctly (1 ms) [ok]: SLOWLOG - only logs commands taking more time than specified (200 ms) [ok]: SLOWLOG - zero max length is correctly handled (8 ms) [ok]: SLOWLOG - max entries is correctly handled (8 ms) [ok]: SLOWLOG - GET optional argument to limit output len works (2 ms) [ok]: SLOWLOG - RESET subcommand works (0 ms) [ok]: tot-net-out for replica client (516 ms) [ok]: CLIENT LIST can filter by LIB-NAME (1 ms) [ok]: CLIENT LIST can filter by LIB-VER (0 ms) [ok]: CLIENT LIST can filter by DB number (0 ms) [ok]: CLIENT KILL can filter by DB (1 ms) [ok]: CLIENT KILL can filter by LIB-NAME (0 ms) [ok]: CLIENT KILL can filter by LIB-VER (1 ms) [ok]: CLIENT LIST can filter by NOT-LIB-NAME (0 ms) [ok]: CLIENT LIST can filter by NOT-LIB-VER (0 ms) [ok]: CLIENT LIST can filter by NOT-DB number (0 ms) [ok]: CLIENT KILL can filter by NOT-DB (0 ms) [ok]: CLIENT KILL can filter by NOT-LIB-NAME (0 ms) [ok]: CLIENT KILL can filter by NOT-LIB-VER (1 ms) [ok]: Default bind address configuration handling (208 ms) [ok]: Protected mode works as expected (3 ms) [ok]: SLOWLOG - logged entry sanity check (201 ms) [ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (3 ms) [ok]: SLOWLOG - Some commands can redact sensitive fields (1 ms) [ok]: SLOWLOG - Rewritten commands are logged as their original command (7 ms) [ok]: SLOWLOG - commands with too many arguments are trimmed (1 ms) [ok]: SLOWLOG - too long arguments are trimmed (0 ms) [ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (211 ms) [ok]: Field TTL expires before key TTL: only the specific field should expire: ms (1005 ms) [ok]: SLOWLOG - EXEC is not logged, just executed commands (200 ms) [ok]: valkey-server command line arguments - wrong usage that we support anyway (220 ms) [12/142 done]: unit/networking (2 seconds) Testing unit/shutdown [ok]: SLOWLOG - can clean older entries (202 ms) [ok]: valkey-server command line arguments - allow option value to use the `--` prefix (219 ms) [ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (108 ms) [ok]: Operations in no-touch mode do not alter the last access time of a key (1101 ms) [ok]: TOUCH returns the number of existing keys specified (0 ms) [ok]: command stats for GEOADD (1 ms) [ok]: errors stats for GEOADD (1 ms) [ok]: command stats for EXPIRE (0 ms) [ok]: command stats for BRPOP (1 ms) [ok]: command stats for MULTI (2 ms) [ok]: command stats for scripts (2 ms) [ok]: COMMAND COUNT get total number of commands (0 ms) [ok]: COMMAND GETKEYS GET (0 ms) [ok]: COMMAND GETKEYSANDFLAGS (0 ms) [ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) [ok]: COMMAND GETKEYS XGROUP (0 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 (2 ms) [ok]: COMMAND LIST syntax error (1 ms) [ok]: COMMAND LIST WITHOUT FILTERBY (2 ms) [ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (0 ms) [ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (0 ms) [ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (1 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 (0 ms) [ok]: GET command will not be marked with movablekeys (1 ms) [ok]: MSET command will not be marked with movablekeys (0 ms) [ok]: BITFIELD command will not be marked with movablekeys (1 ms) [ok]: LMOVE command will not be marked with movablekeys (0 ms) [ok]: LPOP command will not be marked with movablekeys (1 ms) [ok]: BLPOP command will not be marked with movablekeys (0 ms) [ok]: PING command will not be marked with movablekeys (0 ms) [ok]: MEMORY command will not be marked with movablekeys (0 ms) [ok]: MEMORY|USAGE command will not be marked with movablekeys (0 ms) [ok]: RENAME command will not be marked with movablekeys (0 ms) [ok]: GEORADIUS_RO command will not be marked with movablekeys (1 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 (1 ms) [ok]: SORT command is marked with movablekeys (0 ms) [ok]: SORT_RO command is marked with movablekeys (0 ms) [ok]: MIGRATE command is marked with movablekeys (1 ms) [ok]: GEORADIUS command is marked with movablekeys (0 ms) [ok]: WAIT in script will work (1010 ms) [13/142 done]: unit/introspection-2 (10 seconds) Testing unit/tracking [ok]: SHUTDOWN ABORT can cancel SIGTERM (12 ms) [ok]: Temp rdb will be deleted in signal handle (84 ms) [ok]: valkey-server command line arguments - option name and option value in the same arg and `--` prefix (219 ms) [ok]: Server can trigger resizing (1737 ms) [ok]: SLOWLOG - can be disabled (402 ms) [ok]: Client output buffer hard limit is enforced (1493 ms) [ok]: SLOWLOG - count must be >= -1 (1 ms) [ok]: SLOWLOG - get all slow logs (1 ms) [ok]: SLOWLOG - blocking command is reported only after unblocked (2 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (0 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 1 (1 ms) [ok]: RDB save will be failed in shutdown (1 ms) [14/142 done]: unit/slowlog (2 seconds) Testing unit/commandlog [ok]: SHUTDOWN will abort if rdb save failed on signal (98 ms) [ok]: SHUTDOWN will abort if rdb save failed on shutdown command (2 ms) [ok]: WAITAOF local copy before fsync (97 ms) [ok]: SHUTDOWN can proceed if shutdown command was with nosave (2 ms) [ok]: Clean up rdb same named folder (0 ms) [ok]: COMMANDLOG - check that it starts with an empty log (0 ms) [ok]: WAITAOF local copy everysec (101 ms) [ok]: WAITAOF local copy with appendfsync always (2 ms) [ok]: WAITAOF local wait and then stop aof (2 ms) [ok]: WAITAOF local on server with aof disabled (0 ms) [ok]: Client tracking prefixes memory overhead (477 ms) [ok]: Clients are able to enable tracking and redirect it (0 ms) [ok]: The other connection is able to get invalidations (0 ms) [ok]: The client is now able to disable tracking (0 ms) [ok]: Clients can enable the BCAST mode with the empty prefix (0 ms) [ok]: The connection gets invalidation messages about all the keys (0 ms) [ok]: Clients can enable the BCAST mode with prefixes (1 ms) [ok]: Adding prefixes to BCAST mode works (0 ms) [ok]: Tracking NOLOOP mode in standard mode works (0 ms) [ok]: Tracking NOLOOP mode in BCAST mode works (1 ms) [ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (108 ms) [ok]: Key and field TTL expire simultaneously: entire hash should be deleted: ms (1005 ms) [ok]: COMMANDLOG - only logs commands exceeding the threshold (203 ms) [ok]: COMMANDLOG - zero max length is correctly handled (11 ms) [ok]: COMMANDLOG - max entries is correctly handled (4 ms) [ok]: COMMANDLOG - GET optional argument to limit output len works (3 ms) [ok]: COMMANDLOG - RESET subcommand works (1 ms) [15/142 done]: unit/shutdown (1 seconds) Testing unit/info [ok]: WAITAOF local if AOFRW was postponed (302 ms) [ok]: COMMANDLOG - logged entry sanity check (201 ms) [ok]: COMMANDLOG slow - Certain commands are omitted that contain sensitive information (1 ms) [ok]: COMMANDLOG slow - Some commands can redact sensitive fields (0 ms) [ok]: COMMANDLOG slow - Rewritten commands are logged as their original command (1 ms) [ok]: COMMANDLOG slow - commands with too many arguments are trimmed (1 ms) [ok]: COMMANDLOG slow - too long arguments are trimmed (0 ms) [ok]: Server can rewind and trigger smaller slot resizing (685 ms) [ok]: CLUSTER FORGET with invalid node ID (0 ms) [ok]: WAITAOF on demoted master gets unblocked with an error (1 ms) [ok]: latencystats: disable/enable (0 ms) [ok]: latencystats: configure percentiles (2 ms) [ok]: latencystats: bad configure percentiles (1 ms) [ok]: latencystats: blocking commands (1 ms) [ok]: latencystats: subcommands (1 ms) [ok]: latencystats: measure latency (51 ms) [ok]: errorstats: failed call authentication error (1 ms) [ok]: errorstats: failed call within MULTI/EXEC (2 ms) [ok]: errorstats: failed call within LUA (2 ms) [ok]: errorstats: failed call NOSCRIPT error (1 ms) [ok]: errorstats: failed call NOGROUP error (1 ms) [ok]: errorstats: rejected call unknown command (0 ms) [ok]: errorstats: rejected call within MULTI/EXEC (1 ms) [ok]: errorstats: rejected call due to wrong arity (1 ms) [ok]: errorstats: rejected call by OOM error (1 ms) [ok]: errorstats: rejected call by authorization error (2 ms) [ok]: errorstats: blocking commands (1 ms) [ok]: COMMANDLOG slow - EXEC is not logged, just executed commands (201 ms) [ok]: errorstats: limit errors will not increase indefinitely (95 ms) [ok]: stats: eventloop metrics (115 ms) [ok]: Connect a replica to the master instance (806 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 (0 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 (0 ms) [ok]: Server can resize empty dict (212 ms) [ok]: valkey-server command line arguments - save with empty input (1094 ms) [ok]: COMMANDLOG slow - can clean older entries (201 ms) [ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (212 ms) [ok]: test io-threads are runtime modifiable (49 ms) [ok]: eviction due to input buffer of a dead client, client eviction: true (3282 ms) [ok]: eviction due to output buffers of pubsub, client eviction: true (66 ms) [ok]: Tracking gets notification of expired keys (1001 ms) [ok]: test unixsocket options are set correctly (0 ms) [ok]: valkey-server command line arguments - dir multiple times (214 ms) [ok]: COMMANDLOG slow - can be disabled (401 ms) [ok]: COMMANDLOG slow - count must be >= -1 (0 ms) [ok]: COMMANDLOG slow - get all slow logs (1 ms) [ok]: COMMANDLOG slow - blocking command is reported only after unblocked (1 ms) [ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 0 (1 ms) [ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 1 (0 ms) [16/142 done]: unit/other (12 seconds) Testing unit/info-command [17/142 done]: unit/commandlog (1 seconds) Testing unit/lazyfree [ok]: Tracking gets notification of lazy expired keys (201 ms) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (90 ms) [ok]: HELLO 3 reply is correct (0 ms) [ok]: RESP3 based basic invalidation (1 ms) [ok]: RESP3 tracking redirection (1 ms) [ok]: Invalidations of previous keys can be redirected after switching to RESP3 (0 ms) [ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) [ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (1 ms) [ok]: Tracking only occurs for scripts when a command calls a read-only command (1 ms) [ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (1 ms) [ok]: Different clients can redirect to the same connection (1 ms) [ok]: Different clients using different protocols can track the same key (1 ms) [ok]: No invalidation message when using OPTIN option (1 ms) [ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (1 ms) [ok]: Invalidation message sent when using OPTOUT option (0 ms) [ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (1 ms) [ok]: Able to redirect to a RESP3 client (1 ms) [ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (1 ms) [ok]: BCAST with prefix collisions throw errors (1 ms) [ok]: hdel deliver invalidate message after response in the same connection (0 ms) [ok]: auth check before command existence check and command arity check (0 ms) [ok]: cannot modify protected configuration - no (1 ms) Testing Valkey version 7.2.4 (00000000) [ok]: Extract version and sha1 details from info command and print (1 ms) [ok]: info command with at most one sub command (1 ms) [ok]: info command with one sub-section (0 ms) [ok]: info command with multiple sub-sections (0 ms) [ok]: WAITAOF replica copy before fsync (72 ms) [ok]: Tracking invalidation message is not interleaved with multiple keys response (111 ms) [ok]: Tracking invalidation message is not interleaved with transaction response (1 ms) [ok]: Tracking invalidation message of eviction keys should be before response (2 ms) [ok]: Unblocked BLMOVE gets notification after response (1 ms) [18/142 done]: unit/info-command (0 seconds) Testing unit/scan [ok]: Tracking gets notification on tracking table key eviction (72 ms) [ok]: Invalidation message received for flushall (1 ms) [ok]: Invalidation message received for flushdb (1 ms) [ok]: Test ASYNC flushall (3 ms) [ok]: flushdb tracking invalidation message is not interleaved with transaction response (1 ms) [ok]: cannot modify protected configuration - local (3 ms) [ok]: UNLINK can reclaim memory in background (204 ms) [ok]: Millisecond/Seconds precision (1501 ms) [ok]: Ensure that key-level PERSIST on the key don't affect field TTL (2 ms) [ok]: Verify error when hash expire commands num fields is not provided (5 ms) [ok]: {standalone} SCAN basic (50 ms) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (355 ms) [ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (198 ms) [ok]: Tracking info is correct (3 ms) [ok]: {standalone} SCAN COUNT (55 ms) [ok]: CLIENT GETREDIR provides correct client id (5 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (1 ms) [ok]: Regression test for #11715 (1 ms) [ok]: RESP3 based basic invalidation with client reply off (5 ms) [ok]: {standalone} SCAN MATCH (45 ms) [ok]: RESP2 based basic invalidation with client reply off (50 ms) [ok]: RESP3 based basic redirect invalidation with client reply off (2 ms) [ok]: RESP3 based basic tracking-redir-broken with client reply off (1 ms) [ok]: {standalone} SCAN TYPE (60 ms) [ok]: Hash ttl - check command stats (1 ms) [ok]: FLUSHDB ASYNC can reclaim memory in background (234 ms) [ok]: {standalone} SCAN unknown type (41 ms) [ok]: {standalone} SCAN with expired keys (50 ms) [ok]: CLIENT TRACKINGINFO when start (0 ms) [ok]: Coverage: Basic CLIENT CACHING (1 ms) [ok]: Coverage: Basic CLIENT REPLY (0 ms) [ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) [ok]: Coverage: Basic CLIENT GETREDIR (0 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 (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]: 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 (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 (1 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) [ok]: {standalone} SCAN with expired keys with TYPE filter (49 ms) [ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: {standalone} SSCAN with encoding intset (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]: {standalone} SSCAN with encoding listpack (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]: {standalone} SSCAN with encoding hashtable (2 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (1 ms) [ok]: {standalone} HSCAN with encoding listpack (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 (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 (2 ms) [ok]: lazy free a stream with all types of metadata (142 ms) [ok]: lazy free a stream with deleted cgroup (1 ms) [ok]: TIME command using cached time (14 ms) [19/142 done]: unit/lazyfree (1 seconds) Testing unit/pubsub [ok]: {standalone} HSCAN with encoding hashtable (66 ms) [ok]: {standalone} ZSCAN with encoding listpack (1 ms) [20/142 done]: unit/tracking (3 seconds) Testing unit/auth [ok]: Script block the time in some expiration related commands (81 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: {standalone} ZSCAN with encoding skiplist (79 ms) [ok]: {standalone} SCAN guarantees check under write load (9 ms) [ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) [ok]: {standalone} SSCAN with PATTERN (0 ms) [ok]: {standalone} HSCAN with PATTERN (0 ms) [ok]: {standalone} HSCAN with NOVALUES (0 ms) [ok]: {standalone} ZSCAN with PATTERN (0 ms) [ok]: {standalone} ZSCAN with NOSCORES (1 ms) [ok]: Pub/Sub PING on RESP2 (1 ms) [ok]: Pub/Sub PING on RESP3 (0 ms) [ok]: PUBLISH/SUBSCRIBE basics (1 ms) [ok]: PUBLISH/SUBSCRIBE with two clients (0 ms) [ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (0 ms) [ok]: SUBSCRIBE to one channel more than once (0 ms) [ok]: UNSUBSCRIBE from non-subscribed channels (1 ms) [ok]: PUBLISH/PSUBSCRIBE basics (0 ms) [ok]: PUBLISH/PSUBSCRIBE with two clients (0 ms) [ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (1 ms) [ok]: AUTH fails if there is no password configured server side (0 ms) [ok]: Arity check for auth command (0 ms) [ok]: {standalone} ZSCAN scores: regression test for issue #2175 (43 ms) [ok]: PubSub messages with CLIENT REPLY OFF (95 ms) [ok]: PUNSUBSCRIBE from non-subscribed channels (2 ms) [ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) [ok]: NUMPATs returns the number of unique patterns (1 ms) [ok]: Mix SUBSCRIBE and PSUBSCRIBE (1 ms) [ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (0 ms) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (608 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]: Keyspace notifications: we receive keyspace notifications (45 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 (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 (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (0 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 (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 (0 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 (0 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 (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (0 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 (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) [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 (1 ms) [ok]: EVAL - cmsgpack can pack double? (0 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) [ok]: WAITAOF replica copy everysec (949 ms) [ok]: Keyspace notifications: we receive keyevent notifications (47 ms) [ok]: Keyspace notifications: we can receive both kind of events (10 ms) [ok]: Keyspace notifications: we are able to mask events (0 ms) [ok]: Keyspace notifications: general events test (1 ms) [ok]: Keyspace notifications: list events test (1 ms) [ok]: Keyspace notifications: set events test (0 ms) [ok]: Keyspace notifications: zset events test (1 ms) [ok]: Keyspace notifications: hash events test (1 ms) [ok]: Keyspace notifications: stream events test (1 ms) [ok]: AUTH fails when a wrong password is given (0 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 (0 ms) [ok]: For unauthenticated clients multibulk and bulk length are limited (1 ms) [ok]: For unauthenticated clients output buffer is limited (0 ms) [ok]: For once authenticated clients output buffer is NOT limited (0 ms) [ok]: Unauthenticated multibulk limit works in pipeline after AUTH (1 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (117 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (0 ms) [ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (0 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: redis.sha1hex() implementation (0 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (260 ms) [ok]: Keyspace notifications: expired events (triggered expire) (203 ms) [ok]: AUTH fails when binary password is wrong (2 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) [ok]: stats: instantaneous metrics (2004 ms) [ok]: Keyspace notifications: expired events (background expire) (177 ms) [ok]: Keyspace notification: expired event (Expiration time is already expired) (1 ms) [ok]: Keyspace notifications: evicted events (0 ms) [ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) [ok]: Keyspace notifications: new key test (0 ms) [ok]: publish to self inside multi (1 ms) [ok]: publish to self inside script (0 ms) [ok]: unsubscribe inside multi, and publish to self (1 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (262 ms) [ok]: stats: debug metrics (112 ms) [21/142 done]: unit/pubsub (1 seconds) Testing unit/bitfield [ok]: stats: client input and output buffer limit disconnections (33 ms) [ok]: clients: pubsub clients (1 ms) [ok]: clients: watching clients (12 ms) [ok]: BITFIELD signed SET and GET basics (0 ms) [ok]: BITFIELD unsigned SET and GET basics (0 ms) [ok]: BITFIELD signed SET and GET together (0 ms) [ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) [ok]: BITFIELD with only key as argument (0 ms) [ok]: BITFIELD # form (0 ms) [ok]: BITFIELD basic INCRBY form (1 ms) [ok]: BITFIELD chaining of multiple commands (0 ms) [ok]: BITFIELD unsigned overflow wrap (0 ms) [ok]: BITFIELD unsigned overflow sat (1 ms) [ok]: BITFIELD signed overflow wrap (0 ms) [ok]: BITFIELD signed overflow sat (0 ms) [ok]: config during loading (1374 ms) [ok]: Setup replica and check field expiry after full sync (916 ms) [ok]: HASH TTL - replicated TTL is absolute and consistent on replica (1 ms) [ok]: HASH TTL - field expired on master gets deleted on replica (21 ms) [ok]: HASH TTL - replica retains TTL and field before expiration (4 ms) [ok]: HSETEX with expired time is propagated to the replica (1 ms) [ok]: HGETEX with expired time is propagated to the replica (1 ms) [ok]: HEXPIREAT with expired time is propagated to the replica (0 ms) [ok]: BITFIELD overflow detection fuzzing (191 ms) [ok]: memory: database and pubsub overhead and rehashing dict count (3 ms) [22/142 done]: unit/info (3 seconds) Testing unit/expire [ok]: BITFIELD overflow wrap fuzzing (209 ms) [ok]: BITFIELD regression for #3221 (0 ms) [ok]: BITFIELD regression for #3564 (1 ms) [ok]: BITFIELD_RO with only key as argument (0 ms) [ok]: BITFIELD_RO fails when write option is used (1 ms) [ok]: WAITAOF replica copy everysec with AOFRW (1027 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (587 ms) [ok]: EXPIRE - set timeouts multiple times (1 ms) [ok]: EXPIRE - It should be still possible to read 'x' (0 ms) [ok]: Measures elapsed time os.clock() (1028 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 (1 ms) [ok]: Test an example script DECR_IF_GT (1 ms) [ok]: GEOSEARCH fuzzy test - byradius (14112 ms) [ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (292 ms) [ok]: Client output buffer soft limit is enforced if time is overreached (4027 ms) [ok]: AOF rewrite during write load: RDB preamble=yes (13597 ms) [ok]: MEMORY commands during loading (875 ms) [ok]: EVAL does not leak in the Lua stack (777 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) (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]: CONFIG REWRITE handles rename-command properly (346 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (617 ms) [ok]: Replication Primary -> R1 (912 ms) [ok]: Script return recursive object (121 ms) [ok]: Script check unpack with massive arguments (27 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 (0 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 (1 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) [ignore]: large memory flag not provided [ok]: BITFIELD: setup slave (916 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]: primaryauth test with binary password dualchannel = yes (1921 ms) [ok]: MIGRATE cached connections are released after some time (15001 ms) [23/142 done]: unit/bitfield (2 seconds) Testing unit/multi [ok]: MIGRATE is able to migrate a key between two instances (247 ms) [ok]: AUTH fails when binary password is wrong (0 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) [ok]: MULTI / EXEC basics (2 ms) [ok]: DISCARD (0 ms) [ok]: Nested MULTI are not allowed (0 ms) [ok]: MULTI where commands alter argc/argv (1 ms) [ok]: WATCH inside MULTI is not allowed (0 ms) [ok]: EXEC fails if there are errors while queueing commands #1 (0 ms) [ok]: EXEC fails if there are errors while queueing commands #2 (1 ms) [ok]: If EXEC aborts, the client MULTI state is cleared (0 ms) [ok]: EXEC works on WATCHed key not modified (1 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 (1 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (412 ms) [ok]: CONFIG REWRITE handles alias config properly (798 ms) [24/142 done]: unit/introspection (16 seconds) Testing unit/tls [ok]: MIGRATE is able to copy a key between two instances (131 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 (3 ms) [ok]: FLUSHDB while watching stale keys should not fail EXEC (2 ms) [ok]: After successful EXEC key is no longer watched (1 ms) [ok]: After failed EXEC key is no longer watched (0 ms) [ok]: It is possible to UNWATCH (1 ms) [ok]: UNWATCH when there is nothing watched works as expected (0 ms) [ok]: FLUSHALL is able to touch the watched keys (0 ms) [ok]: FLUSHALL does not touch non affected keys (0 ms) [ok]: FLUSHDB is able to touch the watched keys (0 ms) [ok]: FLUSHDB does not touch non affected keys (5 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 (0 ms) [ok]: SWAPDB does not touch watched stale keys (3 ms) [ok]: SWAPDB does not touch non-existing key replaced with stale key (3 ms) [ok]: SWAPDB does not touch stale key replaced with another stale key (2 ms) [ok]: WATCH is able to remember the DB a key belongs to (0 ms) [ok]: WATCH will consider touched keys target of EXPIRE (0 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (90 ms) [25/142 done]: unit/tls (0 seconds) Testing unit/violations [ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (224 ms) [ok]: Timedout script does not cause a false dead client (168 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (1051 ms) [ok]: SORT adds integer field to list (1 ms) [ok]: Chain Replication (Primary -> R1 -> R2) preserves TTL (937 ms) [ok]: Timedout script link is still usable after Lua returns (134 ms) [ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2101 ms) [ok]: EXPIRE - write on expire should work (0 ms) [ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) [ok]: SETEX - Set + Expire combo operation. Check for TTL (0 ms) [ok]: SETEX - Check value (0 ms) [ok]: SETEX - Overwrite old key (0 ms) [26/143 done]: unit/violations (0 seconds) Testing unit/pause [ok]: WAITAOF replica copy everysec with slow AOFRW (2133 ms) [ok]: MIGRATE propagates TTL correctly (242 ms) [ok]: WAITAOF replica copy everysec->always with AOFRW (111 ms) [ok]: WAITAOF replica copy appendfsync always (1 ms) [ok]: client evicted due to client tracking prefixes (14864 ms) [ok]: client evicted due to output buf (6 ms) [ok]: client no-evict on (65 ms) [ok]: client no-evict off (50 ms) [ok]: Timedout scripts and unblocked command (407 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]: avoid client eviction when client is freed by output buffer limit (115 ms) [ok]: WATCH will consider touched expired keys (1104 ms) [ok]: DISCARD should clear the WATCH dirty flag on the client (0 ms) [ok]: DISCARD should UNWATCH all the keys (0 ms) [ok]: MULTI / EXEC is not propagated (single write command) (59 ms) [ok]: Before the replica connects we issue two EVAL commands (0 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands) (101 ms) [ok]: Cluster config file latency (70 ms) [ok]: WAITAOF replica copy if replica is blocked (828 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (1119 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (101 ms) [ok]: Replica Failover (1014 ms) [ok]: MULTI / EXEC is propagated correctly (empty transaction) (101 ms) [ok]: SETEX - Wait for the key to expire (1100 ms) [ok]: SETEX - Wrong time parameter (0 ms) [ok]: PERSIST can undo an EXPIRE (1 ms) [ok]: PERSIST returns 0 against non existing or non volatile keys (0 ms) [27/143 done]: unit/latency-monitor (17 seconds) Testing unit/pubsubshard [ok]: SPUBLISH/SSUBSCRIBE basics (1 ms) [ok]: SPUBLISH/SSUBSCRIBE with two clients (1 ms) [ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (1 ms) [ok]: SSUBSCRIBE to one channel more than once (0 ms) [ok]: SUNSUBSCRIBE from non-subscribed channels (1 ms) [ok]: PUBSUB command basics (0 ms) [ok]: SPUBLISH/SSUBSCRIBE with two clients (2 ms) [ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (4 ms) [ok]: MULTI / EXEC is propagated correctly (read-only commands) (101 ms) [ok]: PubSubShard with CLIENT REPLY OFF (99 ms) [ok]: MULTI / EXEC is propagated correctly (write command, no effect) (102 ms) [ok]: decrease maxmemory-clients causes client eviction (427 ms) [ok]: MULTI / EXEC with REPLICAOF (101 ms) [ok]: DISCARD should not fail during OOM (0 ms) [ok]: primaryauth test with binary password dualchannel = no (1948 ms) [ok]: Connect a replica to the master instance (813 ms) [ok]: Replication of script multiple pushes to list with BLPOP (1 ms) [ok]: Lua scripts using SELECT are replicated correctly (0 ms) [28/143 done]: unit/auth (5 seconds) Testing unit/limits [ok]: evict clients only until below limit (212 ms) [ok]: MULTI and script timeout (402 ms) [ok]: WAITAOF replica multiple clients unblock - reuse last result (1005 ms) [ok]: WAITAOF on promoted replica (1 ms) [ok]: EXEC and script timeout (408 ms) [ok]: EXPIRE precision is now the millisecond (1102 ms) [ok]: evict clients in right order (large to small) (235 ms) [ok]: Test check paused info in info clients (2061 ms) [ok]: Test read commands are not blocked by client pause (0 ms) [ok]: PSETEX can set sub-second expires (102 ms) [ok]: PEXPIRE can set sub-second expires (103 ms) [ok]: setup replication for following tests (907 ms) [ok]: publish message to master and receive on replica (1 ms) [ok]: client total memory grows during client no-evict (128 ms) [ok]: {standalone} SCAN regression test for issue #4906 (5868 ms) [ok]: {standalone} SCAN MATCH pattern implies cluster slot (22 ms) [ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (350 ms) [ok]: PEXPIREAT can set sub-second expires (202 ms) [ok]: MULTI-EXEC body and script timeout (408 ms) [ok]: EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired (4 ms) [ok]: TTL returns time to live in seconds (0 ms) [ok]: PTTL returns time to live in milliseconds (1 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (2 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (1 ms) [ok]: EXPIRETIME returns absolute expiration time in seconds (0 ms) [ok]: PEXPIRETIME returns absolute expiration time in milliseconds (0 ms) [ok]: Test new pause time is smaller than old one, then old time preserved (100 ms) [ok]: client total memory grows during maxmemory-clients disabled (164 ms) [ok]: Test write commands are paused by RO (8 ms) [ok]: Test special commands are paused by RO (0 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 (0 ms) [ok]: Test scripts are blocked by pause RO (0 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 (0 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 (1 ms) [ok]: Test multiple clients can be queued up and unblocked (0 ms) [ok]: Test clients with syntax errors will get responses immediately (1 ms) [ok]: Test eviction is skipped during client pause (2 ms) [ok]: Check if maxclients works refusing connections (907 ms) [ok]: Test both active and passive expires are skipped during client pause (102 ms) [ok]: Test that client pause starts at the end of a transaction (0 ms) [29/143 done]: unit/client-eviction (19 seconds) Testing unit/protocol [30/143 done]: unit/limits (1 seconds) Testing unit/type/zset [ok]: Check encoding - listpack (1 ms) [ok]: ZSET basic ZADD and score update - listpack (0 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 (0 ms) [ok]: ZADD XX returns the number of elements actually added - listpack (0 ms) [ok]: ZADD XX updates existing elements score - listpack (6 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 (2 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (0 ms) [ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (0 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]: ZADD INCR LT/GT replies with nill if score not updated - listpack (0 ms) [ok]: ZADD INCR LT/GT with inf - listpack (1 ms) [ok]: ZADD INCR works like ZINCRBY - listpack (0 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 (5 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 (0 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 (0 ms) [ok]: ZCARD basics - listpack (1 ms) [ok]: ZREM removes key after last element is removed - listpack (1 ms) [ok]: ZREM variadic version - listpack (1 ms) [ok]: ZREM variadic version -- remove elements after key deletion - listpack (0 ms) [ok]: ZRANGE basics - listpack (2 ms) [ok]: ZREVRANGE basics - listpack (1 ms) [ok]: ZRANK/ZREVRANK basics - listpack (1 ms) [ok]: ZRANK - after deletion - listpack (0 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 (4 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - listpack (1 ms) [ok]: just EXEC and script timeout (402 ms) [ok]: exec with write commands and state change (2 ms) [ok]: ZRANGEBYSCORE with LIMIT - listpack (9 ms) [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (1 ms) [ok]: ZRANGEBYSCORE with non-value min or max - listpack (0 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (2 ms) [ok]: ZLEXCOUNT advanced - listpack (1 ms) [ok]: Handle an empty query (49 ms) [ok]: Handle an empty query in pipeline (1 ms) [ok]: ZRANGEBYLEX with LIMIT - listpack (4 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (0 ms) [ok]: ZREMRANGEBYSCORE basics - listpack (7 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (0 ms) [ok]: ZREMRANGEBYRANK basics - listpack (3 ms) [ok]: ZREMRANGEBYLEX basics - listpack (8 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (1 ms) [ok]: ZUNIONSTORE with empty set - listpack (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (1 ms) [ok]: ZUNIONSTORE basics - listpack (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (1 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 (0 ms) [ok]: ZINTERCARD with illegal arguments (1 ms) [ok]: ZINTERCARD basics - listpack (0 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 (0 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 (0 ms) [ok]: ZINTERSTORE with +inf/-inf scores - listpack (1 ms) [ok]: ZINTERSTORE with NaN weights - listpack (0 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 (0 ms) [ok]: ZDIFF algorithm 2 - listpack (1 ms) [ok]: Negative multibulk length (49 ms) [ok]: Negative multibulk length in pipeline (1 ms) [ok]: Out of range multibulk length (0 ms) [ok]: Wrong multibulk payload header (0 ms) [ok]: Negative multibulk payload length (0 ms) [ok]: Out of range multibulk payload length (1 ms) [ok]: Non-number multibulk payload length (0 ms) [ok]: Multi bulk request not followed by bulk arguments (0 ms) [ok]: Generic wrong number of args (0 ms) [ok]: Mixing quoted and unquoted strings (0 ms) [ok]: Unbalanced single quotes (0 ms) [ok]: Unbalanced double quotes (0 ms) [ok]: exec with read commands and stale replica state change (98 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 (1 ms) [ok]: Blocking commands ignores the timeout (0 ms) [ok]: Protocol desync regression test #1 (47 ms) [ok]: Protocol desync regression test #2 (1 ms) [ok]: Protocol desync regression test #3 (0 ms) [ok]: Protocol desync regression test #4 (52 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 (2 ms) [ok]: RESP3 attributes on RESP2 (1 ms) [ok]: test big number parsing (0 ms) [ok]: test bool parsing (0 ms) [ok]: test verbatim str parsing (0 ms) [ok]: MULTI propagation of PUBLISH (100 ms) [ok]: Server should actively expire keys incrementally (603 ms) [ok]: test large number of args (70 ms) [ok]: test argument rewriting - issue 9598 (1 ms) [ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5030 ms) [ok]: MULTI propagation of SCRIPT LOAD (100 ms) [ok]: No response for single command if client output buffer hard limit is enforced (109 ms) [ok]: MULTI propagation of EVAL (100 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (2465 ms) [ok]: HELLO without protover (1 ms) [ok]: HELLO and availability-zone (1 ms) [ok]: MULTI propagation of SCRIPT FLUSH (102 ms) [31/143 done]: unit/pubsubshard (3 seconds) Testing unit/type/set [ok]: MULTI propagation of XREADGROUP (101 ms) [ok]: MULTI with SAVE (1 ms) [ok]: MULTI with SHUTDOWN (1 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (3 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (7 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (1 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non set (0 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non existing key (0 ms) [ok]: SMISMEMBER requires one or more members (0 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 (5 ms) [ok]: SADD an integer larger than 64 bits (0 ms) [ok]: SADD an integer larger than 64 bits to a large intset (5 ms) [ok]: Regression for a crash with blocking ops and pipelining (0 ms) [ok]: SADD overflows the maximum allowed integers in an intset - single (31 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - single (6 ms) [ok]: SADD overflows the maximum allowed integers in an intset - multiple (51 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - multiple (1 ms) [32/143 done]: unit/protocol (1 seconds) Testing unit/type/hash [ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (48 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (1 ms) [ok]: Variadic SADD (0 ms) [ok]: MULTI with BGREWRITEAOF (204 ms) [ok]: Test when replica paused, offset would not grow (4 ms) [ok]: Test replica offset would grow after unpause (1 ms) [ok]: Connect a replica to the master instance (823 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]: HSET/HLEN - Small hash creation (1 ms) [ok]: Redis.set_repl() don't accept invalid values (0 ms) [ok]: Is the small hash encoded with a listpack? (0 ms) [ok]: Test selective replication of certain commands from Lua (2 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]: Set encoding after DEBUG RELOAD (100 ms) [ok]: SREM basics - $type (0 ms) [ok]: HRANDFIELD - listpack (7 ms) [ok]: SREM basics - $type (12 ms) [ok]: SREM basics - intset (1 ms) [ok]: HRANDFIELD - hashtable (9 ms) [ok]: SREM with multiple arguments (1 ms) [ok]: SREM variadic version with more args needed to destroy the key (0 ms) [ok]: HRANDFIELD with RESP3 (0 ms) [ok]: HRANDFIELD count of 0 is handled correctly (1 ms) [ok]: HRANDFIELD count overflow (0 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]: SINTERCARD with illegal arguments (1 ms) [ok]: SINTERCARD against non-set should throw error (1 ms) [ok]: SINTERCARD against non-existing key (0 ms) [ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (6 ms) [ok]: CLIENT UNBLOCK is not allow to unblock client blocked by CLIENT PAUSE (1 ms) [ok]: Generated sets must be encoded correctly - regular (0 ms) [ok]: SINTER with two sets - regular (0 ms) [ok]: SINTERCARD with two sets - regular (0 ms) [ok]: SINTERSTORE with two sets - regular (1 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (4 ms) [ok]: WAITAOF master that loses a replica and backlog is dropped (2003 ms) [ok]: SUNION with two sets - regular (4 ms) [ok]: SUNIONSTORE with two sets - regular (7 ms) [ok]: Promotion to primary (2943 ms) [ok]: SINTER against three sets - regular (0 ms) [ok]: SINTERCARD against three sets - regular (0 ms) [ok]: SINTERSTORE with three sets - regular (0 ms) [ok]: SUNION with non existing keys - regular (5 ms) [ok]: SDIFF with two sets - regular (0 ms) [ok]: SDIFF with three sets - regular (0 ms) [ok]: SDIFFSTORE with three sets - regular (0 ms) [ok]: SINTER/SUNION/SDIFF with three same sets - regular (3 ms) [ok]: Generated sets must be encoded correctly - intset (0 ms) [ok]: SINTER with two sets - intset (0 ms) [ok]: SINTERCARD with two sets - intset (0 ms) [ok]: SINTERSTORE with two sets - intset (0 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (4 ms) [ok]: HRANDFIELD with - hashtable (85 ms) [ok]: SUNION with two sets - intset (4 ms) [ok]: SUNIONSTORE with two sets - intset (5 ms) [ok]: SINTER against three sets - intset (0 ms) [ok]: SINTERCARD against three sets - intset (0 ms) [ok]: SINTERSTORE with three sets - intset (0 ms) [ok]: SUNION with non existing keys - intset (5 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]: MULTI with config set appendonly (206 ms) [ok]: MULTI with config error (1 ms) [ok]: Flushall while watching several keys by one client (0 ms) [ok]: MULTI is rejected when CLIENT REPLY is ON/OFF/SKIP (1 ms) [ok]: SINTER/SUNION/SDIFF with three same sets - intset (5 ms) [ok]: SINTERSTORE with two listpack sets where result is intset (1 ms) [ok]: SINTERSTORE with two hashtable sets where result is intset (10 ms) [ok]: SUNION hashtable and listpack (0 ms) [ok]: SDIFF with first set empty (1 ms) [ok]: SDIFF with same set two times (0 ms) [ok]: HRANDFIELD with - listpack (79 ms) [ok]: CLIENT REPLY OFF/SKIP: multi command (110 ms) [ok]: AUTH errored inside MULTI will add the reply (1 ms) [ok]: HSET/HLEN - Big hash creation (57 ms) [ok]: Is the big hash encoded with an hash table? (0 ms) [ok]: HGET against the small hash (1 ms) [ok]: HGET against the big hash (35 ms) [ok]: HGET against non existing key (0 ms) [ok]: HSET in update and insert mode (0 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 (1 ms) [ok]: HSET/HMSET wrong number of args (0 ms) [ok]: HMSET - small hash (0 ms) [ok]: Server should lazy expire keys (1003 ms) [ok]: HMSET - big hash (52 ms) [ok]: HMGET against non existing key and fields (0 ms) [ok]: Hash commands against wrong type (1 ms) [ok]: HMGET - small hash (1 ms) [ok]: HMGET - big hash (54 ms) [ok]: HKEYS - small hash (0 ms) [ok]: HKEYS - big hash (7 ms) [ok]: HVALS - small hash (0 ms) [ok]: HVALS - big hash (1 ms) [ok]: HGETALL - small hash (1 ms) [ok]: HGETALL - big hash (22 ms) [ok]: HGETALL against non-existing key (0 ms) [ok]: HDEL and return value (1 ms) [ok]: HDEL - more than a single value (0 ms) [ok]: HDEL - hash becomes empty before deleting all specified fields (0 ms) [ok]: HEXISTS (0 ms) [ok]: Is a ziplist encoded Hash promoted on big payload? (1 ms) [ok]: HINCRBY against non existing database key (0 ms) [ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (0 ms) [ok]: HINCRBY against non existing hash key (0 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 (0 ms) [ok]: HINCRBY fails against hash value with spaces (left) (0 ms) [ok]: HINCRBY fails against hash value with spaces (right) (0 ms) [ok]: HINCRBY can detect overflows (1 ms) [ok]: HINCRBYFLOAT against non existing database key (0 ms) [ok]: HINCRBYFLOAT against non existing hash key (0 ms) [ok]: HINCRBYFLOAT against hash key created by hincrby itself (0 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) (0 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]: MULTI with FLUSHALL and AOF (2 ms) [ok]: HSTRLEN against the big hash (33 ms) [ok]: HSTRLEN against non existing field (0 ms) [ok]: HSTRLEN corner cases (1 ms) [ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (0 ms) [ok]: Hash ziplist regression test for large keys (1 ms) [ok]: Hash fuzzing #1 - 10 fields (15 ms) [ok]: Hash fuzzing #2 - 10 fields (11 ms) [ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1062 ms) [ok]: Execute transactions completely even if client output buffer limit is enforced (16 ms) [ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (30 ms) [ok]: Obuf limit, KEYS stopped mid-run (64 ms) [33/143 done]: unit/obuf-limits (12 seconds) Testing unit/type/stream-cgroups [ok]: XGROUP CREATE: creation and duplicate group name detection (1 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 (4 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 (0 ms) [ok]: XPENDING can return single consumer items (0 ms) [ok]: XPENDING only group (1 ms) [ok]: XPENDING with IDLE (20 ms) [ok]: XPENDING with exclusive range intervals works as expected (1 ms) [ok]: XACK is able to remove items from the consumer/group PEL (1 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 (1 ms) [ok]: PEL NACK reassignment after XGROUP SETID event (1 ms) [ok]: XREADGROUP will not report data on empty history. Bug #5577 (1 ms) [ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (1 ms) [ok]: {cluster} SCAN basic (68 ms) [ok]: Blocking XREADGROUP will not reply with an empty array (23 ms) [ok]: Blocking XREADGROUP: key deleted (4 ms) [ok]: Blocking XREADGROUP: key type changed with SET (3 ms) [ok]: Blocking XREADGROUP: key type changed with transaction (2 ms) [ok]: Blocking XREADGROUP: flushed DB (1 ms) [ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (1 ms) [ok]: Blocking XREADGROUP: swapped DB, key is not a stream (1 ms) [ok]: XREAD and XREADGROUP against wrong parameter (0 ms) [ok]: Blocking XREAD: key deleted (1 ms) [ok]: Blocking XREAD: key type changed with SET (1 ms) [ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (27 ms) [ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (4 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on list (5 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (2 ms) [ok]: {cluster} SCAN COUNT (73 ms) [ok]: MIGRATE can correctly transfer large values (4899 ms) [ok]: {cluster} SCAN MATCH (48 ms) [ok]: {cluster} SCAN TYPE (64 ms) [ok]: {cluster} SCAN unknown type (43 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 (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 (0 ms) [ok]: test RESP2/2 true protocol parsing (1 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 (0 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) [ok]: test RESP2/3 set protocol parsing (1 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 (0 ms) [ok]: test RESP3/2 set protocol parsing (0 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 (2 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 (0 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 (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 (12 ms) [ok]: Script delete the expired key (2 ms) [ok]: Hash fuzzing #1 - 512 fields (713 ms) [ok]: TIME command using cached time (10 ms) [ok]: {cluster} SCAN with expired keys (52 ms) [ok]: MIGRATE can correctly transfer hashes (225 ms) [ok]: {cluster} SCAN with expired keys with TYPE filter (50 ms) [ok]: {cluster} SSCAN with encoding intset (1 ms) [ok]: {cluster} SSCAN with encoding listpack (1 ms) [ok]: {cluster} SSCAN with encoding hashtable (2 ms) [ok]: {cluster} HSCAN with encoding listpack (1 ms) [ok]: Script block the time in some expiration related commands (83 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: ZDIFF fuzzing - listpack (2159 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 (0 ms) [ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - listpack (0 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (0 ms) [ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (1 ms) [ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (1 ms) [ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (0 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 (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (0 ms) [ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (0 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (0 ms) [ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (1 ms) [ok]: EXPIRE should not resurrect keys (issue #1026) (1001 ms) [ok]: Check encoding - skiplist (0 ms) [ok]: 5 keys in, 5 keys out (1 ms) [ok]: ZSET basic ZADD and score update - skiplist (1 ms) [ok]: EXPIRE with empty string as TTL should report an error (0 ms) [ok]: ZSET element can't be set to NaN with ZADD - skiplist (0 ms) [ok]: SET with EX with big integer should report an error (0 ms) [ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (0 ms) [ok]: SET with EX with smallest integer should report an error (0 ms) [ok]: ZADD with options syntax error with incomplete pair - skiplist (0 ms) [ok]: GETEX with big integer should report an error (0 ms) [ok]: ZADD XX option without key - skiplist (0 ms) [ok]: GETEX with smallest integer should report an error (0 ms) [ok]: ZADD XX existing key - skiplist (0 ms) [ok]: EXPIRE with big integer overflows when converted to milliseconds (1 ms) [ok]: ZADD XX returns the number of elements actually added - skiplist (0 ms) [ok]: PEXPIRE with big integer overflow when basetime is added (0 ms) [ok]: ZADD XX updates existing elements score - skiplist (1 ms) [ok]: EXPIRE with big negative integer (0 ms) [ok]: ZADD GT updates existing elements when new scores are greater - skiplist (0 ms) [ok]: PEXPIREAT with big integer works (0 ms) [ok]: ZADD LT updates existing elements when new scores are lower - skiplist (0 ms) [ok]: PEXPIREAT with big negative integer works (0 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (0 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 (0 ms) [ok]: ZADD NX with non existing key - skiplist (0 ms) [ok]: ZADD NX only add new elements without updating old ones - skiplist (0 ms) [ok]: ZADD GT and NX are not compatible - skiplist (0 ms) [ok]: ZADD LT and NX are not compatible - skiplist (1 ms) [ok]: ZADD LT and GT are not compatible - skiplist (0 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (0 ms) [ok]: ZADD INCR LT/GT with inf - skiplist (1 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 (0 ms) [ok]: ZINCRBY calls leading to NaN result in error - skiplist (0 ms) [ok]: ZINCRBY against invalid incr value - skiplist (0 ms) [ok]: ZADD - Variadic version base case - skiplist (0 ms) [ok]: ZADD - Return value is the number of actually added items - skiplist (0 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 (0 ms) [ok]: ZRANGE basics - skiplist (1 ms) [ok]: ZREVRANGE basics - skiplist (1 ms) [ok]: ZRANK/ZREVRANK basics - skiplist (0 ms) [ok]: ZRANK - after deletion - skiplist (1 ms) [ok]: ZINCRBY - can create a new sorted set - skiplist (0 ms) [ok]: ZINCRBY - increment and decrement - skiplist (0 ms) [ok]: ZINCRBY return value - skiplist (0 ms) [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (2 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (1 ms) [ok]: ZRANGEBYSCORE with LIMIT - skiplist (2 ms) [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (0 ms) [ok]: ZRANGEBYSCORE with non-value min or max - skiplist (0 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (2 ms) [ok]: ZLEXCOUNT advanced - skiplist (0 ms) [ok]: ZRANGEBYLEX with LIMIT - skiplist (3 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (0 ms) [ok]: ZREMRANGEBYSCORE basics - skiplist (4 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (0 ms) [ok]: ZREMRANGEBYRANK basics - skiplist (2 ms) [ok]: {cluster} HSCAN with encoding hashtable (72 ms) [ok]: {cluster} ZSCAN with encoding listpack (1 ms) [ok]: ZREMRANGEBYLEX basics - skiplist (5 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (0 ms) [ok]: ZUNIONSTORE with empty set - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (0 ms) [ok]: ZUNIONSTORE basics - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (1 ms) [ok]: ZUNIONSTORE with weights - skiplist (0 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 (0 ms) [ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (0 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (0 ms) [ok]: ZINTERSTORE basics - skiplist (0 ms) [ok]: ZINTER basics - skiplist (0 ms) [ok]: ZINTERCARD with illegal arguments (0 ms) [ok]: ZINTERCARD basics - skiplist (0 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 (0 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 (0 ms) [ok]: ZINTERSTORE with +inf/-inf scores - skiplist (1 ms) [ok]: ZINTERSTORE with NaN weights - skiplist (0 ms) [ok]: ZDIFFSTORE basics - skiplist (0 ms) [ok]: ZDIFF basics - skiplist (0 ms) [ok]: ZDIFFSTORE with a regular set - skiplist (0 ms) [ok]: ZDIFF subtracting set from itself - skiplist (0 ms) [ok]: ZDIFF algorithm 1 - skiplist (1 ms) [ok]: ZDIFF algorithm 2 - skiplist (0 ms) [ok]: {cluster} ZSCAN with encoding skiplist (83 ms) [ok]: {cluster} SCAN guarantees check under write load (16 ms) [ok]: {cluster} SSCAN with integer encoded object (issue #1345) (0 ms) [ok]: {cluster} SSCAN with PATTERN (0 ms) [ok]: {cluster} HSCAN with PATTERN (0 ms) [ok]: {cluster} HSCAN with NOVALUES (0 ms) [ok]: {cluster} ZSCAN with PATTERN (0 ms) [ok]: {cluster} ZSCAN with NOSCORES (0 ms) [ok]: {cluster} ZSCAN scores: regression test for issue #2175 (55 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) [ok]: EVAL - Return _G (1 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 (0 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? (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 (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (0 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 (0 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 (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 (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 (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) (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]: Hash fuzzing #2 - 512 fields (440 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (130 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (0 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 (0 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) [ok]: redis.sha1hex() implementation (0 ms) [ok]: MIGRATE timeout actually works (739 ms) [ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (2020 ms) [ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1099 ms) [ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (2 ms) [ok]: RENAME can unblock XREADGROUP with data (2 ms) [ok]: RENAME can unblock XREADGROUP with -NOGROUP (1 ms) [ok]: MIGRATE can migrate multiple keys at once (115 ms) [ok]: MIGRATE with multiple keys must have empty key arg (0 ms) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (2592 ms) [ok]: Stress test the hash ziplist -> hashtable encoding conversion (645 ms) [ok]: MIGRATE with multiple keys migrate just existing ones (217 ms) [ok]: Hash ziplist of various encodings (103 ms) [ok]: Hash ziplist of various encodings - sanitize dump (2 ms) [ok]: HINCRBYFLOAT does not allow NaN or Infinity (0 ms) [ok]: SDIFF fuzzing (2270 ms) [ok]: SDIFF against non-set should throw error (0 ms) [ok]: SDIFF should handle non existing key as empty (0 ms) [ok]: SDIFFSTORE against non-set should throw error (1 ms) [ok]: SDIFFSTORE should handle non existing key as empty (1 ms) [ok]: SINTER against non-set should throw error (0 ms) [ok]: SINTER should handle non existing key as empty (0 ms) [ok]: SINTER with same integer elements but different encoding (0 ms) [ok]: SINTERSTORE against non-set should throw error (0 ms) [ok]: SINTERSTORE against non existing keys should delete dstkey (1 ms) [34/143 done]: unit/type/hash (3 seconds) Testing unit/type/string [ok]: SUNION against non-set should throw error (0 ms) [ok]: SUNION should handle non existing key as empty (0 ms) [ok]: SUNIONSTORE against non-set should throw error (1 ms) [ok]: SUNIONSTORE should handle non existing key as empty (1 ms) [ok]: SUNIONSTORE against non existing keys should delete dstkey (0 ms) [ok]: SPOP basics - listpack (0 ms) [ok]: SPOP with =1 - listpack (1 ms) [ok]: SRANDMEMBER - listpack (3 ms) [ok]: SPOP basics - intset (0 ms) [ok]: SPOP with =1 - intset (1 ms) [ok]: SRANDMEMBER - intset (3 ms) [ok]: SPOP integer from listpack set (1 ms) [ok]: SPOP with - listpack (1 ms) [ok]: SPOP with - intset (1 ms) [ok]: SPOP with - hashtable (1 ms) [ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (1 ms) [ok]: SPOP using integers with Knuth's algorithm (0 ms) [ok]: SPOP new implementation: code path #1 intset (1 ms) [ok]: SPOP new implementation: code path #2 intset (1 ms) [ok]: SPOP new implementation: code path #3 intset (1 ms) [ok]: SPOP new implementation: code path #1 listpack (1 ms) [ok]: SPOP new implementation: code path #2 listpack (1 ms) [ok]: SPOP new implementation: code path #3 listpack (1 ms) [ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (16 ms) [ok]: SRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: SRANDMEMBER with against non existing key (0 ms) [ok]: SRANDMEMBER count overflow (0 ms) [ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (1 ms) [ok]: SRANDMEMBER with against non existing key - emptyarray (0 ms) [ok]: SRANDMEMBER with - listpack (22 ms) [ok]: SRANDMEMBER with - intset (14 ms) [ok]: SRANDMEMBER with - hashtable (14 ms) [ok]: SET and GET an item (0 ms) [ok]: SET and GET an empty item (1 ms) [ok]: MIGRATE with multiple keys: stress command rewriting (213 ms) [ok]: SRANDMEMBER histogram distribution - listpack (74 ms) [ok]: Very big payload in GET/SET (49 ms) [ok]: Regression test for multi-exec with RANDOMKEY accessing the wrong per-slot dictionary (1 ms) [ok]: SRANDMEMBER histogram distribution - intset (41 ms) [ok]: SRANDMEMBER histogram distribution - hashtable (40 ms) [ok]: SMOVE basics - from regular set to intset (2 ms) [ok]: SMOVE basics - from intset to regular set (0 ms) [ok]: SMOVE non existing key (1 ms) [ok]: SMOVE non existing src set (0 ms) [ok]: SMOVE from regular set to non existing destination set (0 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) [ok]: Measures elapsed time os.clock() (1006 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (1 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]: Test an example script DECR_IF_GT (0 ms) [ok]: XCLAIM can claim PEL items from another consumer (605 ms) [35/143 done]: unit/multi (7 seconds) Testing unit/type/stream [ok]: MIGRATE with multiple keys: delete just ack keys (224 ms) [ok]: XADD wrong number of args (1 ms) [ok]: XADD can add entries into a stream that XRANGE can fetch (0 ms) [ok]: XADD IDs are incremental (0 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 (0 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 (0 ms) [ok]: XADD 0-* should succeed (1 ms) [ok]: XADD with MAXLEN option (65 ms) [ok]: XADD with MAXLEN option and the '=' argument (50 ms) [ok]: MIGRATE AUTH: correct and wrong password cases (212 ms) [ok]: XADD with MAXLEN option and the '~' argument (41 ms) [ok]: XADD with NOMKSTREAM option (0 ms) [ok]: EVAL does not leak in the Lua stack (329 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (0 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 (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) [36/143 done]: unit/dump (23 seconds) Testing unit/type/incr [ok]: XADD with MINID option (51 ms) [ok]: XTRIM with MINID option (0 ms) [ok]: XTRIM with MINID option, big delta from master record (0 ms) [ok]: WAITAOF master isn't configured to do AOF (1003 ms) [ok]: Script return recursive object (109 ms) [ok]: XCLAIM without JUSTID increments delivery count (401 ms) [ok]: INCR against non existing key (0 ms) [ok]: INCR against key created by incr itself (0 ms) [ok]: DECR against key created by incr (0 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) (0 ms) [ok]: INCR fails against key with spaces (right) (0 ms) [ok]: INCR fails against key with spaces (both) (0 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 (0 ms) [ok]: DECRBY against key is not exist (0 ms) [ok]: INCR can modify objects in-place (1 ms) [ok]: INCRBYFLOAT against non existing key (0 ms) [ok]: INCRBYFLOAT against key originally set with SET (1 ms) [ok]: INCRBYFLOAT over 32bit value (0 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 (0 ms) [ok]: INCRBYFLOAT does not allow NaN or Infinity (0 ms) [ok]: INCRBYFLOAT decrement (1 ms) [ok]: string to double with null terminator (0 ms) [ok]: No negative zero (0 ms) [ok]: INCRBY INCRBYFLOAT DECRBY against unhappy path (1 ms) [ok]: incr operation should update encoding from raw to int (1 ms) [ok]: decr operation should update encoding from raw to int (0 ms) [ok]: incrby operation should update encoding from raw to int (0 ms) [ok]: decrby operation should update encoding from raw to int (1 ms) [ok]: Script check unpack with massive arguments (34 ms) [ok]: Script read key with expiration set (4 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 (0 ms) [ok]: Try trick global protection 2 (0 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 (0 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) [ignore]: large memory flag not provided [ok]: WAITAOF replica isn't configured to do AOF (105 ms) [37/143 done]: unit/type/incr (0 seconds) Testing unit/type/list-3 [ok]: Hash with TTL fields migrates correctly between nodes (10 ms) [ok]: XCLAIM same consumer (203 ms) [ok]: Explicit regression for a list bug (0 ms) [ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2038 ms) [ok]: Regression for quicklist #3343 bug (151 ms) [ok]: ZDIFF fuzzing - skiplist (2205 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 (0 ms) [ok]: ZPOPMAX with negative count (0 ms) [ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (1 ms) [ok]: ZPOPMIN/ZPOPMAX with count - skiplist (0 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (1 ms) [ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (0 ms) [ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (1 ms) [ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (0 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 (1 ms) [ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (0 ms) [ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (0 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (1 ms) [ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (1 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (0 ms) [ok]: ZPOP/ZMPOP against wrong type (0 ms) [ok]: ZMPOP with illegal argument (1 ms) [ok]: Check compression with recompress (99 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (408 ms) [ok]: intsets implementation stress testing (968 ms) [ok]: All TTL in commands are propagated as absolute timestamp in replication stream (100 ms) [ok]: ZMPOP propagate as pop with count command to replica (75 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (1 ms) [38/144 done]: unit/type/set (4 seconds) Testing unit/type/list-2 [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (64 ms) [ok]: Timedout script does not cause a false dead client (61 ms) [ok]: First server should have role slave after REPLICAOF (1 ms) [ok]: maxmemory - policy volatile-lru should only remove volatile keys. (1666 ms) [ok]: Timedout script link is still usable after Lua returns (71 ms) [ok]: Crash due to wrongly recompress after lrem (251 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (194 ms) [ok]: ZMPOP readraw in RESP3 (1 ms) [ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (49 ms) [ok]: XAUTOCLAIM can claim PEL items from another consumer (607 ms) [ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (50 ms) [ok]: BZMPOP readraw in RESP3 (201 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) [ok]: WAITAOF both local and replica got AOF enabled at runtime (905 ms) [ok]: XAUTOCLAIM as an iterator (202 ms) [ok]: XAUTOCLAIM COUNT must be > 0 (0 ms) [ok]: XCLAIM with XDEL (1 ms) [ok]: XCLAIM with trimming (0 ms) [ok]: XAUTOCLAIM with XDEL (0 ms) [ok]: XAUTOCLAIM with XDEL and count (1 ms) [ok]: XAUTOCLAIM with out of range count (0 ms) [ok]: XCLAIM with trimming (3 ms) [ok]: XINFO FULL output (3 ms) [ok]: Timedout scripts and unblocked command (339 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (198 ms) [ok]: ZMPOP readraw in RESP2 (2 ms) [ok]: TTL Persistence in AOF aof-use-rdb-preamble yes (559 ms) [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (202 ms) [ok]: Consumer seen-time and active-time (209 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (2 ms) [ok]: XGROUP CREATECONSUMER: create consumer if does not exist (1 ms) [ok]: XGROUP CREATECONSUMER: group must exist (1 ms) [ok]: XREADGROUP with NOACK creates consumer (6 ms) [ok]: BZMPOP readraw in RESP2 (199 ms) [ok]: ZINTERSTORE regression with two sets, intset+hashtable (0 ms) [ok]: ZUNIONSTORE regression, should not create NaN in scores (0 ms) [ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (0 ms) [ok]: Consumer without PEL is present in AOF after AOFRW (118 ms) [ok]: XADD mass insertion and XLEN (1507 ms) [ok]: XADD with ID 0-0 (0 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 (0 ms) [ok]: ZUNIONSTORE result is sorted (121 ms) [ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (0 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 (0 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]: Before the replica connects we issue two EVAL commands (0 ms) [ok]: Consumer group read counter and lag in empty streams (2 ms) [ok]: Consumer group read counter and lag sanity (8 ms) [ok]: Consumer group lag with XDELs (5 ms) [ok]: ZSCORE - listpack (28 ms) [ok]: Consumer group lag with XTRIM (6 ms) [ok]: Consumer group lag with XADD trimming (8 ms) [ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (2 ms) [ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (1 ms) [ok]: ZMSCORE - listpack (32 ms) [ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (906 ms) [ok]: ZSCORE after a DEBUG RELOAD - listpack (37 ms) [ok]: ZSET sorting stresser - listpack (31 ms) [ok]: XRANGE can be used to iterate the whole stream (263 ms) [ok]: expired key which is created in writeable replicas should be deleted by active expiry (306 ms) [ok]: TTL Persistence in AOF aof-use-rdb-preamble no (547 ms) [ok]: SET command will remove expire (0 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed (1 ms) [ok]: Very big payload random access (2637 ms) [ok]: WAITAOF master sends PING after last write (1203 ms) [ok]: Connect a replica to the master instance (812 ms) [ok]: Replication of script multiple pushes to list with BLPOP (1 ms) [ok]: Lua scripts using SELECT are replicated correctly (1 ms) [ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (1699 ms) [ok]: Consumer group last ID propagation to slave (NOACK=0) (909 ms) [ok]: SET 10000 numeric keys and access all them in reverse order (669 ms) [ok]: DBSIZE should be 10000 now (0 ms) [ok]: memoryusage of string (97 ms) [ok]: SETNX target key missing (0 ms) [ok]: SETNX target key exists (0 ms) [ok]: SETNX against not-expired volatile key (0 ms) [ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (1326 ms) [ok]: XREVRANGE returns the reverse of XRANGE (1262 ms) [ok]: XRANGE exclusive ranges (2 ms) [ok]: XREAD with non empty stream (0 ms) [ok]: Non blocking XREAD with empty streams (0 ms) [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (135 ms) [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (181 ms) [ok]: ZSETs skiplist implementation backlink consistency test - listpack (16 ms) [ok]: HGETEX EX active expiry with single field (1107 ms) [ok]: WAITAOF master client didn't send any write command (1202 ms) [ok]: Consumer group last ID propagation to slave (NOACK=1) (1012 ms) [ok]: {cluster} SCAN regression test for issue #4906 (5398 ms) [ok]: {cluster} SCAN MATCH pattern implies cluster slot (11 ms) [ok]: GEOSEARCH fuzzy test - bybox (12851 ms) [ok]: ZSETs ZRANK augmented skip list stress testing - listpack (590 ms) [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (1 ms) [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (1 ms) [ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (1 ms) [ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (1 ms) [ok]: GEOSEARCH box edges fuzzy test (19 ms) [39/144 done]: unit/scan (15 seconds) Testing unit/type/list [ok]: XREAD with non empty second stream (907 ms) [ok]: Blocking XREAD waiting new data (1 ms) [ok]: Blocking XREAD waiting old data (0 ms) [40/144 done]: unit/geo (27 seconds) Testing unit/cluster/announce-client-ports [ok]: Blocking XREAD will not reply with an empty array (67 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2003 ms) [ok]: GETEX use of PERSIST option should remove TTL (0 ms) [ok]: GETEX use of PERSIST option should remove TTL after loadaof (0 ms) [ok]: packed node check compression with insert and pop (1 ms) [ok]: packed node check compression combined with trim (1 ms) [ok]: packed node check compression with lset (0 ms) [ok]: Blocking XREAD for stream that ran dry (issue #5299) (101 ms) [ok]: XREAD last element from non-empty stream (0 ms) [ok]: XREAD last element from empty stream (0 ms) [ok]: XREAD last element blocking from empty stream (0 ms) [ok]: XREAD last element blocking from non-empty stream (0 ms) [ok]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (80 ms) [ok]: EXPIRE with NX option on a key with ttl (0 ms) [ok]: EXPIRE with NX option on a key without ttl (0 ms) [ok]: XREAD last element from multiple streams (0 ms) [ok]: EXPIRE with XX option on a key with ttl (0 ms) [ok]: EXPIRE with XX option on a key without ttl (0 ms) [ok]: XREAD last element with count > 1 (0 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 (0 ms) [ok]: EXPIRE with GT option on a key without ttl (0 ms) [ok]: EXPIRE with LT option on a key with higher ttl (0 ms) [ok]: XREAD: XADD + DEL should not awake client (1 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 (0 ms) [ok]: EXPIRE with LT and XX option on a key without ttl (0 ms) [ok]: XREAD: XADD + DEL + LPUSH should not awake client (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]: XREAD with same stream name multiple times should work (1 ms) [ok]: EXPIRE with negative expiry (0 ms) [ok]: EXPIRE with negative expiry on a non-valitale key (0 ms) [ok]: EXPIRE with non-existed key (0 ms) [ok]: XREAD + multiple XADD inside transaction (1 ms) [ok]: XDEL basic test (0 ms) [ok]: XDEL multiply id test (1 ms) [ok]: maxmemory - policy volatile-random should only remove volatile keys. (1683 ms) [ok]: Server should not propagate the read command on lazy expire (97 ms) [ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) [ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (100 ms) [ok]: import-source can be closed when import-mode is off (1 ms) [ok]: HGETEX EX active expiry with multiple fields (1104 ms) [ok]: Connect a replica to the master instance (806 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 (1 ms) [ok]: plain node check compression with insert and pop (432 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) [ok]: Using side effects is not a problem with command replication (0 ms) [ok]: Import mode should forbid active expiration (111 ms) [ok]: Import mode should forbid lazy expiration (10 ms) [ok]: plain node check compression combined with trim (148 ms) [ok]: Client can visit expired key in import-source state (112 ms) [ok]: WAITAOF master client didn't send any command (1202 ms) [ok]: LTRIM stress testing - quicklist (3933 ms) [ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (909 ms) [ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (2 ms) [ok]: XREADGROUP ACK would propagate entries-read (2 ms) [ok]: plain node check compression with lset (209 ms) Time: 1002 [ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1002 ms) [ok]: BZPOPMIN with same key multiple times should work (2 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (1 ms) [ok]: BZPOPMIN with variadic ZADD (1 ms) [ok]: Test LPUSH and LPOP on plain nodes (5 ms) [ok]: Test LINDEX and LINSERT on plain nodes (1 ms) [ok]: Test LTRIM on plain nodes (0 ms) [ok]: Test LREM on plain nodes (1 ms) [ok]: Test LPOS on plain nodes (1 ms) [ok]: Test LMOVE on plain nodes (0 ms) [ok]: Active expiration triggers hashtable shrink (158 ms) [ok]: Empty stream with no lastid can be rewrite into AOF correctly (107 ms) [ok]: Test LSET with packed / plain combinations (205 ms) [ok]: Test LSET with packed is split in the middle (1 ms) [ok]: AOF rewrite during write load: RDB preamble=no (13740 ms) [41/144 done]: unit/type/stream-cgroups (7 seconds) Testing unit/cluster/cluster-migrateslots [ok]: XDEL fuzz test (1121 ms) [ok]: SETNX against expired volatile key (2366 ms) [ok]: GETEX EX option (0 ms) [ok]: GETEX PX option (0 ms) [ok]: GETEX EXAT option (0 ms) [ok]: GETEX PXAT option (0 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]: Test LSET with packed consist only one item (209 ms) [ok]: Crash due to delete entry from a compress quicklist node (1 ms) [ok]: Crash due to split quicklist node wrongly (0 ms) [ok]: Test LPUSH and LPOP on plain nodes (3 ms) [ok]: Test LINDEX and LINSERT on plain nodes (0 ms) [ok]: Test LTRIM on plain nodes (1 ms) [ok]: Test LREM on plain nodes (0 ms) [ok]: Test LPOS on plain nodes (1 ms) [ok]: Test LMOVE on plain nodes (0 ms) [ok]: GETDEL propagate as DEL command to replica (90 ms) [ok]: Turning off AOF kills the background writing child if any (104 ms) [ok]: GETEX without argument does not propagate to replica (101 ms) [ok]: MGET (0 ms) [ok]: MGET against non existing key (0 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 (0 ms) [ok]: MSET with already existing - same key twice (0 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 (0 ms) [ok]: MSETNX with already existing keys - same key twice (0 ms) [ok]: STRLEN against non-existing key (0 ms) [ok]: STRLEN against integer-encoded value (0 ms) [ok]: STRLEN against plain string (0 ms) [ok]: SETBIT against non-existing key (0 ms) [ok]: SETBIT against string-encoded key (1 ms) [ok]: SETBIT against integer-encoded key (0 ms) [ok]: SETBIT against key with wrong type (0 ms) [ok]: SETBIT with out of range bit offset (0 ms) [ok]: SETBIT with non-bit argument (1 ms) [ok]: HGETEX EX active expiry removes entire key when last field expires (1108 ms) [ok]: HGETEX EX and HPEXPIRE (0 ms) [ok]: Test LSET with packed / plain combinations (203 ms) [ok]: Test LSET with packed is split in the middle (1 ms) [ok]: AOF rewrite of list with listpack encoding, string data (107 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 (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 (0 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 (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 (1 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 (0 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 (0 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 (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 (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 (2 ms) [ok]: TIME command using cached time (11 ms) [ok]: AOF rewrite of list with quicklist encoding, string data (102 ms) [ok]: SETBIT fuzzing (222 ms) [ok]: GETBIT against non-existing key (0 ms) [ok]: GETBIT against string-encoded key (0 ms) [ok]: GETBIT against integer-encoded key (1 ms) [ok]: SETRANGE against non-existing key (0 ms) [ok]: SETRANGE against string-encoded key (1 ms) [ok]: SETRANGE against integer-encoded key (0 ms) [ok]: SETRANGE against key with wrong type (0 ms) [ok]: SETRANGE with out of range offset (0 ms) [ok]: GETRANGE against non-existing key (0 ms) [ok]: GETRANGE against wrong key type (0 ms) [ok]: GETRANGE against string value (0 ms) [ok]: GETRANGE against integer-encoded value (1 ms) [ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (1664 ms) [ok]: Script block the time in some expiration related commands (82 ms) [ok]: RESTORE expired keys with expiration time (11 ms) [ok]: Test LSET with packed consist only one item (219 ms) [ok]: Crash due to delete entry from a compress quicklist node (0 ms) [ok]: Crash due to split quicklist node wrongly (1 ms) [ok]: AOF rewrite of list with listpack encoding, int data (103 ms) [ok]: BZPOPMIN with zero timeout should block indefinitely (1002 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (1 ms) [ok]: BZMPOP_MIN with variadic ZADD (0 ms) [ok]: AOF rewrite of list with quicklist encoding, int data (146 ms) [ok]: Script - disallow write on OOM (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 (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 (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]: EVALSHA - Can we call a SHA1 if already defined? (0 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]: 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 (0 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 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 (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 (0 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 (0 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) (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? (0 ms) [ok]: LPOS basic usage - quicklist (68 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) [ok]: LPOS COUNT option (0 ms) [ok]: LPOS COUNT + RANK option (0 ms) [ok]: LPOS non existing key (0 ms) [ok]: LPOS no match (0 ms) [ok]: LPOS MAXLEN (1 ms) [ok]: LPOS when RANK is greater than matches (0 ms) [ok]: AOF rewrite of set with intset encoding, string data (102 ms) [ok]: EVAL - cmsgpack pack/unpack smoke test (112 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (0 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 (0 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (10 ms) [ok]: EVAL - Test table unpack with invalid indexes (1 ms) [ok]: Try trick readonly table on basic types metatable (0 ms) [ok]: Dynamic reset of lua engine with insecure API config change (1 ms) [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (109 ms) [ok]: LPOP/RPOP with wrong number of arguments (0 ms) [ok]: SCRIPTING FLUSH ASYNC (5 ms) [ok]: SCRIPT EXISTS - can detect already defined scripts? (0 ms) [ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (1 ms) [ok]: SCRIPT SHOW - is able to dump scripts from the scripting cache (0 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 (0 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]: AOF rewrite of set with hashtable encoding, string data (102 ms) [ok]: RPOP/LPOP with the optional count argument - quicklist (59 ms) [ok]: LPOS basic usage - listpack (0 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (0 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 (0 ms) [ok]: LPOS MAXLEN (0 ms) [ok]: LPOS when RANK is greater than matches (0 ms) [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (1 ms) [ok]: LPOP/RPOP with wrong number of arguments (0 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 (0 ms) [ok]: LPOP/RPOP against non existing key in RESP3 (0 ms) [ok]: LPOP/RPOP with against non existing key in RESP3 (0 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 (0 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 (45 ms) [ok]: AOF rewrite of set with intset encoding, int data (103 ms) [ok]: GETRANGE fuzzing (623 ms) [ok]: Coverage: SUBSTR (0 ms) [ok]: Extended SET can detect syntax errors (0 ms) [ok]: Extended SET NX option (0 ms) [ok]: Extended SET XX option (0 ms) [ok]: Extended SET GET option (0 ms) [ok]: Extended SET GET option with no previous value (1 ms) [ok]: Extended SET GET option with XX (0 ms) [ok]: Extended SET GET option with XX and no previous value (0 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 (0 ms) [ok]: SET with IFEQ conditional - with get (1 ms) [ok]: SET with IFEQ conditional - non string current value with get (0 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 (1 ms) [ok]: AOF rewrite of set with hashtable encoding, int data (92 ms) [ok]: Extended SET EXAT option (0 ms) [ok]: Extended SET PXAT option (1 ms) [ok]: BLPOP: multiple existing lists - quicklist (110 ms) [ok]: SET EXAT / PXAT Expiration time is expired (43 ms) [ok]: Extended SET using multiple options at once (1 ms) [ok]: GETRANGE with huge ranges, Github issue #1844 (0 ms) [ok]: LCS basic (0 ms) [ok]: LCS len (1 ms) [ok]: LCS indexes (0 ms) [ok]: LCS indexes with match len (1 ms) [ok]: LCS indexes with match len and minimum match len (0 ms) [ok]: SETRANGE with huge offset (1 ms) [ok]: APPEND modifies the encoding from int to raw (0 ms) [ok]: DELIFEQ non-existing key (0 ms) [ok]: DELIFEQ existing key, matching value (0 ms) [ok]: DELIFEQ existing key, non-matching value (0 ms) [ok]: DELIFEQ existing key, non-string value (1 ms) [ok]: BLPOP: second list has an entry - quicklist (60 ms) [ok]: AOF rewrite of hash with listpack encoding, string data (107 ms) [ok]: BLMPOP_LEFT: single existing list - quicklist (50 ms) [ok]: DELIFEQ propagate as DEL command to replica (96 ms) [ok]: AOF rewrite of hash with hashtable encoding, string data (107 ms) [ok]: BLMPOP_LEFT: multiple existing lists - quicklist (110 ms) [42/145 done]: unit/type/string (7 seconds) Testing unit/cluster/faildet [ok]: BLMPOP_LEFT: second list has an entry - quicklist (50 ms) [ok]: HGETEX PX active expiry with single field (1106 ms) [ok]: AOF rewrite of hash with listpack encoding, int data (103 ms) [ok]: BRPOPLPUSH - quicklist (50 ms) [ok]: BLMOVE left left - quicklist (50 ms) [ok]: AOF rewrite of hash with hashtable encoding, int data (99 ms) [ok]: BLMOVE left right - quicklist (50 ms) [ok]: BLMOVE right left - quicklist (60 ms) [ok]: AOF rewrite of zset with listpack encoding, string data (103 ms) [ok]: BLMOVE right right - quicklist (50 ms) [ok]: BLPOP: single existing list - listpack (0 ms) [ok]: BLPOP: multiple existing lists - listpack (1 ms) [ok]: BLPOP: second list has an entry - listpack (1 ms) [ok]: BLMPOP_LEFT: single existing list - listpack (0 ms) [ok]: BLMPOP_LEFT: multiple existing lists - listpack (1 ms) [ok]: BLMPOP_LEFT: second list has an entry - listpack (1 ms) [ok]: BRPOPLPUSH - listpack (1 ms) [ok]: BLMOVE left left - listpack (0 ms) [ok]: BLMOVE left right - listpack (1 ms) [ok]: BLMOVE right left - listpack (0 ms) [ok]: BLMOVE right right - listpack (1 ms) [ok]: BLPOP, LPUSH + DEL should not awake blocked client (1 ms) [ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (1 ms) [ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (0 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 (1 ms) [ok]: BRPOPLPUSH with zero timeout should block indefinitely (0 ms) [ok]: BLMOVE left left with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE left right with zero timeout should block indefinitely (0 ms) [ok]: BLMOVE right left with zero timeout should block indefinitely (1 ms) [ok]: BZMPOP_MIN with zero timeout should block indefinitely (1002 ms) [ok]: BLMOVE right right with zero timeout should block indefinitely (1 ms) [ok]: BLMOVE (left, left) with a client BLPOPing the target list (1 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 (0 ms) [ok]: BRPOPLPUSH with wrong source type (1 ms) [ok]: ZSCORE - skiplist (13 ms) [ok]: BRPOPLPUSH with wrong destination type (11 ms) [ok]: BRPOPLPUSH maintains order of elements after failure (1 ms) [ok]: BRPOPLPUSH with multiple blocked clients (1 ms) [ok]: ZMSCORE - skiplist (15 ms) [ok]: BLMPOP with multiple blocked clients (12 ms) [ok]: Linked LMOVEs (1 ms) [ok]: Circular BRPOPLPUSH (1 ms) [ok]: Self-referential BRPOPLPUSH (0 ms) [ok]: BRPOPLPUSH inside a transaction (1 ms) [ok]: PUSH resulting from BRPOPLPUSH affect WATCH (1 ms) [ok]: BRPOPLPUSH does not affect WATCH while still blocked (1 ms) [ok]: ZSCORE after a DEBUG RELOAD - skiplist (17 ms) [ok]: ZSET sorting stresser - skiplist (14 ms) [ok]: AOF rewrite of zset with skiplist encoding, string data (122 ms) [ok]: AOF rewrite of zset with listpack encoding, int data (104 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 (1 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]: Test an example script DECR_IF_GT (0 ms) [ok]: random numbers are random now (1 ms) [ok]: Scripting engine PRNG can be seeded correctly (0 ms) [ok]: AOF rewrite of zset with skiplist encoding, int data (187 ms) [ok]: AOF rewrite functions (103 ms) [ok]: EVAL does not leak in the Lua stack (315 ms) [ok]: Test check paused info during the cluster failover in info clients (59 ms) [ok]: SPOP: We can call scripts rewriting client->argv from Lua (83 ms) [ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (208 ms) [ok]: BGREWRITEAOF is refused if already in progress (6 ms) [ok]: MGET: mget shouldn't be propagated in Lua (101 ms) [43/145 done]: unit/aofrw (30 seconds) Testing unit/cluster/cluster-slots [44/145 done]: unit/pause (15 seconds) Testing unit/cluster/slot-migration-response [ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (100 ms) [ok]: HGETEX PX active expiry with multiple fields (1111 ms) [ok]: BRPOPLPUSH timeout (1015 ms) [ok]: SWAPDB awakes blocked client (1 ms) [ok]: expire scan should skip dictionaries with lot's of empty buckets (934 ms) [45/145 done]: unit/expire (17 seconds) Testing unit/cluster/hostnames [ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (314 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) (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 (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (1 ms) [ok]: SWAPDB wants to wake blocked client, but the key already expired (121 ms) [ok]: Script return recursive object (98 ms) [ok]: Script check unpack with massive arguments (23 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 (1 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (3 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 (0 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]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (1289 ms) [ignore]: large memory flag not provided [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (130 ms) [ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (307 ms) [ok]: LTRIM stress testing - listpack (3755 ms) [46/145 done]: unit/type/list-2 (8 seconds) Testing unit/cluster/cli [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (148 ms) [ok]: ZSETs skiplist implementation backlink consistency test - skiplist (10 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL (402 ms) [ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (42 ms) [ok]: Timedout script does not cause a false dead client (42 ms) [ok]: HGETEX PX active expiry removes entire key when last field expires (1117 ms) [ok]: HGETEX PX and HPEXPIRE (1 ms) [ok]: Timedout script link is still usable after Lua returns (71 ms) [ok]: WAITAOF when replica switches between masters, fsync: no (4329 ms) [ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (430 ms) [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (1 ms) [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (1 ms) [ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (1 ms) [ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (1 ms) [ok]: Timedout scripts and unblocked command (334 ms) [ok]: HGETEX EXAT active expiry with single field (403 ms) [ok]: XRANGE fuzzing (4138 ms) [ok]: XREVRANGE regression test for issue #5006 (0 ms) [ok]: XREAD streamID edge (no-blocking) (1 ms) [ok]: XREAD streamID edge (blocking) (0 ms) [ok]: XADD streamID edge (1 ms) [ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1005 ms) [ok]: BLPOP when new key is moved into place (0 ms) [ok]: BLPOP when result key is created by SORT..STORE (1 ms) [ok]: BLMPOP_LEFT when new key is moved into place (0 ms) [ok]: BLMPOP_LEFT when result key is created by SORT..STORE (1 ms) [ok]: BLPOP: timeout value out of range (0 ms) [ok]: BLPOP: with single empty list argument (0 ms) [ok]: BLPOP: with negative timeout (1 ms) [ok]: BLPOP: with non-integer timeout (0 ms) [ok]: BLPOP: with zero timeout should block indefinitely (0 ms) [ok]: XTRIM with MAXLEN option basic test (48 ms) [ok]: XADD with LIMIT consecutive calls (6 ms) [ok]: XTRIM with ~ is limited (5 ms) [ok]: BLPOP: with 0.001 timeout should not block indefinitely (20 ms) [ok]: BLPOP: second argument is not a list (1 ms) [ok]: XTRIM without ~ is not limited (5 ms) [ok]: XTRIM without ~ and with LIMIT (6 ms) [ok]: XTRIM with LIMIT delete entries no more than limit (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 (2 ms) [ok]: XADD with MAXLEN > xlen can propagate correctly (7 ms) [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: Cluster is up (8 ms) [ok]: XADD with MINID > lastid can propagate correctly (5 ms) Time: 1003 [ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1003 ms) [ok]: BZPOPMIN with same key multiple times should work (1 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (1 ms) [ok]: BZPOPMIN with variadic ZADD (1 ms) [ok]: Stress tester for #3343-alike bugs comp: 2 (9161 ms) [ok]: XADD with ~ MAXLEN can propagate correctly (7 ms) [ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (6 ms) [ok]: HGETEX EXAT active expiry with multiple fields (1005 ms) [ok]: Set many keys in the cluster (470 ms) [ok]: Test cluster responses during migration of slot x (2 ms) [ok]: BLPOP: timeout (1077 ms) [ok]: BLPOP: arguments are empty (2 ms) [ok]: BRPOP: with single empty list argument (0 ms) [ok]: BRPOP: with negative timeout (1 ms) [ok]: BRPOP: with non-integer timeout (1 ms) [ok]: BRPOP: with zero timeout should block indefinitely (0 ms) [ok]: Connect a replica to the master instance (808 ms) [ok]: Now use EVALSHA against the master, with both SHAs (1 ms) [ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) [ok]: Replication of script multiple pushes to list with BLPOP (0 ms) [ok]: EVALSHA replication when first call is readonly (1 ms) [ok]: Lua scripts using SELECT are replicated correctly (0 ms) [ok]: XADD with ~ MINID can propagate correctly (11 ms) [ok]: BRPOP: with 0.001 timeout should not block indefinitely (21 ms) [ok]: BRPOP: second argument is not a list (1 ms) [47/145 done]: unit/cluster/slot-migration-response (3 seconds) Testing unit/cluster/slave-selection [ok]: Create 1 node cluster (1926 ms) [ok]: XADD with ~ MINID and LIMIT can propagate correctly (10 ms) [ok]: XTRIM with ~ MAXLEN can propagate correctly (10 ms) [ok]: BZPOPMIN with zero timeout should block indefinitely (1002 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (0 ms) [ok]: BZMPOP_MIN with variadic ZADD (1 ms) [ok]: XADD can CREATE an empty stream (0 ms) [ok]: XSETID can set a specific ID (1 ms) [ok]: XSETID cannot SETID with smaller ID (0 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 negative offset (0 ms) [ok]: XSETID cannot set the maximal tombstone with larger ID (0 ms) [ok]: XSETID cannot set the offset to less than the length (1 ms) [ok]: XSETID cannot set smaller ID than current MAXDELETEDID (1 ms) [ok]: HGETEX EXAT active expiry removes entire key when last field expires (1004 ms) [ok]: HGETEX EXAT and HPEXPIRE (1 ms) [ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (1 ms) [ok]: XDEL/TRIM are reflected by recorded first entry (2 ms) [ok]: Maximum XDEL ID behaves correctly (1 ms) [ok]: XADD with artial ID with maximal seq (1 ms) [ok]: BRPOP: timeout (1075 ms) [ok]: BRPOP: arguments are empty (1 ms) [ok]: BLMPOP_LEFT: with single empty list argument (1 ms) [ok]: BLMPOP_LEFT: with negative timeout (0 ms) [ok]: BLMPOP_LEFT: with non-integer timeout (1 ms) [ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (0 ms) [ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (21 ms) [ok]: BLMPOP_LEFT: second argument is not a list (1 ms) [ok]: Empty stream can be rewrite into AOF correctly (105 ms) [ok]: Create 2 node cluster (1013 ms) [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (105 ms) [ok]: BZMPOP_MIN with zero timeout should block indefinitely (1002 ms) [ok]: BZPOP/BZMPOP against wrong type (1 ms) [ok]: BZMPOP with illegal argument (1 ms) [ok]: BZMPOP with multiple blocked clients (2 ms) [ok]: XGROUP HELP should not have unexpected options (0 ms) [ok]: XINFO HELP should not have unexpected options (0 ms) [48/145 done]: unit/type/stream (12 seconds) Testing unit/cluster/manual-takeover [ok]: BZMPOP propagate as pop with count command to replica (195 ms) [ok]: BZMPOP should not blocks on non key arguments - #10762 (2 ms) [ok]: WAITAOF when replica switches between masters, fsync: everysec (3324 ms) [ok]: HGETEX PXAT active expiry with single field (1108 ms) [ok]: ZSET skiplist order consistency when elements are moved (409 ms) [ok]: ZRANGESTORE basic (1 ms) [ok]: ZRANGESTORE RESP3 (0 ms) [ok]: ZRANGESTORE range (0 ms) [ok]: ZRANGESTORE BYLEX (0 ms) [ok]: ZRANGESTORE BYSCORE (1 ms) [ok]: ZRANGESTORE BYSCORE LIMIT (0 ms) [ok]: ZRANGESTORE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGESTORE - src key missing (0 ms) [ok]: ZRANGESTORE - src key wrong type (0 ms) [ok]: ZRANGESTORE - empty range (0 ms) [ok]: ZRANGESTORE BYLEX - empty range (0 ms) [ok]: ZRANGESTORE BYSCORE - empty range (1 ms) [ok]: ZRANGE BYLEX (0 ms) [ok]: ZRANGESTORE invalid syntax (0 ms) [ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (0 ms) [ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (1 ms) [ok]: ZRANGE invalid syntax (0 ms) [ok]: ZRANDMEMBER - listpack (4 ms) [ok]: ZRANDMEMBER - skiplist (3 ms) [ok]: ZRANDMEMBER with RESP3 (1 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: ZRANDMEMBER with against non existing key (0 ms) [ok]: ZRANDMEMBER count overflow (0 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) [ok]: ZRANDMEMBER with against non existing key - emptyarray (0 ms) [ok]: Connect a replica to the master instance (813 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 (1 ms) [ok]: PRNG is seeded randomly for command replication (0 ms) [ok]: Using side effects is not a problem with command replication (0 ms) [ok]: BLMPOP_LEFT: timeout (1077 ms) [ok]: BLMPOP_LEFT: arguments are empty (2 ms) [ok]: BLMPOP_RIGHT: with single empty list argument (0 ms) [ok]: BLMPOP_RIGHT: with negative timeout (0 ms) [ok]: BLMPOP_RIGHT: with non-integer timeout (1 ms) [ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (0 ms) [ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (21 ms) [ok]: BLMPOP_RIGHT: second argument is not a list (1 ms) [ok]: ZRANDMEMBER with - skiplist (129 ms) [ok]: ZRANDMEMBER with - listpack (126 ms) [ok]: zset score double range (0 ms) [ok]: zunionInterDiffGenericCommand acts on SET and ZSET (7 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - single (2 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (1 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (0 ms) [49/145 done]: unit/type/zset (17 seconds) Testing unit/cluster/slave-stop-cond [ok]: HGETEX PXAT active expiry with multiple fields (1107 ms) [ok]: BLMPOP_RIGHT: timeout (1079 ms) [ok]: BLMPOP_RIGHT: arguments are empty (1 ms) [ok]: BLPOP inside a transaction (0 ms) [ok]: BLMPOP_LEFT inside a transaction (1 ms) [ok]: BLMPOP propagate as pop with count command to replica (200 ms) [ok]: LPUSHX, RPUSHX - generic (0 ms) [ok]: Test scripting debug protocol parsing (0 ms) [ok]: Test scripting debug lua stack overflow (1 ms) [ok]: Test scripting debug lua server invocations (1 ms) [ok]: LPUSHX, RPUSHX - quicklist (56 ms) [ok]: LINSERT - quicklist (50 ms) [ok]: LPUSHX, RPUSHX - listpack (1 ms) [ok]: LINSERT - listpack (0 ms) [ok]: LINSERT raise error on bad syntax (1 ms) [ok]: LINSERT against non-list value error (0 ms) [ok]: LINSERT against non existing key (0 ms) [ok]: LINDEX consistency test - listpack (33 ms) [ok]: LINDEX random access - listpack (21 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - listpack (41 ms) [ok]: Create 3 node cluster (1922 ms) [ok]: LINDEX consistency test - listpack (67 ms) [ok]: Run blocking command on cluster node3 (103 ms) [ok]: Lua scripts eviction does not generate many scripts (67 ms) [ok]: LINDEX random access - listpack (65 ms) [ok]: Perform a Resharding (13 ms) [ok]: Lua scripts eviction is plain LRU (34 ms) [ok]: Verify command got unblocked after resharding (35 ms) [ok]: Wait for cluster to be stable (9 ms) [ok]: use previous hostip in "cluster-preferred-endpoint-type unknown-endpoint" mode (4 ms) [ok]: Sanity test push cmd after resharding (0 ms) [ok]: Run blocking command again on cluster node1 (0 ms) [ok]: Lua scripts eviction does not affect script load (81 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - listpack (126 ms) [ok]: LINDEX consistency test - quicklist (40 ms) [ok]: Lua scripts promoted from eval to script load (58 ms) [ok]: LINDEX random access - quicklist (41 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (45 ms) [ok]: WAITAOF when replica switches between masters, fsync: always (2331 ms) [ok]: HGETEX PXAT active expiry removes entire key when last field expires (1110 ms) [ok]: HGETEX PXAT and HPEXPIRE (1 ms) [ok]: LINDEX consistency test - quicklist (56 ms) [ok]: Set cluster announced client (TLS) port and check that it propagates (110 ms) [ok]: LINDEX random access - quicklist (38 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 (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 (0 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 (0 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 (1 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 (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 (0 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]: 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 (0 ms) [ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (2 ms) [ok]: TIME command using cached time (10 ms) [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (77 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 (1 ms) [ok]: RPUSH against non-list value error (0 ms) [ok]: Script block the time in some expiration related commands (83 ms) [ok]: RESTORE expired keys with expiration time (10 ms) [ok]: RPOPLPUSH base case - quicklist (47 ms) [ok]: HGETEX PERSIST removes expiry and prevents active expiry (202 ms) [ok]: LMOVE left left base case - quicklist (50 ms) [ok]: Clear announced client (TLS) port and check that it propagates (209 ms) [ok]: LMOVE left right base case - quicklist (50 ms) [ok]: LMOVE right left base case - quicklist (50 ms) [ok]: LMOVE right right base case - quicklist (50 ms) [ok]: Shebang support for lua engine (0 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 (0 ms) [ok]: HGETEX overwrite existing expiry with active expiry (201 ms) [ok]: RPOPLPUSH with the same list as src and dst - quicklist (50 ms) [ok]: LMOVE left left with the same list as src and dst - quicklist (60 ms) [ok]: LMOVE left right with the same list as src and dst - quicklist (60 ms) [ok]: LMOVE right left with the same list as src and dst - quicklist (50 ms) [ok]: LMOVE right right with the same list as src and dst - quicklist (50 ms) [ok]: RPOPLPUSH with quicklist source and existing target quicklist (110 ms) [ok]: LMOVE left left with quicklist source and existing target quicklist (110 ms) [50/145 done]: unit/cluster/announce-client-ports (12 seconds) Testing unit/cluster/replica-migration [ok]: LMOVE left right with quicklist source and existing target quicklist (100 ms) [ok]: Kill a cluster node and wait for fail state (1224 ms) [ok]: Verify command got unblocked after cluster failure (101 ms) [ok]: LMOVE right left with quicklist source and existing target quicklist (120 ms) [ok]: LMOVE right right with quicklist source and existing target quicklist (120 ms) [ok]: RPOPLPUSH with quicklist source and existing target listpack (50 ms) [ok]: setup replication for following tests (808 ms) [ok]: LMOVE left left with quicklist source and existing target listpack (50 ms) [ok]: General command interface (6 ms) [ok]: LMOVE left right with quicklist source and existing target listpack (60 ms) [ok]: no-writes shebang flag on replica (909 ms) [ok]: LMOVE right left with quicklist source and existing target listpack (50 ms) [ok]: LMOVE right right with quicklist source and existing target listpack (50 ms) [ok]: RPOPLPUSH base case - listpack (0 ms) [ok]: LMOVE left left base case - listpack (1 ms) [ok]: LMOVE left right base case - listpack (0 ms) [ok]: LMOVE right left base case - listpack (1 ms) [ok]: LMOVE right right base case - listpack (0 ms) [ok]: RPOPLPUSH with the same list as src and dst - listpack (1 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 (1 ms) [ok]: LMOVE right right with the same list as src and dst - listpack (0 ms) [ok]: not enough good replicas (1 ms) [ok]: RPOPLPUSH with listpack source and existing target quicklist (46 ms) [ok]: HGETEX EX keyspace notifications for active expiry (1110 ms) [ok]: LMOVE left left with listpack source and existing target quicklist (50 ms) [ok]: LMOVE left right with listpack source and existing target quicklist (50 ms) [ok]: CLUSTER MIGRATESLOTS already migrating (310 ms) [ok]: LMOVE right left with listpack source and existing target quicklist (50 ms) [ok]: LMOVE right right with listpack source and existing target quicklist (50 ms) [ok]: RPOPLPUSH with listpack source and existing target listpack (0 ms) [ok]: LMOVE left left with listpack source and existing target listpack (1 ms) [ok]: LMOVE left right with listpack source and existing target listpack (0 ms) [ok]: LMOVE right left with listpack source and existing target listpack (1 ms) [ok]: LMOVE right right with listpack source and existing target listpack (1 ms) [ok]: RPOPLPUSH against non existing key (6 ms) [ok]: RPOPLPUSH against non list src key (1 ms) [ok]: RPOPLPUSH against non list dst key - quicklist (60 ms) [ok]: RPOPLPUSH against non list dst key - listpack (0 ms) [ok]: RPOPLPUSH against non existing src key (0 ms) [ok]: CLUSTER GETSLOTMIGRATIONS command config enforced (202 ms) [ok]: Basic LPOP/RPOP/LMPOP - quicklist (120 ms) [ok]: Basic LPOP/RPOP/LMPOP - listpack (0 ms) [ok]: LPOP/RPOP/LMPOP against empty list (1 ms) [ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (0 ms) [ok]: Mass RPOP/LPOP - listpack (27 ms) [ok]: Mass RPOP/LPOP - listpack (54 ms) [ok]: LMPOP with illegal argument (3 ms) [ok]: not enough good replicas state change during long script (515 ms) [ok]: allow-stale shebang flag (0 ms) [ok]: reject script do not cause a Lua stack leak (6 ms) [ok]: LMPOP single existing list - quicklist (165 ms) [ok]: Consistent eval error reporting (6 ms) [ok]: LUA redis.error_reply API (1 ms) [ok]: LUA redis.error_reply API with empty string (0 ms) [ok]: LUA redis.status_reply API (0 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 (0 ms) [ok]: EVAL - explicit error() call handling (0 ms) [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (988 ms) [51/145 done]: unit/scripting (36 seconds) Testing unit/cluster/transactions-on-replica [ok]: LMPOP multiple existing lists - quicklist (240 ms) [ok]: LMPOP single existing list - listpack (2 ms) [ok]: LMPOP multiple existing lists - listpack (2 ms) [52/145 done]: unit/wait (36 seconds) Testing unit/cluster/update-msg [ok]: LMPOP propagate as pop with count command to replica (84 ms) [ok]: LRANGE basics - quicklist (47 ms) [ok]: LRANGE inverted indexes - quicklist (60 ms) [ok]: HGETEX PX keyspace notifications for active expiry (1114 ms) [ok]: LRANGE out of range indexes including the full list - quicklist (50 ms) [ok]: LRANGE out of range negative end index - quicklist (60 ms) [ok]: LRANGE basics - listpack (0 ms) [ok]: LRANGE inverted indexes - listpack (1 ms) [ok]: LRANGE out of range indexes including the full list - listpack (0 ms) [ok]: LRANGE out of range negative end index - listpack (1 ms) [ok]: LRANGE against non existing key (0 ms) [ok]: LRANGE with start > end yields an empty array for backward compatibility (0 ms) [ok]: Cluster should start ok (55 ms) [ok]: Killing two slave nodes (12 ms) [ok]: Cluster should be still up (56 ms) [ok]: Killing one master node (5 ms) [ok]: LTRIM basics - quicklist (648 ms) [ok]: Cluster should be down now (55 ms) [ok]: Restarting master node (6 ms) [ok]: LTRIM out of range negative end index - quicklist (109 ms) [ok]: Cluster should be up again (52 ms) [ok]: LSET - quicklist (60 ms) [ok]: LSET out of range index - quicklist (0 ms) [ok]: LTRIM basics - listpack (6 ms) [ok]: LTRIM out of range negative end index - listpack (1 ms) [ok]: LSET - listpack (1 ms) [ok]: LSET out of range index - listpack (0 ms) [ok]: LSET against non existing key (0 ms) [ok]: LSET against non list value (1 ms) [ok]: LREM remove all the occurrences - quicklist (51 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 (49 ms) [ok]: LREM starting from tail with negative count (2) - quicklist (0 ms) [ok]: LREM deleting objects that may be int encoded - quicklist (60 ms) [ok]: LREM remove all the occurrences - listpack (0 ms) [ok]: LREM remove the first occurrence - listpack (1 ms) [ok]: LREM remove non existing element - listpack (0 ms) [ok]: LREM starting from tail with negative count - listpack (0 ms) [ok]: LREM starting from tail with negative count (2) - listpack (1 ms) [ok]: LREM deleting objects that may be int encoded - listpack (0 ms) [ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (1 ms) [ok]: BLPOP/BLMOVE should increase dirty (2 ms) [ok]: client unblock tests (3 ms) [ok]: client unblock tests (2 ms) [ok]: List listpack -> quicklist encoding conversion (2 ms) [ok]: HGETEX EXAT keyspace notifications for active expiry (1106 ms) [ok]: List listpack -> quicklist encoding conversion (217 ms) [ok]: List quicklist -> listpack encoding conversion (290 ms) [ok]: List encoding conversion when RDB loading (16 ms) [ok]: List invalid list-max-listpack-size config (53 ms) [ok]: List of various encodings (116 ms) [ok]: List of various encodings - sanitize dump (3 ms) [ok]: Unblock fairness is kept while pipelining (1 ms) [ok]: Unblock fairness is kept during nested unblock (2 ms) [ok]: Blocking command accounted only once in commandstats (1 ms) [ok]: Blocking command accounted only once in commandstats after timeout (1 ms) Waiting for process 34252 to exit... [ok]: Command being unblocked cause another command to get unblocked execution order test (91 ms) [ok]: Set cluster hostnames and verify they are propagated (116 ms) [ok]: Update hostnames and make sure they are all eventually propagated (214 ms) [ok]: HGETEX PXAT keyspace notifications for active expiry (1106 ms) [ok]: Remove hostnames and make sure they are all eventually propagated (212 ms) [ok]: Functions are added to new node on valkey-cli cluster add-node (3019 ms) [ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (167 ms) [ok]: CLUSTER GETSLOTMIGRATIONS command reported fields (3370 ms) [ok]: CLUSTER GETSLOTMIGRATIONS command log removed over max len (104 ms) [ok]: Manual and atomic slot migration are mutually exclusive (110 ms) [ok]: Blocking timeout following PAUSE should honor the timeout (1009 ms) [ok]: CLIENT NO-TOUCH with BRPOP and RPUSH regression test (1 ms) Waiting for process 34252 to exit... [53/145 done]: unit/type/list (17 seconds) Testing unit/cluster/consistency-check [ok]: Test CLUSTER CANCELSLOTMIGRATIONS (327 ms) [ok]: HGETEX keyspace notification when key deleted with active expiry (1106 ms) [ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (921 ms) [ok]: Slot migration won't migrate the functions (439 ms) [ok]: Test restart will keep hostname information (228 ms) [ok]: Test hostname validation (0 ms) [ok]: Single source import - one shot (286 ms) Waiting for process 34252 to exit... [ok]: Stress tester for #3343-alike bugs comp: 1 (11239 ms) [54/145 done]: unit/cluster/hostnames (14 seconds) Testing unit/cluster/auto-failover-on-shutdown [ok]: HSETEX EX single field expires leaving other fields intact (1105 ms) [ok]: Slot migration DBSIZE after migration (809 ms) Waiting for process 34252 to exit... [ok]: Single source import - two phase (395 ms) [ok]: Cluster is up (91 ms) [ok]: The first master has actually two slaves (0 ms) [ok]: CLUSTER SLAVES and CLUSTER REPLICAS output is consistent (1 ms) [ok]: Slaves of #0 are instance #5 and #10 as expected (0 ms) [ok]: Instance #5 and #10 synced with the master (1 ms) [ok]: Slaves are both able to receive and acknowledge writes (9 ms) [ok]: Slot migration seen in client flags (343 ms) [ok]: HSETEX EX multiple fields expire leaving non-expired fields intact (1007 ms) Waiting for process 34252 to exit... [ok]: Cluster is up (62 ms) [ok]: Cluster is writable (47 ms) [ok]: Killing majority of master nodes (18 ms) [ok]: HSETEX EX hash key deleted when all fields expire (1010 ms) [ok]: HSETEX EX after HSETEX EX (0 ms) [ok]: Import with hz set to 1 (1187 ms) [ok]: Cluster is up (60 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 (0 ms) [ok]: Lower the slave validity factor of #5 to the value of 2 (0 ms) Waiting for process 34252 to exit... [ok]: Fuzzing dense/sparse encoding: Server should always detect errors (46663 ms) [ok]: PFADD, PFCOUNT, PFMERGE type checking works (0 ms) [ok]: PFMERGE results on the cardinality of union of sets (0 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 (0 ms) [ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (0 ms) [ok]: HSETEX PX single field expires leaving other fields intact (1107 ms) [ok]: Single source import - Incremental Command Coverage (1192 ms) [ok]: PFMERGE results with simd (475 ms) [ok]: Importing key containment (slot 0 from node 0 to 2) - start migration (153 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - DBSIZE command excludes importing keys (1 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - KEYS command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - SCAN command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - RANDOMKEY command excludes importing keys (0 ms) [ok]: Replica importing key containment (slot 0 from node 0 to 2) - DBSIZE command excludes importing keys (0 ms) [ok]: Replica importing key containment (slot 0 from node 0 to 2) - KEYS command excludes importing keys (1 ms) [ok]: Replica importing key containment (slot 0 from node 0 to 2) - SCAN command excludes importing keys (0 ms) [ok]: Replica importing key containment (slot 0 from node 0 to 2) - RANDOMKEY command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - allkeys-random eviction excludes importing keys (135 ms) Waiting for process 34252 to exit... [ok]: Primary importing key containment (slot 0 from node 0 to 2) - allkeys-lru eviction excludes importing keys (116 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - allkeys-lfu eviction excludes importing keys (189 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - volatile-random eviction excludes importing keys (191 ms) [ok]: HSETEX PX multiple fields expire leaving non-expired fields intact (1107 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - volatile-lru eviction excludes importing keys (266 ms) [ok]: Primary importing key containment (slot 0 from node 0 to 2) - volatile-lfu eviction excludes importing keys (296 ms) Waiting for process 34252 to exit... [ok]: Primary importing key containment (slot 0 from node 0 to 2) - volatile-ttl eviction excludes importing keys (285 ms) [ok]: Cluster should eventually be down (3238 ms) [ok]: Use takeover to bring slaves back (20 ms) [ok]: HSETEX PX hash key deleted when all fields expire (1106 ms) [ok]: HSETEX PX after HSETEX PX (0 ms) [ok]: Cluster should start ok (12 ms) [ok]: Can't read from replica without READONLY (1 ms) [ok]: Can't read from replica after READWRITE (0 ms) [ok]: Can read from replica after READONLY (0 ms) [ok]: Can perform HSET primary and HGET from replica (1 ms) [ok]: Can MULTI-EXEC transaction of HGET operations from replica (1 ms) [ok]: MULTI-EXEC with write operations is MOVED (0 ms) [ok]: HSETEX EXAT single field expires leaving other fields intact (302 ms) Waiting for process 34252 to exit... [ok]: Primary importing key containment (slot 0 from node 0 to 2) - active expiration excludes importing keys (816 ms) [ok]: Importing key containment (slot 16383 from node 2 to 0) - start migration (151 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - DBSIZE command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - KEYS command excludes importing keys (1 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - SCAN command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - RANDOMKEY command excludes importing keys (1 ms) [ok]: Replica importing key containment (slot 16383 from node 2 to 0) - DBSIZE command excludes importing keys (0 ms) [ok]: Replica importing key containment (slot 16383 from node 2 to 0) - KEYS command excludes importing keys (0 ms) [ok]: Replica importing key containment (slot 16383 from node 2 to 0) - SCAN command excludes importing keys (1 ms) [ok]: Replica importing key containment (slot 16383 from node 2 to 0) - RANDOMKEY command excludes importing keys (0 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - allkeys-random eviction excludes importing keys (114 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - allkeys-lru eviction excludes importing keys (115 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - allkeys-lfu eviction excludes importing keys (193 ms) [ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (3009 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - volatile-random eviction excludes importing keys (189 ms) [ok]: HSETEX EXAT multiple fields expire leaving non-expired fields intact (1008 ms) [ok]: Cluster is up (60 ms) [ok]: Cluster is writable (43 ms) [ok]: Instance #5 is a slave (0 ms) [ok]: Instance #5 synced with the master (1 ms) [ok]: Killing one master node (6 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - volatile-lru eviction excludes importing keys (266 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - volatile-lfu eviction excludes importing keys (261 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - volatile-ttl eviction excludes importing keys (334 ms) Waiting for process 34207 to exit... [ok]: write command is QUEUED, then EXEC should be MOVED after failover (2011 ms) [ok]: read-only blocking operations from replica (1 ms) [ok]: reply MOVED when eval from replica for update (0 ms) [ok]: HSETEX EXAT hash key deleted when all fields expire (905 ms) [ok]: HSETEX EXAT after HSETEX EXAT (0 ms) [ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (1363 ms) [ok]: Cluster should eventually be up again (3034 ms) [ok]: Primary importing key containment (slot 16383 from node 2 to 0) - active expiration excludes importing keys (818 ms) [ok]: Cluster is writable (41 ms) [ok]: Instance #5, #6, #7 are now masters (0 ms) [ok]: Restarting the previously killed master nodes (1 ms) [ok]: Instance #0, #1, #2 gets converted into a slaves (26 ms) [55/145 done]: unit/cluster/transactions-on-replica (13 seconds) Testing unit/cluster/failover [ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (708 ms) Waiting for process 34207 to exit... [ok]: PFADD / PFCOUNT cache invalidation works (1 ms) [56/145 done]: unit/hyperloglog (54 seconds) Testing unit/cluster/noaddr [ok]: HSETEX PXAT single field expires leaving other fields intact (1104 ms) [ok]: Simultaneous imports (504 ms) [ok]: Simultaneous exports (513 ms) [57/145 done]: unit/cluster/manual-takeover (19 seconds) Testing unit/cluster/announce-client-ip [ok]: Migrate the last slot away from a node using valkey-cli (11181 ms) [ok]: Multiple slot ranges from same source (300 ms) Waiting for process 34207 to exit... [ok]: HSETEX PXAT multiple fields expire leaving non-expired fields intact (1106 ms) [ok]: Import slot range with multiple slots (299 ms) [ok]: Cluster should start ok (63 ms) [ok]: Cluster is writable (57 ms) [ok]: Import multiple slot ranges with multiple slots (329 ms) [ok]: Wait for failover (3477 ms) [ok]: Cluster should eventually be up again (62 ms) [ok]: Cluster is writable (40 ms) [ok]: Instance #5 is now a master (1 ms) [ok]: Killing the new master #5 (10 ms) [ok]: Export all slots from node (170 ms) [ok]: Import slots to node with no slots (170 ms) Waiting for process 34207 to exit... [ok]: Partial data removed on cancel (185 ms) [ok]: HSETEX PXAT hash key deleted when all fields expire (1105 ms) [ok]: HSETEX PXAT after HSETEX PXAT (0 ms) [ok]: OOM on target aborts migration (198 ms) [ok]: Write data while slave #10 is paused and can't receive it (10009 ms) [ok]: HPERSIST cancels HSETEX expiry preventing field deletion (201 ms) [ok]: Stress tester for #3343-alike bugs comp: 0 (11630 ms) [ok]: Partial data in replica removed on failover (299 ms) [ok]: HSETEX overwrites existing field expiry with new shorter expiry (201 ms) [ok]: Slot export failed on failover (276 ms) [ok]: Failover on shutdown hands over primaryship to a fully sync'd replica - shutdown - shutdown-timeout: 0 (983 ms) [ok]: Unable to find a replica to perform an auto failover - shutdown (19 ms) Waiting for process 34207 to exit... [ok]: slave buffer are counted correctly (27355 ms) [ok]: Slots split across shards during import (405 ms) [ok]: valkey-cli -4 --cluster create using 127.0.0.1 with cluster-port (1929 ms) [ok]: HSETEX EX - keyspace notifications fired on field expiry (1108 ms) Waiting for process 34207 to exit... [ok]: valkey-cli -4 --cluster add-node using 127.0.0.1 with cluster-port (1138 ms) [ok]: Slave expired keys is loaded when restarted: appendonly=no (3153 ms) [ok]: HSETEX PX - keyspace notifications fired on field expiry (1105 ms) [ok]: HSETEX EXAT - keyspace notifications fired on field expiry (107 ms) [ok]: Cluster should be down now (3289 ms) [ok]: Restarting the old master node (0 ms) [ok]: Instance #0 gets converted into a slave (55 ms) [ok]: Restarting the new master node (1 ms) Waiting for process 34207 to exit... [ok]: Cluster is up again (371 ms) [ok]: Export unpauses itself even if slot failover doesn't occur (2268 ms) [ok]: Export unpauses when cancelled (155 ms) [ok]: HSETEX PXAT - keyspace notifications fired on field expiry (1105 ms) [ok]: Blocked clients are sent MOVED after export completion (414 ms) [ok]: CLUSTER SYNCSLOTS invalid state machine traversal (8 ms) Waiting for process 34207 to exit... [ok]: HSETEX - keyspace notifications include del event when hash key removed (201 ms) [ok]: CLUSTER SYNCSLOTS ESTABLISH command interface (150 ms) [58/145 done]: unit/cluster/update-msg (20 seconds) Testing unit/cluster/divergent-cluster-shardid-conf [ok]: Active expiry deletes entire key when only field expires (201 ms) [ok]: Active expiry removes only expired field while preserving others (202 ms) [ok]: FLUSH on target during import (623 ms) [ok]: divergent cluster shardid conflict (881 ms) [59/145 done]: unit/cluster/divergent-cluster-shardid-conf (1 seconds) Testing unit/cluster/multi-slot-operations Waiting for process 34207 to exit... [ok]: valkey-cli -4 --cluster create using localhost with cluster-port (1925 ms) [ok]: FLUSH on source during export (745 ms) [ok]: Active expiry reclaims memory correctly with large hash containing many fields (1164 ms) [ok]: Slave expired keys is loaded when restarted: appendonly=yes (3319 ms) [ok]: Wait for instance #5 (and not #10) to turn into a master (6211 ms) [ok]: Wait for the node #10 to return alive before ending the test (0 ms) [60/145 done]: unit/cluster/faildet (32 seconds) Testing unit/cluster/slot-ownership [ok]: replica buffer don't induce eviction (5035 ms) [ok]: valkey-cli -4 --cluster add-node using localhost with cluster-port (1178 ms) [ok]: Cluster should eventually be up again (102 ms) [ok]: Node #10 should eventually replicate node #5 (0 ms) [ok]: Active expiry handles fields with different TTL values correctly (1106 ms) [ok]: Don't rehash if used memory exceeds maxmemory after rehash (130 ms) [ok]: Active expiry removes only specified fields leaving others intact (202 ms) [ok]: Field TTL is removed when field value is overwritten with HSET (0 ms) [61/145 done]: unit/cluster/consistency-check (19 seconds) Testing unit/cluster/no-failover-option [ok]: Field TTL is cleared when field is deleted and recreated (201 ms) [ok]: Continuous slots distribution (7 ms) [ok]: ADDSLOTS command with several boundary conditions test suite (1 ms) [ok]: ADDSLOTSRANGE command with several boundary conditions test suite (0 ms) [ok]: DELSLOTSRANGE command with several boundary conditions test suite (3 ms) [ok]: Import cancelled when source hangs (2418 ms) [62/145 done]: unit/cluster/multi-slot-operations (3 seconds) Testing unit/cluster/cluster-reliable-meet [ok]: Cluster nodes are reachable (0 ms) [ok]: Before slots allocation, all nodes report cluster failure (11 ms) [ok]: Cluster nodes haven't met each other (1 ms) [ok]: HEXPIRE active expiry on single field (1105 ms) [ok]: client tracking don't cause eviction feedback loop (1238 ms) [ok]: Allocate slots (113 ms) [ok]: propagation with eviction (97 ms) [ok]: propagation with eviction in MULTI (95 ms) [ok]: Cluster is up (57 ms) [ok]: Set cluster announced IPv4 to invalid IP (0 ms) [ok]: Cluster is writable (41 ms) [ok]: Instance #5 is a slave (1 ms) [ok]: Instance #5 synced with the master (0 ms) [ok]: Killing one master node (7 ms) [ok]: Create 3 node cluster (1923 ms) [ok]: lru/lfu value of the key just added (1 ms) [ok]: Multi-database fill slot 0 (17 ms) [ok]: Perform a Multi-database Resharding (42 ms) [ok]: Verify multi-database slot migrate (14 ms) [ok]: NOADDR nodes will be marked as FAIL (462 ms) [ok]: Set cluster announced IPv4 and check that it propagates (214 ms) [ok]: Import mode should forbid eviction (0 ms) [63/145 done]: unit/cluster/cli (33 seconds) Testing unit/cluster/cluster-shards [ok]: HEXPIRE active expiry with multiple fields (1105 ms) [64/145 done]: unit/maxmemory (61 seconds) Testing unit/cluster/pubsubshard-slot-migration [ok]: Clear announced client IPv4 and check that it propagates (212 ms) [65/145 done]: unit/cluster/noaddr (11 seconds) Testing unit/cluster/links [ok]: ziplist implementation: value encoding and backlink (9481 ms) [ok]: HEXPIRE active expiry removes entire key when last field expires (1104 ms) [ok]: MEET is reliable when target drops the initial MEETs (2532 ms) [ok]: Export cancelled when target hangs (2993 ms) [ok]: Import with AUTH on (281 ms) [ok]: Import AUTH with WRONGPASS (36 ms) [ok]: Connection drop during import causes failure (188 ms) [ok]: Migrated replica reports zero repl offset and rank, and fails to win election - shutdown (17658 ms) [ok]: Break master-slave link and prevent further reconnections (20008 ms) [ok]: Slave #5 is reachable and alive (0 ms) [ok]: HEXPIRE active expiry with non-existing fields (1503 ms) [ok]: Export client buffer enforcement (782 ms) [ok]: Wait for failover (3572 ms) [ok]: Slot importing with some non-importing data (514 ms) [ok]: Cluster should eventually be up again (109 ms) [ok]: Cluster is writable (42 ms) [ok]: Instance #5 is now a master (1 ms) [ok]: Restarting the previously killed master node (0 ms) [ok]: Instance #0 gets converted into a slave (84 ms) [ok]: HEXPIRE active expiry with mixed existing and non-existing fields (1108 ms) [ok]: Failover on shutdown hands over primaryship to a fully sync'd replica - sigterm - shutdown-timeout: 0 (1030 ms) [ok]: Unable to find a replica to perform an auto failover - sigterm (94 ms) [ok]: Export client buffer excluded from maxmemory (702 ms) [ok]: Migration not cancelled when snapshot takes more time than repl-timeout (249 ms) [ok]: ziplist implementation: encoding stress testing (4783 ms) [66/145 done]: unit/type/list-3 (48 seconds) Testing unit/cluster/shardid-propagation [ok]: Cluster nodes are reachable (0 ms) [ok]: Before slots allocation, all nodes report cluster failure (12 ms) [ok]: Cluster nodes haven't met each other (1 ms) [ok]: Allocate slots (70 ms) [ok]: HEXPIRE active expiry with already expired fields (2014 ms) [ok]: Restart of node in cluster mode doesn't cause nodes.conf corruption due to shard id mismatch (308 ms) [ok]: HPEXPIRE active expiry on single field (1004 ms) [ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (167 ms) [ok]: HPEXPIRE active expiry with multiple fields (1004 ms) [ok]: Cluster is up (33 ms) [ok]: Instance #3 is a replica (2 ms) [ok]: Instance #3 synced with the master (0 ms) [ok]: The nofailover flag is propagated (153 ms) [ok]: Killing one master node (7 ms) [ok]: Restart target primary during migration (without save) causes failure (4447 ms) [ok]: HPEXPIRE active expiry removes entire key when last field expires (1007 ms) [ok]: HPEXPIRE active expiry with non-existing fields (1502 ms) [ok]: Cluster is up (100 ms) [ok]: The first master has actually 5 slaves (0 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 (1 ms) [ok]: Cluster should start ok (32 ms) [ok]: Cluster shards response is ok for shard 0 (1 ms) [ok]: Kill a node and tell the replica to immediately takeover (6 ms) [ok]: Broadcast message across a cluster shard while a cluster link is down (103 ms) [ok]: Cluster is up (32 ms) [ok]: Migrate a slot, verify client receives sunsubscribe on primary serving the slot. (5 ms) [ok]: Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot. (4 ms) [ok]: Migrate a slot, verify client receives sunsubscribe on replica serving the slot. (41 ms) [ok]: Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot. (26 ms) [ok]: Delete a slot, verify sunsubscribe message (6 ms) [ok]: Reset cluster, verify sunsubscribe message (5 ms) [ok]: Set cluster announced IPv6 to invalid IP (0 ms) [ok]: HPEXPIRE active expiry with mixed existing and non-existing fields (1006 ms) [ok]: Set cluster announced IPv6 and check that it propagates (211 ms) [ok]: Clear announced client IPv6 and check that it propagates (206 ms) [ok]: Cluster should be still down after some time (3322 ms) [ok]: Instance #3 is still a replica (0 ms) [ok]: Restarting the previously killed master node (0 ms) Waiting for process 43586 to exit... [ok]: Restart target primary during migration (with save) causes failure (3417 ms) [ok]: Slave #5 should not be able to failover (10001 ms) [ok]: Cluster should be down (57 ms) [67/145 done]: unit/cluster/no-failover-option (15 seconds) Testing unit/cluster/scripting [68/145 done]: unit/cluster/pubsubshard-slot-migration (13 seconds) Testing unit/cluster/slot-migration [ok]: Handshake eventually succeeds after node handshake timeout on both sides with inconsistent view of the cluster (9166 ms) [ok]: HPEXPIRE active expiry with already expired fields (2011 ms) [69/145 done]: unit/cluster/slave-stop-cond (42 seconds) Testing unit/cluster/slot-stats [ok]: HEXPIREAT active expiry on single field (102 ms) [ok]: Each node has two links with each peer (3 ms) [ok]: Validate cluster links format (0 ms) [ok]: Verify health as fail for killed node (3307 ms) [ok]: CLUSTER SHARDS slot response is non-empty when primary node fails (0 ms) [ok]: Load cluster announced IPv4 config on server start (199 ms) [ok]: HEXPIREAT active expiry with multiple fields (1006 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 (1 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 (0 ms) [ok]: Calling cluster slots in scripts is OK (0 ms) [ok]: Calling cluster shards in scripts is OK (1 ms) [70/145 done]: unit/cluster/cluster-shards (15 seconds) Testing unit/cluster/half-migrated-slot [71/145 done]: unit/cluster/scripting (2 seconds) Testing unit/cluster/human-announced-nodename [ok]: HEXPIREAT active expiry removes entire key when last field expires (1005 ms) [ok]: Cluster is up (46 ms) [ok]: Cluster is writable (40 ms) [ok]: Killing the first primary node (6 ms) [ok]: Restart source primary during migration (without save) causes failure (4321 ms) [ok]: Load cluster announced IPv6 config on server start (199 ms) [72/145 done]: unit/cluster/announce-client-ip (28 seconds) Testing unit/cluster/failure-marking [ok]: The replica will have a new shard_id after cluster reset soft (106 ms) [ok]: Cluster is up (10 ms) [ok]: Half init migration in 'migrating' is fixable (18 ms) [ok]: Half init migration in 'importing' is fixable (19 ms) [ok]: HEXPIREAT active expiry with non-existing fields (1506 ms) [ok]: Init migration and move key (48 ms) [ok]: Move key again (4 ms) [ok]: Half-finish migration (43 ms) [ok]: Move key back (1 ms) [ok]: Half-finish importing (42 ms) [73/145 done]: unit/cluster/shardid-propagation (11 seconds) Testing unit/cluster/cluster-multiple-meets [ok]: CLUSTER SLOT-STATS cpu-usec reset upon CONFIG RESETSTAT. (1884 ms) [74/145 done]: unit/cluster/half-migrated-slot (2 seconds) Testing unit/cluster/sharded-pubsub [ok]: Set cluster human announced nodename and let it propagate (206 ms) [ok]: Cluster nodes are reachable (0 ms) [ok]: Before slots allocation, all nodes report cluster failure (10 ms) [ok]: Cluster nodes haven't met each other (1 ms) [ok]: HEXPIREAT active expiry with mixed existing and non-existing fields (505 ms) [ok]: Allocate slots (114 ms) [ok]: Restart source primary during migration (with save) causes failure (2354 ms) [ok]: HEXPIREAT active expiry with already expired fields (2008 ms) [ok]: Wait for failover (3422 ms) [ok]: Cluster should eventually be up again (51 ms) [ok]: Restarting the previously killed primary node (0 ms) [ok]: Instance #0 gets converted into a replica (181 ms) [ok]: Make sure the replicas always get the different ranks (1 ms) [ok]: Multiple MEETs from Node 1 to Node 0 should work (2590 ms) [75/145 done]: unit/cluster/cluster-multiple-meets (3 seconds) Testing unit/cluster/cluster-response-tls [76/145 done]: unit/cluster/cluster-response-tls (0 seconds) Testing unit/cluster/shutdown [ok]: Restart target replica during migration (without save) causes success (1623 ms) [ok]: HPEXPIREAT active expiry on single field (1105 ms) [77/145 done]: unit/cluster/failover (33 seconds) Testing unit/cluster/base [ok]: Human nodenames are visible in log messages (3521 ms) [ok]: CLUSTER SLOT-STATS cpu-usec reset upon slot migration. (3797 ms) [ok]: Restart target replica during migration (with save) causes success (617 ms) [ok]: Cluster nodes are reachable (1 ms) [78/145 done]: unit/cluster/human-announced-nodename (6 seconds) Testing unit/cluster/misc [ok]: Migrated replica reports zero repl offset and rank, and fails to win election - sigstop (7616 ms) [ok]: HPEXPIREAT active expiry with multiple fields (1107 ms) [ok]: Cluster Join and auto-discovery test (860 ms) [ok]: Before slots allocation, all nodes report cluster failure (26 ms) [ok]: Different nodes have different IDs (1 ms) [ok]: It is possible to perform slot allocation (266 ms) [ok]: After the join, every node gets a different config epoch (5 ms) [ok]: Restart source replica during migration (without save) causes success (1632 ms) [ok]: HPEXPIREAT active expiry removes entire key when last field expires (1107 ms) [ok]: Disconnect link when send buffer limit reached (9016 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for non-slot specific commands. (1945 ms) [ok]: Primary lost a slot during the shutdown waiting (4264 ms) [ok]: Restart source replica during migration (with save) causes success (619 ms) [ok]: Slot migration states are replicated (6 ms) [ok]: Link memory increases with publishes (912 ms) [ok]: Handshake eventually succeeds after node handshake timeout on one side with inconsistent view of the cluster (8656 ms) [79/145 done]: unit/cluster/cluster-reliable-meet (25 seconds) Testing unit/cluster/replica-detach [ok]: HPEXPIREAT active expiry with non-existing fields (1502 ms) [ok]: Link memory resets after publish messages flush (515 ms) [80/145 done]: unit/cluster/links (25 seconds) Testing unit/cluster/info [ok]: CLUSTER SLOT-STATS cpu-usec for slot specific commands. (1943 ms) [ok]: Failover on shutdown hands over primaryship to a fully sync'd replica - shutdown - shutdown-timeout: 10 (10115 ms) [ok]: HPEXPIREAT active expiry with mixed existing and non-existing fields (1105 ms) [ok]: Unable to find a replica to perform an auto failover - shutdown (14 ms) [ok]: Test shutdown safe is working (3183 ms) [81/145 done]: unit/cluster/shutdown (6 seconds) Testing unit/cluster/cluster-nodes-slots [ok]: Migration target is auto-updated after failover in target shard (3230 ms) [ok]: Cluster should start ok (11 ms) [ok]: errorstats: rejected call due to MOVED Redirection (1 ms) [ok]: HPEXPIREAT active expiry with already expired fields (2211 ms) [ok]: Sharded pubsub publish behavior within multi/exec (0 ms) [ok]: Sharded pubsub within multi/exec with cross slot operation (1 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 (0 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 (0 ms) [ok]: Nodes should report cluster_state is ok now (5473 ms) [ok]: Sanity for CLUSTER COUNTKEYSINSLOT (0 ms) [ok]: It is possible to write and read from the cluster (51 ms) [ok]: CLUSTER RESET SOFT test (6 ms) [ok]: Coverage: CLUSTER HELP (0 ms) [ok]: Coverage: ASKING (0 ms) [ok]: CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas (0 ms) [82/145 done]: unit/cluster/base (7 seconds) Testing unit/cluster/diskless-load-swapdb [83/145 done]: unit/cluster/sharded-pubsub (12 seconds) Testing unit/cluster/manual-failover [ok]: New Master down consecutively (17844 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on keyspace update. (3861 ms) [ok]: CLIENT PAUSE WRITE blocks hash field active expiry until pause ends (1303 ms) [84/145 done]: unit/cluster/slave-selection (61 seconds) Testing unit/cluster/pubsub [ok]: Migration source is auto-updated after failover in source shard (3243 ms) [ok]: Replica redirects key access in migrating slots (3 ms) [ok]: Replica of migrating node returns ASK redirect after READONLY (2 ms) [ok]: Replica of migrating node returns TRYAGAIN after READONLY (2 ms) [ok]: Replica of importing node returns TRYAGAIN after READONLY and ASKING (3 ms) [ok]: Verify that single primary marks replica as failed (3201 ms) [ok]: HEXPIRE active expiry works correctly after RENAME operation (2210 ms) [ok]: New replica inherits migrating slot (1101 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on timeout. (2457 ms) [ok]: Key lazy expires during key migration (14 ms) [ok]: Coverage: Basic cluster commands (4 ms) [ok]: New replica inherits importing slot (940 ms) [ok]: fail reason changed (3511 ms) [ok]: CONFIG RESETSTAT resets cluster related stats (85 ms) [ok]: HEXPIRE active expiry works correctly after COPY operation (2209 ms) [ok]: Primary lost a slot during the manual failover pausing (100 ms) [ok]: Cluster should start ok (30 ms) [ok]: CLUSTER REPLICATE NO ONE should turn node into empty primary (8 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for transactions. (3835 ms) [ok]: HEXPIRE active expiry works correctly after RESTORE operation (2210 ms) [85/145 done]: unit/cluster/replica-detach (12 seconds) Testing unit/cluster/cluster-flush-slot [ok]: Failover cancels slot migration in transferred replica (230 ms) [ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - shutdown (3021 ms) [ok]: Cluster should start ok (21 ms) [ok]: Continuous slots distribution (5 ms) [ok]: Discontinuous slots distribution (4 ms) [ok]: count - node partial failure (1126 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, without cross-slot keys. (1917 ms) [86/145 done]: unit/cluster/cluster-nodes-slots (12 seconds) Testing unit/cluster/failover2 [ok]: count - node complete failure (1006 ms) [ok]: HEXPIRE active expiry works correctly after MOVE operation (2210 ms) [87/145 done]: unit/cluster/info (13 seconds) Testing unit/cluster/multidb [ok]: Cluster should start ok (11 ms) [ok]: Cluster is writable (39 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, with cross-slot keys. (1912 ms) [ok]: Cluster is up (51 ms) [ok]: Cluster is writable (40 ms) [ok]: Instance #5 is a slave (0 ms) [ok]: Instance #5 synced with the master (1 ms) W[ok]: Migration with no replicas (248 ms) [ok]: HPEXPIRE active expiry works correctly after RENAME operation (2211 ms) WWWWWWW[ok]: CLUSTER SLOT-STATS cpu-usec for functions, without cross-slot keys. (1926 ms) WW[ok]: Send CLUSTER FAILOVER to #5, during load (1290 ms) [ok]: Wait for failover (13 ms) [ok]: Cluster should eventually be up again (55 ms) [ok]: Test publishing to master (3 ms) [ok]: Test publishing to slave (3 ms) [ok]: Cluster is writable (39 ms) [ok]: Instance #5 is now a master (1 ms) [ok]: Verify 50000 keys for consistency with logical content (685 ms) [ok]: Instance #0 gets converted into a slave (15 ms) [ok]: HPEXPIRE active expiry works correctly after COPY operation (2212 ms) [ok]: Read syncslots establish response timeout (2642 ms) [ok]: Migration cannot connect to target (6 ms) [ok]: CLUSTER SLOT-STATS cpu-usec for functions, with cross-slot keys. (1918 ms) [ok]: Cross-slot transaction (0 ms) [ok]: Multiple slot migration states are replicated (9 ms) [88/145 done]: unit/cluster/misc (23 seconds) Testing unit/cluster/many-slot-migration [ok]: New replica inherits multiple migrating slots (534 ms) [ok]: Slot finalization succeeds on both primary and replicas (11 ms) [ok]: HPEXPIRE active expiry works correctly after RESTORE operation (2209 ms) [ok]: Test cluster info stats for publish (1 ms) [89/145 done]: unit/cluster/pubsub (15 seconds) Testing unit/cluster/replica-redirect [ok]: Primary lost a slot during the client pause command (139 ms) [ok]: SYNC Flush slot command (56 ms) [ok]: ASYNC Flush slot command (50 ms) [90/145 done]: unit/cluster/slot-ownership (49 seconds) Testing unit/cluster/announced-endpoints [ok]: HPEXPIRE active expiry works correctly after MOVE operation (2210 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, multi bulk buffer processing. (1949 ms) [ok]: Cluster is up (49 ms) [ok]: Failover on shutdown hands over primaryship to a fully sync'd replica - sigterm - shutdown-timeout: 10 (10205 ms) [ok]: Unable to find a replica to perform an auto failover - sigterm (76 ms) [ok]: Verify that multiple primaries mark replica as failed (6180 ms) [91/145 done]: unit/cluster/auto-failover-on-shutdown (68 seconds) Testing unit/cluster/replica-in-sync [ok]: Cluster is up (10 ms) [ok]: Key-based commands can be used on multiple databases (0 ms) [ok]: Key-based commands across multiple databases (292 ms) [ok]: HEXPIREAT active expiry works correctly after RENAME operation (1908 ms) [ok]: Validate slot statistics using cluster countkeysinslot and cluster getkeysinslot (306 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, in-line buffer processing. (1951 ms) [ok]: Cluster is up (35 ms) [ok]: Cluster is writable (46 ms) [ok]: Killing one primary node (6 ms) [ok]: Replication: Write to multiple databases and verify replica (657 ms) [ok]: SWAPDB is not supported in cluster mode (502 ms) [ok]: Set many keys (2739 ms) [ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - sigstop (2148 ms) [ok]: HEXPIREAT active expiry works correctly after COPY operation (2010 ms) [ok]: Cross-DB Expiry Handling (2004 ms) [ok]: HEXPIREAT active expiry works correctly after RESTORE operation (2009 ms) [ok]: Keys are accessible (2638 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, blocking command. (3833 ms) [ok]: Init migration of many slots (1582 ms) [ok]: Cluster is up (54 ms) [ok]: Cluster is writable (55 ms) [ok]: Instance #5 is a slave (1 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 (0 ms) [ok]: HEXPIREAT active expiry works correctly after MOVE operation (2010 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, multi-exec transaction. (1968 ms) [ok]: Persistence across restart with multiple databases (3176 ms) [ok]: Copy key to other database (1 ms) [ok]: CLUSTER RESET should fail if databases contain keys (1 ms) [ok]: Move key to other database (0 ms) [ok]: Flushslot with multiple databases (2 ms) [ok]: Cluster is up (10 ms) [ok]: Wait for failover (6197 ms) [ok]: Killing the new primary node (6 ms) [ok]: Instance #5 is still a slave after some time (no failover) (1002 ms) [ok]: Cluster should eventually be up again (38 ms) [ok]: blocked clients behavior during failover (117 ms) [92/145 done]: unit/cluster/replica-redirect (11 seconds) Testing unit/cluster/cross-version-cluster [ignore]: Other server path not provided [ignore]: Other server path not provided [93/145 done]: unit/cluster/cross-version-cluster (0 seconds) Testing unit/cluster/pubsubshard Port 28198 was already busy, trying another port... [94/145 done]: unit/cluster/multidb (18 seconds) Testing integration/psync2 [ok]: Wait for instance #0 to return back alive (998 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, non slot specific command. (1897 ms) [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (0 ms) [ok]: PSYNC2: Set #4 to replicate from #1 (0 ms) [ok]: HPEXPIREAT active expiry works correctly after RENAME operation (2213 ms) [ok]: Cluster is up (77 ms) [ok]: Cluster is writable (57 ms) [ok]: Instance #5 is a slave (0 ms) [ok]: Replica migration persisted through AOF (3370 ms) [ok]: Slot is auto-claimed by target after source relinquishes ownership (1005 ms) [ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (104 ms) [ok]: Imported keys are persisted through AOF (264 ms) [ok]: Test change cluster-announce-bus-port at runtime (203 ms) [ok]: Test change port and tls-port on runtime (205 ms) [ok]: PSYNC2: Set #1 to replicate from #2 (0 ms) [95/145 done]: unit/cluster/announced-endpoints (12 seconds) Testing integration/aof-race [ok]: Flush slot command propagated to replica (177 ms) [ok]: Cluster is up (13 ms) [ok]: Cluster is writable (46 ms) [ok]: Fill up primary with data (1 ms) [ok]: Add new node as replica (0 ms) [ok]: Check digest and replica state (1 ms) [96/145 done]: integration/aof-race (0 seconds) Testing integration/block-repl [ok]: CLUSTER SLOT-STATS network-bytes-in, pub/sub. (1933 ms) [ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) [97/145 done]: unit/cluster/cluster-flush-slot (23 seconds) Testing integration/failover [ok]: HPEXPIREAT active expiry works correctly after COPY operation (2211 ms) [ok]: client do not break when cluster slot (2238 ms) [ok]: failover command fails without connected replica (0 ms) [ok]: client can handle keys with hash tag (36 ms) [ok]: slot migration is valid from primary to another primary (41 ms) [ok]: slot migration is invalid from primary to replica (36 ms) [ok]: First server should have role slave after SLAVEOF (1002 ms) [ok]: PSYNC2: Set #3 to replicate from #2 (0 ms) [ok]: setup replication for following tests (811 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]: PSYNC2: cluster is consistent after failover (1 ms) [ok]: failover command to specific replica works (1137 ms) [ok]: HPEXPIREAT active expiry works correctly after RESTORE operation (2213 ms) [ok]: wait for new failover (6042 ms) [ok]: Restarting the previously killed primary nodes (2 ms) [ok]: Make sure there is no failover timeout (3 ms) [ok]: failover command to any replica works (928 ms) [ok]: failover to a replica with force works (428 ms) [ok]: failover with timeout aborts if replica never catches up (550 ms) [ok]: failovers can be aborted (18 ms) [ok]: failover aborts if target rejects sync request (424 ms) [ok]: HPEXPIREAT active expiry works correctly after MOVE operation (2216 ms) [ok]: Replica in loading state is hidden (5845 ms) [ok]: Check disconnected replica not hidden from slots (204 ms) Waiting for process 55134 to exit... [98/145 done]: unit/cluster/replica-in-sync (17 seconds) Testing integration/corrupt-dump-fuzzer [ok]: HEXPIRE active expiry processes multiple hash keys with different field counts (1108 ms) [99/145 done]: integration/failover (6 seconds) Testing integration/skip-rdb-checksum [ok]: Skip RDB checksum sync - tls:0, repl_diskless_sync:yes, repl_diskless_load:on-empty-db (319 ms) [100/145 done]: integration/skip-rdb-checksum (0 seconds) Testing integration/psync2-reg [ok]: HPEXPIRE active expiry processes multiple hash keys with different field counts (1110 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 84036) (0 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (0 ms) [ok]: PSYNC2: Set #4 to replicate from #3 (0 ms) [ok]: Pub/Sub shard basics (2 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 (0 ms) [ok]: sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed (1 ms) [ok]: Verify Pub/Sub and Pub/Sub shard no overlap (4 ms) [ok]: PUBSUB channels/shardchannels (1 ms) [ok]: HEXPIREAT active expiry processes multiple hash keys with different field counts (909 ms) [ok]: PSYNC2: Set #0 to replicate from #3 (0 ms) [ok]: PSYNC2 #3899 regression: setup (1003 ms) [ok]: AOF maintains consistency through many migrations (9538 ms) [101/145 done]: unit/cluster/cluster-migrateslots (104 seconds) Testing integration/replication-3 [102/145 done]: unit/cluster/pubsubshard (11 seconds) Testing integration/rdb [ok]: test old version rdb file (2 ms) [ok]: HPEXPIREAT active expiry processes multiple hash keys with different field counts (1112 ms) [ok]: PSYNC2: Set #1 to replicate from #2 (0 ms) [ok]: RDB encoding loading test (10 ms) [ok]: RDB future version loading, strict version check (2 ms) [ok]: RDB future version loading, relaxed version check (11 ms) [ok]: slot must be unbound on the owner when it is deleted (9105 ms) [ok]: RDB future version loading with unknown types, relaxed version check (1 ms) [ok]: First server should have role slave after SLAVEOF (810 ms) [ok]: RDB foreign version loading, relaxed version check (0 ms) [ok]: Only primary with slots has the right to mark a node as failed (19657 ms) [ok]: RDB foreign version loading with unknown types, relaxed version check (1 ms) [ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) [ok]: PSYNC2: cluster is consistent after failover (0 ms) [ok]: CLUSTER SETSLOT with invalid timeouts (1 ms) [ok]: Server started empty with non-existing RDB file (1 ms) [ok]: HEXPIRE handles mixed short and long expiry times across multiple keys (1109 ms) [ok]: Server started empty with empty RDB file (0 ms) [ok]: Test RDB stream encoding (85 ms) [ok]: Test RDB stream encoding - sanitize dump (11 ms) [ok]: Cluster is up (153 ms) [ok]: Cluster is writable (93 ms) [ok]: Instance #5 is a slave (3 ms) [ok]: Instance #5 synced with the master (2 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 (56 ms) [ok]: Server should not start if RDB file can't be open (1 ms) [ok]: Server should not start if RDB is corrupted (1 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: PSYNC2 #3899 regression: kill first replica (3 ms) [ok]: HPEXPIRE handles mixed short and long expiry times across multiple keys (1112 ms) [103/145 done]: unit/cluster/cluster-slots (104 seconds) Testing integration/aof-multi-part [ok]: Multi Part AOF can't load data when some file missing (120 ms) [ok]: Multi Part AOF can't load data when the sequence not increase monotonically (107 ms) [ok]: Test FLUSHALL aborts bgsave (429 ms) [ok]: bgsave resets the change counter (103 ms) [ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (109 ms) [ok]: Multi Part AOF can't load data when there is a duplicate base file (116 ms) [ok]: bgsave cancel aborts save (123 ms) [ok]: bgsave cancel schedulled request (18 ms) [ok]: HEXPIREAT handles mixed short and long expiry times across multiple keys (711 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (142 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (114 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (114 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (111 ms) [ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (123 ms) [ok]: Multi Part AOF can't load data when the manifest file is empty (121 ms) [ok]: MASTER and SLAVE consistency with expire (2787 ms) [ok]: Master can replicate command longer than client-query-buffer-limit on replica (87 ms) [ok]: Multi Part AOF can start when no aof and no manifest (235 ms) [ok]: Wait for instance #0 to return back alive (1942 ms) [ok]: PSYNC2 #3899 regression: kill first replica (2 ms) [ok]: Multi Part AOF can start when we have en empty AOF dir (236 ms) [ok]: HPEXPIREAT handles mixed short and long expiry times across multiple keys (1111 ms) [ok]: Multi Part AOF can load data discontinuously increasing sequence (220 ms) [ok]: client freed during loading (1546 ms) [ok]: Multi Part AOF can load data when manifest add new k-v (222 ms) [ok]: Multi Part AOF can load data when some AOFs are empty (220 ms) [ok]: Multi Part AOF can load data from old version valkey (rdb preamble no) (338 ms) [ok]: HEXPIRE deletes entire keys when all fields expire while preserving partial keys (1110 ms) [ok]: Test RDB load info (624 ms) [ok]: Multi Part AOF can load data from old version valkey (rdb preamble yes) (253 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (244 ms) [ok]: CLUSTER SLOT-STATS network-bytes-in, sharded pub/sub. (4232 ms) [ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (149 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 (128 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 200399) (1 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) [ok]: PSYNC2: --- CYCLE 3 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (1 ms) [ok]: PSYNC2: Set #0 to replicate from #4 (0 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server1) (108 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server2) (108 ms) [ok]: HPEXPIRE deletes entire keys when all fields expire while preserving partial keys (1108 ms) [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (635 ms) [ok]: Multi Part AOF can handle appendfilename contains whitespaces (329 ms) [ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (10051 ms) [ok]: Multi Part AOF can create BASE (RDB format) when server starts from empty (229 ms) [ok]: HEXPIREAT deletes entire keys when all fields expire while preserving partial keys (709 ms) [ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) [ok]: Multi Part AOF can create BASE (AOF format) when server starts from empty (222 ms) [ok]: Sub-replica reports zero repl offset and rank, and fails to win election - shutdown (13044 ms) [ok]: Test child sending info (1999 ms) [ok]: script won't load anymore if it's in rdb (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: failed bgsave prevents writes (209 ms) [104/145 done]: integration/rdb (9 seconds) Testing integration/convert-zipmap-hash-on-load [ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) [ok]: HPEXPIREAT deletes entire keys when all fields expire while preserving partial keys (1108 ms) [ok]: RDB load zipmap hash: converts to listpack (1 ms) [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (0 ms) [ok]: Changing aof-use-rdb-preamble during rewrite process (1350 ms) [105/145 done]: integration/convert-zipmap-hash-on-load (0 seconds) Testing integration/cross-version-replication [ignore]: Other server path not provided [ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) [106/145 done]: integration/cross-version-replication (0 seconds) Testing integration/logging [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: Crash report generated on SIGABRT (103 ms) [ok]: Fix cluster (22420 ms) [ok]: Crash report generated on DEBUG SEGFAULT (1 ms) [ok]: PSYNC2: Set #3 to replicate from #4 (0 ms) [ok]: PSYNC2: cluster is consistent after failover (1 ms) [ok]: AOF enable will create manifest file (535 ms) [ok]: HEXPIRE active expiry reclaims memory efficiently across multiple large hash keys (1113 ms) [ok]: Stacktraces generated on SIGALRM (103 ms) [ok]: Config hide-user-data-from-log is off (1 ms) [ok]: PSYNC2 #3899 regression: kill first replica (9 ms) [ok]: Slave is able to evict keys created in writable slaves (6003 ms) [ok]: Config hide-user-data-from-log is on (0 ms) [ok]: Writable replica doesn't return expired keys (103 ms) [ok]: PFCOUNT updates cache on readonly replica (1 ms) [107/145 done]: integration/logging (2 seconds) Testing integration/replication [ok]: PFCOUNT doesn't use expired key on readonly replica (103 ms) [ok]: Slave enters handshake (1 ms) [ok]: Slave enters wait_bgsave (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: HPEXPIRE active expiry reclaims memory efficiently across multiple large hash keys (1114 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, for non-slot specific commands. (1926 ms) [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1240 ms) [ok]: HEXPIREAT active expiry reclaims memory efficiently across multiple large hash keys (511 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: AOF rewrite doesn't open new aof when AOF turn off (516 ms) [108/145 done]: integration/replication-3 (12 seconds) Testing integration/replication-4 [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: AOF enable/disable auto gc (213 ms) [ok]: First server should have role slave after SLAVEOF (2 ms) [ok]: AOF can produce consecutive sequence number after reload (101 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (363 ms) [ok]: HPEXPIREAT active expiry reclaims memory efficiently across multiple large hash keys (1117 ms) [ok]: HINCRBY recreates field with correct value after active expiry deletion (203 ms) [ok]: HINCRBY preserves existing TTL when incrementing field value (3 ms) [ok]: AOF will trigger limit when AOFRW fails many times (585 ms) [ok]: HINCRBY handles mix of expired and existing fields during increment operations (203 ms) [ok]: HINCRBY maintains TTL values when incrementing fields with existing expiry (1 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, for slot specific commands. (2031 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: HINCRBYFLOAT recreates field with correct value after active expiry deletion (203 ms) [ok]: HINCRBYFLOAT preserves existing TTL when incrementing field value (2 ms) [ok]: HINCRBYFLOAT handles mix of expired and existing fields during increment operations (203 ms) [ok]: HINCRBYFLOAT maintains TTL values when incrementing fields with existing expiry (2 ms) [ok]: Primaries will not time out then they are elected in the same epoch (7305 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: Keys are accessible (4712 ms) [ok]: PSYNC2 #3899 regression: kill first replica (2 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: HDEL removes both expired and non-expired fields deleting key when empty (1112 ms) [ok]: HPERSIST returns -2 when attempting to persist already expired field (103 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) [ok]: PSYNC2: cluster is consistent after load (x = 302203) (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 #3 as master (1 ms) [ok]: PSYNC2: Set #0 to replicate from #4 (0 ms) [ok]: HPEXPIRE works correctly on field after HPERSIST removes its TTL (204 ms) [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (2303 ms) [109/146 done]: unit/cluster/many-slot-migration (38 seconds) Testing integration/aof [ok]: Unfinished MULTI: Server should start if load-truncated is yes (1 ms) [110/146 done]: integration/aof-multi-part (12 seconds) Testing integration/shutdown [ok]: Short read: Server should start if load-truncated is yes (0 ms) [ok]: Truncated AOF loaded: we expect foo to be equal to 5 (1 ms) [ok]: Append a new command after loading an incomplete AOF (0 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: PSYNC2: Set #4 to replicate from #3 (0 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]: 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 (0 ms) [ok]: Short read: Utility should confirm the AOF is not valid (8 ms) [ok]: Short read: Utility should show the abnormal line num in AOF (6 ms) [ok]: Short read: Utility should be able to fix the AOF (4 ms) [ok]: Fixed AOF: Server should have been started (0 ms) [ok]: Fixed AOF: Keyspace should contain values that were parseable (1 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: AOF+SPOP: Server should have been started (0 ms) [ok]: AOF+SPOP: Set should have 1 member (0 ms) [ok]: CLUSTER SETSLOT with an explicit timeout (3068 ms) [ok]: PSYNC2: Set #1 to replicate from #2 (0 ms) [ok]: AOF+SPOP: Server should have been started (0 ms) [ok]: AOF+SPOP: Set should have 1 member (0 ms) [ok]: AOF+EXPIRE: Server should have been started (0 ms) [ok]: AOF+EXPIRE: List should be empty (0 ms) [ok]: Test replication with parallel clients writing in different DBs (5185 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: Server should not try to convert DEL into EXPIREAT for EXPIRE -1 (0 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, blocking commands. (4265 ms) [ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (10020 ms) [111/146 done]: integration/corrupt-dump-fuzzer (20 seconds) Testing integration/valkey-check-rdb [ok]: Hash field TTL values and active expiry state preserved during cluster slot migration (363 ms) [ok]: Check old valid RDB (5 ms) [ok]: Check foreign RDB without unknown data (5 ms) [ok]: Check foreign RDB with unknown data (5 ms) [ok]: Check future RDB without unknown data (5 ms) [ok]: Check future RDB with unknown data (4 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]: Test replication with blocking lists and sorted sets operations (25003 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 ms) [ok]: test valkey-check-rdb stats with empty RDB (8 ms) [ok]: test valkey-check-rdb stats function (8 ms) [ok]: test valkey-check-rdb stats key space (35 ms) [ok]: PSYNC2: Set #2 to replicate from #4 (1 ms) [ok]: PSYNC2: cluster is consistent after failover (0 ms) [112/146 done]: integration/valkey-check-rdb (0 seconds) Testing integration/corrupt-dump [113/146 done]: integration/block-repl (27 seconds) Testing integration/convert-ziplist-hash-on-load [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) [ok]: corrupt payload: #7445 - with sanitize (214 ms) [ok]: Shutting down master waits for replica to catch up (sigterm) (2799 ms) [ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (0 ms) [ok]: corrupt payload: hash with valid zip list header, invalid entry len (220 ms) [114/146 done]: integration/convert-ziplist-hash-on-load (0 seconds) Testing integration/convert-ziplist-zset-on-load [ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) [ok]: corrupt payload: invalid zlbytes header (220 ms) [ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (0 ms) [ok]: corrupt payload: valid zipped hash header, dup records (220 ms) [115/146 done]: integration/convert-ziplist-zset-on-load (1 seconds) Testing integration/psync2-master-restart [ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) [ok]: corrupt payload: quicklist big ziplist prev len (221 ms) [ok]: Primaries do not add failure-report after replica is already marked FAIL (6343 ms) [ok]: corrupt payload: quicklist small ziplist prev len (215 ms) [ok]: corrupt payload: quicklist ziplist wrong count (220 ms) [116/146 done]: unit/cluster/failure-marking (69 seconds) Testing integration/valkey-benchmark [ok]: benchmark: set,get (5 ms) [ok]: benchmark: connecting using URI set,get (4 ms) [ok]: benchmark: connecting using URI with authentication set,get (5 ms) [ok]: corrupt payload: #3080 - quicklist (221 ms) [ok]: benchmark: full test suite (76 ms) [ok]: Client blocked on XREADGROUP while stream's slot is migrated (8 ms) [ok]: corrupt payload: quicklist with empty ziplist (215 ms) [ok]: corrupt payload: quicklist encoded_len is 0 (218 ms) [ok]: benchmark: multi-thread set,get (513 ms) [ok]: benchmark: pipelined full set,get (67 ms) [ok]: benchmark: arbitrary command (4 ms) [ok]: benchmark: arbitrary command sequence (5 ms) value:VXKeHogKgJ=[5V9_X^b?48OKF2jGA of the slave lag (3139 ms) [ok]: min-slaves-to-write is ignored by slaves (5 ms) [123/146 done]: integration/psync2 (43 seconds) Testing integration/psync2-pingoff [ok]: Replication: commands with many arguments (issue #1221) (8659 ms) [ok]: corrupt payload: fuzzer findings - empty set listpack (218 ms) [ok]: spopwithcount rewrite srem command (91 ms) [ok]: expired_fields metric correctly tracks sequential field expirations in replication (416 ms) [ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (214 ms) [124/146 done]: integration/corrupt-dump (15 seconds) Testing integration/dismiss-mem [125/146 done]: unit/hashexpire (165 seconds) [ok]: Replication of SPOP command -- alsoPropagate() API (876 ms) [ok]: Connecting as a replica (2133 ms) [ok]: PSYNC2 pingoff: setup (1003 ms) [ok]: PSYNC2 pingoff: write and wait replication (1 ms) [ok]: dismiss all data types memory (1230 ms) [ok]: First server should have role slave after SLAVEOF (915 ms) [ok]: Data divergence can happen under default conditions (5 ms) [ok]: Data divergence is allowed on writable replicas (1 ms) [ok]: Piping raw protocol (1115 ms) [ok]: Options -X with illegal argument (7 ms) [ok]: DUMP RESTORE with -x option (27 ms) [ok]: DUMP RESTORE with -X option (13 ms) [ok]: dismiss client output buffer (620 ms) [126/146 done]: integration/replication-4 (23 seconds) [ok]: valkey-cli pubsub mode with single standard channel subscription (304 ms) [ok]: dismiss client query buffer (309 ms) [ok]: valkey-cli pubsub mode with multiple standard channel subscriptions (305 ms) [ok]: All replicas share one global replication buffer dualchannel no (73 ms) [ok]: Replication buffer will become smaller when no replica uses dualchannel no (4 ms) [ok]: valkey-cli pubsub mode with single shard channel subscription (303 ms) [ok]: valkey-cli pubsub mode with multiple shard channel subscriptions (305 ms) [ok]: valkey-cli pubsub mode with single pattern channel subscription (309 ms) [ok]: valkey-cli pubsub mode with multiple pattern channel subscriptions (245 ms) [ok]: MASTER and SLAVE dataset should be identical after complex ops (4319 ms) [ok]: valkey-cli pubsub mode when subscribing to the same channel (294 ms) [127/146 done]: integration/replication-2 (9 seconds) [ok]: dismiss replication backlog (2278 ms) [ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: no, reconnect: 1) (6285 ms) [128/146 done]: integration/dismiss-mem (4 seconds) [ok]: valkey-cli pubsub mode with multiple subscription types (668 ms) [ok]: valkey-cli make sure selected db survives connection drops (314 ms) [ok]: Valid Connection Scheme: redis:// (1 ms) [ok]: Valid Connection Scheme: valkey:// (2 ms) [ok]: Manual failover vote is not limited by two times the node timeout - mixed failover (4096 ms) [ok]: valkey-cli command table hint will not leak memory when COMMAND fails due to auth (302 ms) [129/146 done]: integration/valkey-cli (13 seconds) [ok]: PSYNC2 pingoff: pause replica and promote it (5001 ms) [ok]: Slave should be able to synchronize with the master (973 ms) [ok]: Detect write load to master (0 ms) [ok]: Replication backlog size can outgrow the backlog limit config dualchannel yes (1329 ms) [ok]: Make the old master a replica of the new one and check conditions (1006 ms) [ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - gossip (5026 ms) [ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel yes (2028 ms) [ok]: Replica can update the config epoch when trigger the failover - automatic (15694 ms) [ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel yes (719 ms) [ok]: MOVE should not be allowed while migrating slots with multi databases (4 ms) [ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'yes' (11151 ms) [ok]: Replication backlog size can outgrow the backlog limit config dualchannel no (1351 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, single channel. (3861 ms) [ok]: test various edge cases of repl topology changes with missing pings at the end (4522 ms) [ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel no (1977 ms) [ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: no, reconnect: 1) (7939 ms) [ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel no (524 ms) [ok]: Slave should be able to synchronize with the master (962 ms) [ok]: Detect write load to master (0 ms) [ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, cross-slot channels. (3862 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled dual-channel-replication-enabled=no (19963 ms) [ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel yes (4267 ms) [ok]: Chained replicas disconnect when replica re-connect with the same master (4923 ms) [130/146 done]: integration/psync2-pingoff (20 seconds) [ok]: CLUSTER SLOT-STATS contains default value upon valkey-server startup (2303 ms) [ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (3 ms) [ok]: Automatic failover vote is not limited by two times the node timeout - mixed failover (4159 ms) [ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel yes (3150 ms) [ok]: Main db not affected when fail to diskless load (82516 ms) [ok]: Cross-DB COPY command should not be allow during slot migration (5 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key introduction (2017 ms) [ok]: Toggle dual-channel-replication-enabled: no start (11802 ms) [131/146 done]: unit/cluster/slot-migration (109 seconds) Waiting for process 48814 to exit... Waiting for process 48814 to exit... [ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'no' (2077 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key mutation (2540 ms) [ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: no, reconnect: 1) (9434 ms) Waiting for process 48814 to exit... [ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel no (4136 ms) Waiting for process 48814 to exit... [ok]: Slave should be able to synchronize with the master (965 ms) [ok]: Detect write load to master (0 ms) [ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'no' (2062 ms) [ok]: CLUSTER SLOT-STATS contains correct metrics upon key deletion (1961 ms) Waiting for process 48814 to exit... [ok]: Replica can update the config epoch when trigger the failover - manual (8465 ms) [ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (1 ms) Waiting for process 48814 to exit... [132/146 done]: unit/cluster/failover2 (90 seconds) [ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - setslot (10028 ms) Waiting for process 6029 to exit... [ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel no (3256 ms) [133/146 done]: integration/replication-buffer (33 seconds) Waiting for process 48814 to exit... Waiting for process 48814 to exit... [ok]: CLUSTER SLOT-STATS slot visibility based on slot ownership changes (3893 ms) Waiting for process 48814 to exit... [ok]: Empty primary will check and delete the dirty slots (55 ms) [134/146 done]: unit/cluster/diskless-load-swapdb (104 seconds) [135/146 done]: unit/cluster/replica-migration (158 seconds) [ok]: CLUSTER SLOT-STATS SLOTSRANGE all slots present (1 ms) [ok]: CLUSTER SLOT-STATS SLOTSRANGE some slots missing (0 ms) [ok]: dual-channel-replication with multiple replicas (6839 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb dual-channel-replication-enabled=no (17506 ms) [ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: no, reconnect: 1) (9608 ms) [ok]: Slave should be able to synchronize with the master (104 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: no, reconnect: 0) (5 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: Detect write load to master (0 ms) [ok]: Manual failover will reset the on-going election (5187 ms) Port 23220 was already busy, trying another port... [ok]: Test diverse replica sync: dual-channel on/off (7049 ms) [ok]: CLUSTER SLOT-STATS ORDERBY DESC correct ordering (7771 ms) [ok]: Test replica's buffer limit reached (1858 ms) [ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: no, reconnect: 1) (6249 ms) [ok]: Slave should be able to synchronize with the master (102 ms) [ok]: Detect write load to master (0 ms) [ok]: Broadcast PONG to the cluster when the node role changes (165 ms) [ok]: dual-channel-replication fails when primary diskless disabled (1003 ms) Port 23222 was already busy, trying another port... [ok]: Test dual-channel-replication sync- psync established after rdb load (892 ms) [ok]: CLUSTER SLOT-STATS ORDERBY ASC correct ordering (7792 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is less than number of assigned slots (8 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is greater than number of assigned slots (3 ms) [ok]: CLUSTER SLOT-STATS ORDERBY arg sanity check. (0 ms) [ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: no, reconnect: 1) (7937 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: Detect write load to master (0 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled dual-channel-replication-enabled=yes (20770 ms) [ok]: dual-channel-replication: Primary COB growth with inactive replica (6638 ms) Waiting for process 8926 to exit... [ok]: The role change and the slot ownership change should be an atomic operation (60 ms) [ok]: Test dual-channel: primary tracking replica backlog refcount - start with empty backlog (852 ms) [ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9520 ms) [ok]: Slave should be able to synchronize with the master (101 ms) [ok]: Detect write load to master (1002 ms) [ok]: CLUSTER SLOT-STATS metrics replication for new keys (4644 ms) [ok]: Test dual-channel: primary tracking replica backlog refcount - start with backlog (4632 ms) [ok]: Psync established after rdb load - within grace period (1079 ms) [ok]: CLUSTER SLOT-STATS metrics replication for existing keys (3977 ms) [ok]: Psync established after RDB load - beyond grace period (2133 ms) Waiting for process 9907 to exit... Waiting for process 9907 to exit... [ok]: Node will fix the replicaof when it finds that it is a sub-replica (602 ms) [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb dual-channel-replication-enabled=yes (15729 ms) [ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9474 ms) [136/146 done]: unit/cluster/manual-failover (144 seconds) [ok]: CLUSTER SLOT-STATS metrics replication for deleting keys (4008 ms) [137/146 done]: unit/cluster/slot-stats (160 seconds) [ok]: Test dual-channel-replication primary gets cob overrun before established psync (1004 ms) [ok]: Slave should be able to synchronize with the master (1948 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: yes, reconnect: 0) (104 ms) [ok]: Slave should be able to synchronize with the master (921 ms) [ok]: Detect write load to master (0 ms) Waiting for process 12016 to exit... Waiting for process 12016 to exit... Waiting for process 12016 to exit... Waiting for process 12016 to exit... Waiting for process 12016 to exit... Waiting for process 12016 to exit... Waiting for process 12016 to exit... [ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (6358 ms) Waiting for process 12016 to exit... Waiting for process 12016 to exit... [ok]: Slave should be able to synchronize with the master (1939 ms) [ok]: Detect write load to master (0 ms) [ok]: Test dual-channel-replication primary gets cob overrun during replica rdb load (1046 ms) [ok]: Master stream is correctly processed while the replica has a script in -BUSY state (18943 ms) [ok]: Diskless load swapdb (different replid): new database is exposed after swapping dual-channel=yes (0 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (8051 ms) [ok]: Diskless load swapdb (different replid): replica enter loading dual-channel-replication-enabled=no (423 ms) [ok]: Diskless load swapdb (different replid): old database is exposed after replication fails dual-channel=no (0 ms) [ok]: Slave should be able to synchronize with the master (924 ms) [ok]: Detect write load to master (0 ms) [ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) [ok]: Diskless load swapdb (async_loading): replica enter async_loading (423 ms) [ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (887 ms) [ok]: Busy script during async loading (859 ms) [ok]: Sync should continue if not all slaves dropped (11050 ms) [ok]: Blocked commands and configs during async-loading (441 ms) [ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) Waiting for process 13783 to exit... Waiting for process 13783 to exit... Waiting for process 13783 to exit... Waiting for process 13783 to exit... [ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9560 ms) [ok]: Slave should be able to synchronize with the master (914 ms) [ok]: Detect write load to master (0 ms) [ok]: Primary abort sync if all slaves dropped dual-channel-replication (7021 ms) [ok]: Test dual-channel-replication replica main channel disconnected (1285 ms) [ok]: Test dual channel replication slave of no one after main conn kill (0 ms) [ok]: Test dual-channel-replication replica rdb connection disconnected (1098 ms) [ok]: Test dual channel replication slave of no one after rdb conn kill (3 ms) [ok]: Test dual-channel-replication primary reject set-rdb-client after client killed (1204 ms) [ok]: Test replica unable to join dual channel replication sync after started (1108 ms) [ok]: Replica recover rdb-connection killed (2112 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (10623 ms) [ok]: Replica recover main-connection killed (1114 ms) [ok]: Slave should be able to synchronize with the master (916 ms) [ok]: Detect write load to master (1 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: no, reconnect: 0) (47 ms) [ok]: Slave should be able to synchronize with the master (918 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: no, reconnect: 1) (6376 ms) [ok]: Replica notice main-connection killed during rdb load callback (7361 ms) [138/146 done]: integration/dual-channel-replication (138 seconds) [ok]: Slave should be able to synchronize with the master (917 ms) [ok]: Detect write load to master (0 ms) Waiting for process 14312 to exit... [ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: no, reconnect: 1) (7970 ms) Waiting for process 14312 to exit... [ok]: diskless loading short read (30432 ms) [ok]: Slave should be able to synchronize with the master (919 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless no replicas drop during rdb pipe (7031 ms) [ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: no, reconnect: 1) (9547 ms) [ok]: diskless slow replicas drop during rdb pipe (4798 ms) [ok]: Slave should be able to synchronize with the master (920 ms) [ok]: Detect write load to master (1 ms) [ok]: diskless fast replicas drop during rdb pipe (5515 ms) [ok]: diskless all replicas drop during rdb pipe (1334 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: no, reconnect: 1) (10545 ms) [ok]: Slave should be able to synchronize with the master (804 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: yes, reconnect: 0) (46 ms) [ok]: Slave should be able to synchronize with the master (808 ms) [ok]: Detect write load to master (0 ms) [ok]: diskless timeout replicas drop during rdb pipe (6855 ms) [ok]: diskless replication child being killed is collected (1449 ms) [ok]: replication child dies when parent is killed - diskless: yes dual-channel-replication-enabled: yes (1141 ms) [ok]: replication child dies when parent is killed - diskless: no dual-channel-replication-enabled: no (1446 ms) [ok]: diskless replication read pipe cleanup (619 ms) [ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (6371 ms) [ok]: Slave should be able to synchronize with the master (804 ms) [ok]: Detect write load to master (0 ms) [ok]: replicaof right after disconnection (2322 ms) [ok]: Kill rdb child process if its dumping RDB is not useful (1015 ms) [ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication yes (1 ms) [ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication yes (103 ms) [ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication no (1 ms) [ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication no (103 ms) [ok]: replica can handle EINTR if use diskless load (837 ms) [ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (143 ms) [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (99 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (7973 ms) [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (103 ms) [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (52 ms) [ok]: PSYNC with wrong offset should throw error (1 ms) [ok]: Test replication with lazy expire (916 ms) [ok]: replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=yes (558 ms) [ok]: Slave should be able to synchronize with the master (1810 ms) [ok]: Detect write load to master (1 ms) [ok]: replica actually flushes db if use diskless load with flush-before-load dual-channel-replication-enabled=no (558 ms) [ok]: Replica keep the old data if RDB file save fails in disk-based replication (1799 ms) [139/146 done]: integration/replication (201 seconds) [ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9617 ms) [ok]: Slave should be able to synchronize with the master (1810 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9725 ms) [ok]: Slave should be able to synchronize with the master (1811 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) (107 ms) [ok]: Slave should be able to synchronize with the master (806 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (6384 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 backlog (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (7976 ms) [ok]: Slave should be able to synchronize with the master (1807 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) (9621 ms) [ok]: Slave should be able to synchronize with the master (807 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (9656 ms) [140/146 done]: integration/replication-psync (245 seconds) Testing solo test Jemalloc not available. Defrag tests skipped. [141/146 done]: defrag (0 seconds) Testing solo test [ignore]: large memory flag not provided [142/146 done]: bitops-large-memory (0 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 [143/146 done]: violations (0 seconds) Testing solo test [ignore]: large memory flag not provided [144/146 done]: set-large-memory (0 seconds) Testing solo test [ignore]: large memory flag not provided [145/146 done]: list-large-memory (1 seconds) Testing solo test [ok]: Multiple primary nodes are down, rank them based on the failed primary (19495 ms) [146/146 done]: cluster (40 seconds) The End Execution time of different units: 1 seconds - unit/replybufsize 4 seconds - unit/acl 4 seconds - unit/memefficiency 4 seconds - unit/keyspace 0 seconds - unit/quit 0 seconds - unit/oom-score-adj 6 seconds - unit/querybuf 0 seconds - unit/acl-v2 2 seconds - unit/bitops 9 seconds - unit/sort 9 seconds - unit/functions 2 seconds - unit/networking 10 seconds - unit/introspection-2 2 seconds - unit/slowlog 1 seconds - unit/shutdown 12 seconds - unit/other 1 seconds - unit/commandlog 0 seconds - unit/info-command 1 seconds - unit/lazyfree 3 seconds - unit/tracking 1 seconds - unit/pubsub 3 seconds - unit/info 2 seconds - unit/bitfield 16 seconds - unit/introspection 0 seconds - unit/tls 0 seconds - unit/violations 17 seconds - unit/latency-monitor 5 seconds - unit/auth 19 seconds - unit/client-eviction 1 seconds - unit/limits 3 seconds - unit/pubsubshard 1 seconds - unit/protocol 12 seconds - unit/obuf-limits 3 seconds - unit/type/hash 7 seconds - unit/multi 23 seconds - unit/dump 0 seconds - unit/type/incr 4 seconds - unit/type/set 15 seconds - unit/scan 27 seconds - unit/geo 7 seconds - unit/type/stream-cgroups 7 seconds - unit/type/string 30 seconds - unit/aofrw 15 seconds - unit/pause 17 seconds - unit/expire 8 seconds - unit/type/list-2 3 seconds - unit/cluster/slot-migration-response 12 seconds - unit/type/stream 17 seconds - unit/type/zset 12 seconds - unit/cluster/announce-client-ports 36 seconds - unit/scripting 36 seconds - unit/wait 17 seconds - unit/type/list 14 seconds - unit/cluster/hostnames 13 seconds - unit/cluster/transactions-on-replica 54 seconds - unit/hyperloglog 19 seconds - unit/cluster/manual-takeover 20 seconds - unit/cluster/update-msg 1 seconds - unit/cluster/divergent-cluster-shardid-conf 32 seconds - unit/cluster/faildet 19 seconds - unit/cluster/consistency-check 3 seconds - unit/cluster/multi-slot-operations 33 seconds - unit/cluster/cli 61 seconds - unit/maxmemory 11 seconds - unit/cluster/noaddr 48 seconds - unit/type/list-3 15 seconds - unit/cluster/no-failover-option 13 seconds - unit/cluster/pubsubshard-slot-migration 42 seconds - unit/cluster/slave-stop-cond 15 seconds - unit/cluster/cluster-shards 2 seconds - unit/cluster/scripting 28 seconds - unit/cluster/announce-client-ip 11 seconds - unit/cluster/shardid-propagation 2 seconds - unit/cluster/half-migrated-slot 3 seconds - unit/cluster/cluster-multiple-meets 0 seconds - unit/cluster/cluster-response-tls 33 seconds - unit/cluster/failover 6 seconds - unit/cluster/human-announced-nodename 25 seconds - unit/cluster/cluster-reliable-meet 25 seconds - unit/cluster/links 6 seconds - unit/cluster/shutdown 7 seconds - unit/cluster/base 12 seconds - unit/cluster/sharded-pubsub 61 seconds - unit/cluster/slave-selection 12 seconds - unit/cluster/replica-detach 12 seconds - unit/cluster/cluster-nodes-slots 13 seconds - unit/cluster/info 23 seconds - unit/cluster/misc 15 seconds - unit/cluster/pubsub 49 seconds - unit/cluster/slot-ownership 68 seconds - unit/cluster/auto-failover-on-shutdown 11 seconds - unit/cluster/replica-redirect 0 seconds - unit/cluster/cross-version-cluster 18 seconds - unit/cluster/multidb 12 seconds - unit/cluster/announced-endpoints 0 seconds - integration/aof-race 23 seconds - unit/cluster/cluster-flush-slot 17 seconds - unit/cluster/replica-in-sync 6 seconds - integration/failover 0 seconds - integration/skip-rdb-checksum 104 seconds - unit/cluster/cluster-migrateslots 11 seconds - unit/cluster/pubsubshard 104 seconds - unit/cluster/cluster-slots 9 seconds - integration/rdb 0 seconds - integration/convert-zipmap-hash-on-load 0 seconds - integration/cross-version-replication 2 seconds - integration/logging 12 seconds - integration/replication-3 38 seconds - unit/cluster/many-slot-migration 12 seconds - integration/aof-multi-part 20 seconds - integration/corrupt-dump-fuzzer 0 seconds - integration/valkey-check-rdb 27 seconds - integration/block-repl 0 seconds - integration/convert-ziplist-hash-on-load 1 seconds - integration/convert-ziplist-zset-on-load 69 seconds - unit/cluster/failure-marking 1 seconds - integration/valkey-benchmark 23 seconds - integration/psync2-reg 4 seconds - integration/replica-redirect 13 seconds - integration/aof 13 seconds - integration/shutdown 10 seconds - integration/psync2-master-restart 43 seconds - integration/psync2 15 seconds - integration/corrupt-dump 165 seconds - unit/hashexpire 23 seconds - integration/replication-4 9 seconds - integration/replication-2 4 seconds - integration/dismiss-mem 13 seconds - integration/valkey-cli 20 seconds - integration/psync2-pingoff 109 seconds - unit/cluster/slot-migration 90 seconds - unit/cluster/failover2 33 seconds - integration/replication-buffer 104 seconds - unit/cluster/diskless-load-swapdb 158 seconds - unit/cluster/replica-migration 144 seconds - unit/cluster/manual-failover 160 seconds - unit/cluster/slot-stats 138 seconds - integration/dual-channel-replication 201 seconds - integration/replication 245 seconds - integration/replication-psync 0 seconds - defrag 0 seconds - bitops-large-memory 0 seconds - violations 0 seconds - set-large-memory 1 seconds - list-large-memory 40 seconds - cluster \o/ All tests passed without errors! Cleanup: may take some time... OK make[1]: Leaving directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/src' >>> valkey: Entering fakeroot... cd src && make install make[1]: Entering directory '/home/buildozer/aports/main/valkey/src/valkey-9.0.0/src' INSTALL valkey-sentinel 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-9.0.0/src' >>> valkey-benchmark*: Running split function benchmark... libfakeroot internal error: payload not recognized! '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-9.0.0-r0.apk >>> valkey-compat*: Adding .pre-install >>> valkey-compat*: Running postcheck for valkey-compat >>> valkey-openrc*: Running split function openrc... libfakeroot internal error: payload not recognized! '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-9.0.0-r0.apk >>> valkey*: Adding .pre-install >>> valkey*: Adding .post-install >>> valkey*: Scanning shared objects >>> valkey-benchmark*: Scanning shared objects >>> valkey-cli*: Scanning shared objects >>> valkey-benchmark*: Tracing dependencies... so:libc.musl-s390x.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey-benchmark*: Package size: 322.7 KB >>> valkey-benchmark*: Compressing data... >>> valkey-benchmark*: Create checksum... >>> valkey-benchmark*: Create valkey-benchmark-9.0.0-r0.apk >>> valkey-cli*: Tracing dependencies... so:libc.musl-s390x.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey-cli*: Package size: 667.8 KB >>> valkey-cli*: Compressing data... >>> valkey-cli*: Create checksum... >>> valkey-cli*: Create valkey-cli-9.0.0-r0.apk >>> valkey-compat*: Tracing dependencies... !redis !redict-compat /bin/sh valkey-cli=9.0.0-r0 valkey=9.0.0-r0 >>> valkey-compat*: Package size: 1.0 B >>> valkey-compat*: Compressing data... >>> valkey-compat*: Create checksum... >>> valkey-compat*: Create valkey-compat-9.0.0-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-9.0.0-r0.apk >>> valkey*: Tracing dependencies... /bin/sh so:libc.musl-s390x.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> valkey*: Package size: 3.4 MB >>> valkey*: Compressing data... >>> valkey*: Create checksum... >>> valkey*: Create valkey-9.0.0-r0.apk >>> valkey: Build complete at Mon, 17 Nov 2025 14:27:09 +0000 elapsed time 0h 8m 18s >>> valkey: Cleaning up srcdir >>> valkey: Cleaning up pkgdir >>> valkey: Uninstalling dependencies... ( 1/10) Purging .makedepends-valkey (20251117.141852) ( 2/10) Purging linux-headers (6.16.12-r0) ( 3/10) Purging openssl-dev (3.5.4-r0) ( 4/10) Purging tcl (8.6.17-r0) ( 5/10) Purging tzdata (2025b-r0) ( 6/10) Purging procps-ng (4.0.4-r3) ( 7/10) Purging libintl (0.24.1-r1) ( 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) busybox-1.37.0-r25.trigger: Executing script... OK: 386 MiB in 107 packages >>> valkey: Updating the main/s390x repository index... >>> valkey: Signing the index...