>>> libvalkey: Building testing/libvalkey 0.2.1-r0 (using abuild 3.16.0_rc4-r0) started Mon, 17 Nov 2025 11:56:19 +0000 >>> libvalkey: Validating /home/buildozer/aports/testing/libvalkey/APKBUILD... >>> libvalkey: Analyzing dependencies... >>> libvalkey: Installing for build: build-base openssl-dev libevent-dev valkey ( 1/17) Installing openssl-dev (3.5.4-r0) ( 2/17) Installing libbz2 (1.0.8-r6) ( 3/17) Installing libffi (3.5.2-r0) ( 4/17) Installing gdbm (1.26-r0) ( 5/17) Installing xz-libs (5.8.1-r0) ( 6/17) Installing mpdecimal (4.0.1-r0) ( 7/17) Installing libpanelw (6.5_p20251010-r0) ( 8/17) Installing sqlite-libs (3.51.0-r0) ( 9/17) Installing python3 (3.12.12-r0) (10/17) Installing python3-pycache-pyc0 (3.12.12-r0) (11/17) Installing pyc (3.12.12-r0) (12/17) Installing python3-pyc (3.12.12-r0) (13/17) Installing libevent (2.1.12-r8) (14/17) Installing libevent-dev (2.1.12-r8) (15/17) Installing valkey (8.1.4-r0) valkey-8.1.4-r0.pre-install: Executing script... valkey-8.1.4-r0.post-install: Executing script... (16/17) Installing .makedepends-libvalkey (20251117.115620) (17/17) Installing valkey-openrc (8.1.4-r0) busybox-1.37.0-r25.trigger: Executing script... OK: 476 MiB in 126 packages >>> libvalkey: Cleaning up srcdir >>> libvalkey: Cleaning up pkgdir >>> libvalkey: Cleaning up tmpdir >>> libvalkey: Fetching https://distfiles.alpinelinux.org/distfiles/edge/libvalkey-0.2.1.tar.gz /var/cache/distfiles/edge/libvalkey-0.2.1.tar.gz: OK >>> libvalkey: Fetching https://distfiles.alpinelinux.org/distfiles/edge/libvalkey-0.2.1.tar.gz /var/cache/distfiles/edge/libvalkey-0.2.1.tar.gz: OK >>> libvalkey: Unpacking /var/cache/distfiles/edge/libvalkey-0.2.1.tar.gz... mkdir -p obj mkdir -p lib cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/tls.c -o obj/tls.o Generating lib/valkey.pc for pkgconfig... sed \ -e 's|@CMAKE_INSTALL_PREFIX@|/usr/local|g' \ -e 's|@CMAKE_INSTALL_LIBDIR@|/usr/local/lib|g' \ -e 's|@PROJECT_VERSION@||g' \ valkey.pc.in > lib/valkey.pc Generating lib/valkey_tls.pc for pkgconfig... sed \ -e 's|@CMAKE_INSTALL_PREFIX@|/usr/local|g' \ -e 's|@CMAKE_INSTALL_LIBDIR@|/usr/local/lib|g' \ -e 's|@PROJECT_VERSION@||g' \ valkey_tls.pc.in > lib/valkey_tls.pc cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -Isrc -MMD -MP -c tests/client_test.c -o obj/client_test.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -Isrc -MMD -MP -c tests/ut_parse_cmd.c -o obj/ut_parse_cmd.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -Isrc -MMD -MP -c tests/ut_slotmap_update.c -o obj/ut_slotmap_update.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/adlist.c -o obj/adlist.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/alloc.c -o obj/alloc.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/async.c -o obj/async.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/cluster.c -o obj/cluster.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/command.c -o obj/command.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/conn.c -o obj/conn.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/crc16.c -o obj/crc16.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/dict.c -o obj/dict.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/net.c -o obj/net.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/read.c -o obj/read.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/sds.c -o obj/sds.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/sockcompat.c -o obj/sockcompat.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/valkey.c -o obj/valkey.o cc -std=c99 -pedantic -fPIC -fvisibility=hidden -O2 -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wextra -pedantic -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -Werror -g -ggdb -Iinclude/valkey -Isrc -Isrc -MMD -MP -c src/vkutil.c -o obj/vkutil.o cc -shared -Wl,-soname,libvalkey_tls.so.0 -o lib/libvalkey_tls.so obj/tls.o -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -lssl -lcrypto ar rcs lib/libvalkey_tls.a obj/tls.o cc -shared -Wl,-soname,libvalkey.so.0 -o lib/libvalkey.so obj/adlist.o obj/alloc.o obj/async.o obj/cluster.o obj/command.o obj/conn.o obj/crc16.o obj/dict.o obj/net.o obj/read.o obj/sds.o obj/sockcompat.o obj/valkey.o obj/vkutil.o -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs 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/dict.o obj/net.o obj/read.o obj/sds.o obj/sockcompat.o obj/valkey.o obj/vkutil.o cc -o tests/ut_parse_cmd obj/ut_parse_cmd.o lib/libvalkey.a lib/libvalkey_tls.a -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -lssl -lcrypto -pthread -levent cc -o tests/client_test obj/client_test.o lib/libvalkey.a lib/libvalkey_tls.a -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -lssl -lcrypto -pthread -levent cc -o tests/ut_slotmap_update obj/ut_slotmap_update.o lib/libvalkey.a lib/libvalkey_tls.a -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -lssl -lcrypto -pthread -levent rm obj/client_test.o obj/ut_slotmap_update.o obj/ut_parse_cmd.o /tmp/tmp.dGbdnL pidfile /tmp/tmp.dGbdnL/libvalkey-test-valkey.pid port 56379 unixsocket /tmp/tmp.dGbdnL/libvalkey-test-valkey.sock unixsocketperm 777 appendonly no save "" daemonize yes enable-debug-command local bind 127.0.0.1 50083:M 17 Nov 2025 11:56:24.731 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. waiting for server Waiting for server... 50085 buildoze 0:00 valkey-server 127.0.0.1:56379 #01 valkeyContext uses injected allocators: PASSED #02 valkeyReader uses injected allocators: PASSED #03 libvalkey calloc wrapper protects against overflow: PASSED #04 Format command without interpolation: PASSED #05 Format command with %s string interpolation: PASSED #06 Format command with %s and an empty string: PASSED #07 Format command with an empty string in between proper interpolations: PASSED #08 Format command with %b string interpolation: PASSED #09 Format command with %b and an empty string: PASSED #10 Format command with literal %: PASSED #11 Format command with printf-delegation (int): PASSED #12 Format command with printf-delegation (char): PASSED #13 Format command with printf-delegation (short): PASSED #14 Format command with printf-delegation (long): PASSED #15 Format command with printf-delegation (long long): PASSED #16 Format command with printf-delegation (unsigned int): PASSED #17 Format command with printf-delegation (unsigned char): PASSED #18 Format command with printf-delegation (unsigned short): PASSED #19 Format command with printf-delegation (unsigned long): PASSED #20 Format command with printf-delegation (unsigned long long): PASSED #21 Format command with printf-delegation (float): PASSED #22 Format command with printf-delegation (double): PASSED #23 Format command with unhandled printf format (specifier 'p' not supported): PASSED #24 Format command with invalid printf format (specifier missing): PASSED #25 Format command with %b and an invalid string (NULL string): PASSED #26 Format command with %s and an invalid string (NULL string): PASSED #27 Format command by passing argc/argv without lengths: PASSED #28 Format command by passing argc/argv with lengths: PASSED #29 Format command into sds by passing argc/argv without lengths: PASSED #30 Format command into sds by passing argc/argv with lengths: PASSED #31 Error handling in reply parser: PASSED #32 Memory cleanup in reply parser: PASSED #33 Can handle arbitrarily nested multi-bulks: PASSED #34 Can parse arbitrarily nested multi-bulks correctly: PASSED #35 Correctly parses LLONG_MAX: PASSED #36 Set error when > LLONG_MAX: PASSED #37 Correctly parses LLONG_MIN: PASSED #38 Set error when < LLONG_MIN: PASSED #39 Set error when array < -1: PASSED #40 Set error when bulk < -1: PASSED #41 Can configure maximum multi-bulk elements: PASSED #42 Multi-bulk never overflows regardless of maxelements: PASSED #43 Works with NULL functions for reply: PASSED #44 Works when a single newline (\r\n) covers two calls to feed: PASSED #45 Don't reset state after protocol error: PASSED #46 Don't reset state after protocol error(not segfault): PASSED #47 Don't do empty allocation for empty multi bulk: PASSED #48 Can parse RESP3 verbatim strings: PASSED #49 Can parse RESP3 push messages: PASSED #50 Can parse RESP3 doubles: PASSED #51 Set error on invalid RESP3 double: PASSED #52 Correctly parses RESP3 double INFINITY: PASSED #53 Correctly parses RESP3 double NaN: PASSED #54 Correctly parses RESP3 double -Nan: PASSED #55 Can parse RESP3 nil: PASSED #56 Set error on invalid RESP3 nil: PASSED #57 Can parse RESP3 bool (true): PASSED #58 Can parse RESP3 bool (false): PASSED #59 Set error on invalid RESP3 bool: PASSED #60 Can parse RESP3 map: PASSED #61 Can parse RESP3 attribute: PASSED #62 Can parse RESP3 set: PASSED #63 Can parse RESP3 bignum: PASSED #64 Can parse RESP3 doubles in an array: PASSED #65 Returns error when host cannot be resolved: PASSED #66 Returns error when the port is not open: PASSED #67 We don't clobber connection exception with setsockopt error: PASSED #68 Returns error when the unix_sock socket path doesn't accept connections: PASSED #69 Don't fail when valkeyFree is passed a NULL value: PASSED #70 Don't fail when freeReplyObject is passed a NULL value: PASSED Testing against TCP connection (127.0.0.1:56379): #71 Is able to deliver commands: PASSED #72 Is a able to send commands verbatim: PASSED #73 %s String interpolation works: PASSED #74 %b String interpolation works: PASSED #75 Binary reply length is correct: PASSED #76 Can parse nil replies: PASSED #77 Can parse integer replies: PASSED #78 Can parse multi bulk replies: PASSED #79 Can handle nested multi bulk replies: PASSED #80 Send command by passing argc/argv: PASSED #81 Can pass NULL to valkeyGetReply: PASSED #82 RESP3 PUSH messages are handled out of band by default: PASSED #83 We can set a custom RESP3 PUSH handler: PASSED #84 We properly handle a NIL invalidation payload: PASSED #85 With no handler, PUSH replies come in-band: PASSED #86 With no PUSH handler, no replies are lost: PASSED #87 We set a default RESP3 handler for valkeyContext: PASSED #88 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #89 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #90 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #91 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #92 We can use valkeyOptions to set privdata: PASSED #93 Our privdata destructor fires when we free the context: PASSED #94 Successfully completes a command when the timeout is not exceeded: PASSED #95 Does not return a reply when the command times out: PASSED #96 Reconnect properly reconnects after a timeout: PASSED #97 Reconnect properly uses owned parameters: PASSED #98 Returns I/O error when the connection is lost: PASSED #99 Returns I/O error on socket timeout: PASSED #100 Set error when an invalid timeout usec value is used during connect: PASSED #101 Set error when an invalid timeout sec value is used during connect: PASSED #102 Append format command: PASSED #103 We can enable TCP_KEEPALIVE: PASSED #104 We can set TCP_USER_TIMEOUT: PASSED #105 Throughput: (1000x PING: 0.050s) (1000x LRANGE with 500 elements: 0.153s) (1000x INCRBY: 0.040s) (10000x PING (pipelined): 0.021s) (10000x LRANGE with 500 elements (pipelined): 0.998s) (10000x INCRBY (pipelined): 0.017s) Testing against MPTCP connection (127.0.0.1:56379): #106 Is able to deliver commands: PASSED #107 Is a able to send commands verbatim: PASSED #108 %s String interpolation works: PASSED #109 %b String interpolation works: PASSED #110 Binary reply length is correct: PASSED #111 Can parse nil replies: PASSED #112 Can parse integer replies: PASSED #113 Can parse multi bulk replies: PASSED #114 Can handle nested multi bulk replies: PASSED #115 Send command by passing argc/argv: PASSED #116 Can pass NULL to valkeyGetReply: PASSED #117 RESP3 PUSH messages are handled out of band by default: PASSED #118 We can set a custom RESP3 PUSH handler: PASSED #119 We properly handle a NIL invalidation payload: PASSED #120 With no handler, PUSH replies come in-band: PASSED #121 With no PUSH handler, no replies are lost: PASSED #122 We set a default RESP3 handler for valkeyContext: PASSED #123 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #124 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #125 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #126 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #127 We can use valkeyOptions to set privdata: PASSED #128 Our privdata destructor fires when we free the context: PASSED #129 Successfully completes a command when the timeout is not exceeded: PASSED #130 Does not return a reply when the command times out: PASSED #131 Reconnect properly reconnects after a timeout: PASSED #132 Reconnect properly uses owned parameters: PASSED #133 Returns I/O error when the connection is lost: PASSED #134 Returns I/O error on socket timeout: PASSED #135 Set error when an invalid timeout usec value is used during connect: PASSED #136 Set error when an invalid timeout sec value is used during connect: PASSED #137 Append format command: PASSED #138 We can enable TCP_KEEPALIVE: PASSED #139 We can set TCP_USER_TIMEOUT: PASSED #140 Throughput: (1000x PING: 0.039s) (1000x LRANGE with 500 elements: 0.146s) (1000x INCRBY: 0.037s) (10000x PING (pipelined): 0.014s) (10000x LRANGE with 500 elements (pipelined): 0.951s) (10000x INCRBY (pipelined): 0.015s) Testing against Unix socket connection (/tmp/tmp.dGbdnL/libvalkey-test-valkey.sock): #141 Is able to deliver commands: PASSED #142 Is a able to send commands verbatim: PASSED #143 %s String interpolation works: PASSED #144 %b String interpolation works: PASSED #145 Binary reply length is correct: PASSED #146 Can parse nil replies: PASSED #147 Can parse integer replies: PASSED #148 Can parse multi bulk replies: PASSED #149 Can handle nested multi bulk replies: PASSED #150 Send command by passing argc/argv: PASSED #151 Can pass NULL to valkeyGetReply: PASSED #152 RESP3 PUSH messages are handled out of band by default: PASSED #153 We can set a custom RESP3 PUSH handler: PASSED #154 We properly handle a NIL invalidation payload: PASSED #155 With no handler, PUSH replies come in-band: PASSED #156 With no PUSH handler, no replies are lost: PASSED #157 We set a default RESP3 handler for valkeyContext: PASSED #158 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #159 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #160 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #161 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #162 We can use valkeyOptions to set privdata: PASSED #163 Our privdata destructor fires when we free the context: PASSED #164 Successfully completes a command when the timeout is not exceeded: PASSED #165 Does not return a reply when the command times out: PASSED #166 Reconnect properly reconnects after a timeout: PASSED #167 Reconnect properly uses owned parameters: PASSED #168 Returns I/O error when the connection is lost: PASSED #169 Returns I/O error on socket timeout: PASSED #170 Set error when an invalid timeout usec value is used during connect: PASSED #171 Set error when an invalid timeout sec value is used during connect: PASSED #172 Setting TCP_KEEPALIVE on a unix socket returns an error: PASSED #173 Setting TCP_KEEPALIVE on a unix socket doesn't break the connection: PASSED #174 Throughput: (1000x PING: 0.027s) (1000x LRANGE with 500 elements: 0.128s) (1000x INCRBY: 0.021s) (10000x PING (pipelined): 0.012s) (10000x LRANGE with 500 elements (pipelined): 1.054s) (10000x INCRBY (pipelined): 0.016s) Testing asynchronous API using polling_adapter TCP (127.0.0.1:56379): #175 Async connect: PASSED #176 Async free after connect: PASSED #177 Async connect timeout: PASSED #178 Async PING/PONG: PASSED #179 Async PING/PONG after connect timeout: PASSED #180 Disconnect from onConnected callback (Issue #931): PASSED #181 Ping/Pong from onConnected callback (Issue #931): PASSED Testing asynchronous API using polling_adapter MPTCP (127.0.0.1:56379): #182 Async connect: PASSED #183 Async free after connect: PASSED #184 Async PING/PONG: PASSED #185 Disconnect from onConnected callback (Issue #931): PASSED #186 Ping/Pong from onConnected callback (Issue #931): PASSED Testing asynchronous API using polling_adapter UNIX (/tmp/tmp.dGbdnL/libvalkey-test-valkey.sock): #187 Async connect: PASSED #188 Async free after connect: PASSED #189 Async PING/PONG: PASSED #190 Disconnect from onConnected callback (Issue #931): PASSED #191 Ping/Pong from onConnected callback (Issue #931): PASSED Testing against inherited fd (/tmp/tmp.dGbdnL/libvalkey-test-valkey.sock): Connecting to inherited fd 6 #192 Is able to deliver commands: PASSED #193 Is a able to send commands verbatim: PASSED #194 %s String interpolation works: PASSED #195 %b String interpolation works: PASSED #196 Binary reply length is correct: PASSED #197 Can parse nil replies: PASSED #198 Can parse integer replies: PASSED #199 Can parse multi bulk replies: PASSED #200 Can handle nested multi bulk replies: PASSED #201 Send command by passing argc/argv: PASSED #202 Can pass NULL to valkeyGetReply: PASSED #203 RESP3 PUSH messages are handled out of band by default: PASSED #204 We can set a custom RESP3 PUSH handler: PASSED #205 We properly handle a NIL invalidation payload: PASSED #206 With no handler, PUSH replies come in-band: PASSED #207 With no PUSH handler, no replies are lost: PASSED #208 We set a default RESP3 handler for valkeyContext: PASSED #209 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #210 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #211 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #212 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #213 We can use valkeyOptions to set privdata: PASSED #214 Our privdata destructor fires when we free the context: PASSED ALL TESTS PASSED (0 skipped) >>> libvalkey: Entering fakeroot... mkdir -p /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/include/valkey /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib cp -pPR include/valkey/tls.h /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/include/valkey cp -pPR lib/libvalkey_tls.so /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey_tls.so.0.2.1 ln -sf libvalkey_tls.so.0.2.1 /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey_tls.so.0 ln -sf libvalkey_tls.so.0 /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey_tls.so cp -pPR lib/libvalkey_tls.a /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib mkdir -p /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/pkgconfig cp -pPR lib/valkey_tls.pc /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/pkgconfig mkdir -p /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/include/valkey/adapters /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib cp -pPR include/valkey/alloc.h include/valkey/async.h include/valkey/cluster.h include/valkey/net.h include/valkey/read.h include/valkey/sockcompat.h include/valkey/valkey.h include/valkey/visibility.h /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/include/valkey cp -pPR include/valkey/adapters/*.h /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/include/valkey/adapters cp -pPR lib/libvalkey.so /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey.so.0.2.1 ln -sf libvalkey.so.0.2.1 /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey.so.0 ln -sf libvalkey.so.0 /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/libvalkey.so cp -pPR lib/libvalkey.a /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib mkdir -p /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/pkgconfig cp -pPR lib/valkey.pc /home/buildozer/aports/testing/libvalkey/pkg/libvalkey/usr/lib/pkgconfig >>> libvalkey-tls*: Running split function tls... 'usr/lib/libvalkey_tls.so.0' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-tls/usr/lib/libvalkey_tls.so.0' 'usr/lib/libvalkey_tls.so.0.2.1' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-tls/usr/lib/libvalkey_tls.so.0.2.1' >>> libvalkey-tls*: Preparing subpackage libvalkey-tls... >>> libvalkey-tls*: Stripping binaries >>> libvalkey-tls*: Running postcheck for libvalkey-tls >>> libvalkey-dev*: Running split function dev... 'usr/include' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/include' 'usr/lib/pkgconfig' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/pkgconfig' 'usr/lib/libvalkey.a' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey.a' 'usr/lib/libvalkey_tls.a' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey_tls.a' 'usr/lib/libvalkey.so' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey.so' 'usr/lib/libvalkey_tls.so' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey_tls.so' >>> libvalkey-dev*: Preparing subpackage libvalkey-dev... >>> libvalkey-dev*: Stripping binaries >>> libvalkey-dev*: Running postcheck for libvalkey-dev >>> libvalkey*: Running postcheck for libvalkey >>> libvalkey*: Preparing package libvalkey... >>> libvalkey*: Stripping binaries >>> libvalkey*: Scanning shared objects >>> libvalkey-tls*: Scanning shared objects >>> libvalkey-dev*: Scanning shared objects >>> libvalkey-dev*: Tracing dependencies... libvalkey-tls=0.2.1-r0 libvalkey=0.2.1-r0 pc:valkey pkgconfig >>> libvalkey-dev*: Package size: 1017.1 KB >>> libvalkey-dev*: Compressing data... >>> libvalkey-dev*: Create checksum... >>> libvalkey-dev*: Create libvalkey-dev-0.2.1-r0.apk >>> libvalkey-tls*: Tracing dependencies... so:libc.musl-aarch64.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> libvalkey-tls*: Package size: 65.9 KB >>> libvalkey-tls*: Compressing data... >>> libvalkey-tls*: Create checksum... >>> libvalkey-tls*: Create libvalkey-tls-0.2.1-r0.apk >>> libvalkey*: Tracing dependencies... so:libc.musl-aarch64.so.1 >>> libvalkey*: Package size: 141.9 KB >>> libvalkey*: Compressing data... >>> libvalkey*: Create checksum... >>> libvalkey*: Create libvalkey-0.2.1-r0.apk >>> libvalkey: Build complete at Mon, 17 Nov 2025 11:56:36 +0000 elapsed time 0h 0m 17s >>> libvalkey: Cleaning up srcdir >>> libvalkey: Cleaning up pkgdir >>> libvalkey: Cleaning up tmpdir >>> libvalkey: Uninstalling dependencies... ( 1/17) Purging .makedepends-libvalkey (20251117.115620) ( 2/17) Purging openssl-dev (3.5.4-r0) ( 3/17) Purging libevent-dev (2.1.12-r8) ( 4/17) Purging python3-pyc (3.12.12-r0) ( 5/17) Purging python3-pycache-pyc0 (3.12.12-r0) ( 6/17) Purging pyc (3.12.12-r0) ( 7/17) Purging python3 (3.12.12-r0) ( 8/17) Purging libevent (2.1.12-r8) ( 9/17) Purging valkey-openrc (8.1.4-r0) (10/17) Purging valkey (8.1.4-r0) (11/17) Purging gdbm (1.26-r0) (12/17) Purging libbz2 (1.0.8-r6) (13/17) Purging libffi (3.5.2-r0) (14/17) Purging libpanelw (6.5_p20251010-r0) (15/17) Purging mpdecimal (4.0.1-r0) (16/17) Purging sqlite-libs (3.51.0-r0) (17/17) Purging xz-libs (5.8.1-r0) busybox-1.37.0-r25.trigger: Executing script... OK: 432 MiB in 109 packages >>> libvalkey: Updating the testing/aarch64 repository index... >>> libvalkey: Signing the index...