>>> libvalkey: Building testing/libvalkey 0.2.1-r0 (using abuild 3.16.0_rc4-r0) started Mon, 17 Nov 2025 11:57:48 +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.115749) (17/17) Installing valkey-openrc (8.1.4-r0) busybox-1.37.0-r25.trigger: Executing script... OK: 467 MiB in 122 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 Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> libvalkey: Fetching https://github.com/valkey-io/libvalkey/archive/0.2.1/libvalkey-0.2.1.tar.gz Connecting to github.com (140.82.121.4:443) Connecting to codeload.github.com (140.82.121.10:443) saving to '/var/cache/distfiles/edge/libvalkey-0.2.1.tar.gz.part' libvalkey-0.2.1.tar. 100% |********************************| 203k 0:00:00 ETA '/var/cache/distfiles/edge/libvalkey-0.2.1.tar.gz.part' saved /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.EJoDGC pidfile /tmp/tmp.EJoDGC/libvalkey-test-valkey.pid port 56379 unixsocket /tmp/tmp.EJoDGC/libvalkey-test-valkey.sock unixsocketperm 777 appendonly no save "" daemonize yes enable-debug-command local bind 127.0.0.1 13811:M 17 Nov 2025 11:57:53.634 # 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... 13812 buildoze 0:00 valkey-server /tmp/tmp.EJoDGC/valkey.conf 13814 buildoze 0:00 grep valkey-server #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 Set error when array > SIZE_MAX: PASSED #44 Set error when bulk > SIZE_MAX: PASSED #45 Works with NULL functions for reply: PASSED #46 Works when a single newline (\r\n) covers two calls to feed: PASSED #47 Don't reset state after protocol error: PASSED #48 Don't reset state after protocol error(not segfault): PASSED #49 Don't do empty allocation for empty multi bulk: PASSED #50 Can parse RESP3 verbatim strings: PASSED #51 Can parse RESP3 push messages: PASSED #52 Can parse RESP3 doubles: PASSED #53 Set error on invalid RESP3 double: PASSED #54 Correctly parses RESP3 double INFINITY: PASSED #55 Correctly parses RESP3 double NaN: PASSED #56 Correctly parses RESP3 double -Nan: PASSED #57 Can parse RESP3 nil: PASSED #58 Set error on invalid RESP3 nil: PASSED #59 Can parse RESP3 bool (true): PASSED #60 Can parse RESP3 bool (false): PASSED #61 Set error on invalid RESP3 bool: PASSED #62 Can parse RESP3 map: PASSED #63 Can parse RESP3 attribute: PASSED #64 Can parse RESP3 set: PASSED #65 Can parse RESP3 bignum: PASSED #66 Can parse RESP3 doubles in an array: PASSED #67 Returns error when host cannot be resolved: PASSED #68 Returns error when the port is not open: PASSED #69 We don't clobber connection exception with setsockopt error: PASSED #70 Returns error when the unix_sock socket path doesn't accept connections: PASSED #71 Don't fail when valkeyFree is passed a NULL value: PASSED #72 Don't fail when freeReplyObject is passed a NULL value: PASSED Testing against TCP connection (127.0.0.1:56379): #73 Is able to deliver commands: PASSED #74 Is a able to send commands verbatim: PASSED #75 %s String interpolation works: PASSED #76 %b String interpolation works: PASSED #77 Binary reply length is correct: PASSED #78 Can parse nil replies: PASSED #79 Can parse integer replies: PASSED #80 Can parse multi bulk replies: PASSED #81 Can handle nested multi bulk replies: PASSED #82 Send command by passing argc/argv: PASSED #83 Can pass NULL to valkeyGetReply: PASSED #84 RESP3 PUSH messages are handled out of band by default: PASSED #85 We can set a custom RESP3 PUSH handler: PASSED #86 We properly handle a NIL invalidation payload: PASSED #87 With no handler, PUSH replies come in-band: PASSED #88 With no PUSH handler, no replies are lost: PASSED #89 We set a default RESP3 handler for valkeyContext: PASSED #90 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #91 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #92 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #93 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #94 We can use valkeyOptions to set privdata: PASSED #95 Our privdata destructor fires when we free the context: PASSED #96 Successfully completes a command when the timeout is not exceeded: PASSED #97 Does not return a reply when the command times out: PASSED #98 Reconnect properly reconnects after a timeout: PASSED #99 Reconnect properly uses owned parameters: PASSED #100 Returns I/O error when the connection is lost: PASSED #101 Returns I/O error on socket timeout: PASSED #102 Set error when an invalid timeout usec value is used during connect: PASSED #103 Set error when an invalid timeout sec value is used during connect: PASSED #104 Append format command: PASSED #105 We can enable TCP_KEEPALIVE: PASSED #106 We can set TCP_USER_TIMEOUT: PASSED #107 Throughput: (1000x PING: 0.053s) (1000x LRANGE with 500 elements: 0.430s) (1000x INCRBY: 0.048s) (10000x PING (pipelined): 0.021s) (10000x LRANGE with 500 elements (pipelined): 1.739s) (10000x INCRBY (pipelined): 0.038s) Testing against MPTCP connection (127.0.0.1:56379): #108 Is able to deliver commands: PASSED #109 Is a able to send commands verbatim: PASSED #110 %s String interpolation works: PASSED #111 %b String interpolation works: PASSED #112 Binary reply length is correct: PASSED #113 Can parse nil replies: PASSED #114 Can parse integer replies: PASSED #115 Can parse multi bulk replies: PASSED #116 Can handle nested multi bulk replies: PASSED #117 Send command by passing argc/argv: PASSED #118 Can pass NULL to valkeyGetReply: PASSED #119 RESP3 PUSH messages are handled out of band by default: PASSED #120 We can set a custom RESP3 PUSH handler: PASSED #121 We properly handle a NIL invalidation payload: PASSED #122 With no handler, PUSH replies come in-band: PASSED #123 With no PUSH handler, no replies are lost: PASSED #124 We set a default RESP3 handler for valkeyContext: PASSED #125 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #126 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #127 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #128 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #129 We can use valkeyOptions to set privdata: PASSED #130 Our privdata destructor fires when we free the context: PASSED #131 Successfully completes a command when the timeout is not exceeded: PASSED #132 Does not return a reply when the command times out: PASSED #133 Reconnect properly reconnects after a timeout: PASSED #134 Reconnect properly uses owned parameters: PASSED #135 Returns I/O error when the connection is lost: PASSED #136 Returns I/O error on socket timeout: PASSED #137 Set error when an invalid timeout usec value is used during connect: PASSED #138 Set error when an invalid timeout sec value is used during connect: PASSED #139 Append format command: PASSED #140 We can enable TCP_KEEPALIVE: PASSED #141 We can set TCP_USER_TIMEOUT: PASSED #142 Throughput: (1000x PING: 0.055s) (1000x LRANGE with 500 elements: 0.413s) (1000x INCRBY: 0.060s) (10000x PING (pipelined): 0.022s) (10000x LRANGE with 500 elements (pipelined): 1.735s) (10000x INCRBY (pipelined): 0.050s) Testing against Unix socket connection (/tmp/tmp.EJoDGC/libvalkey-test-valkey.sock): #143 Is able to deliver commands: PASSED #144 Is a able to send commands verbatim: PASSED #145 %s String interpolation works: PASSED #146 %b String interpolation works: PASSED #147 Binary reply length is correct: PASSED #148 Can parse nil replies: PASSED #149 Can parse integer replies: PASSED #150 Can parse multi bulk replies: PASSED #151 Can handle nested multi bulk replies: PASSED #152 Send command by passing argc/argv: PASSED #153 Can pass NULL to valkeyGetReply: PASSED #154 RESP3 PUSH messages are handled out of band by default: PASSED #155 We can set a custom RESP3 PUSH handler: PASSED #156 We properly handle a NIL invalidation payload: PASSED #157 With no handler, PUSH replies come in-band: PASSED #158 With no PUSH handler, no replies are lost: PASSED #159 We set a default RESP3 handler for valkeyContext: PASSED #160 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #161 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #162 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #163 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #164 We can use valkeyOptions to set privdata: PASSED #165 Our privdata destructor fires when we free the context: PASSED #166 Successfully completes a command when the timeout is not exceeded: PASSED #167 Does not return a reply when the command times out: PASSED #168 Reconnect properly reconnects after a timeout: PASSED #169 Reconnect properly uses owned parameters: PASSED #170 Returns I/O error when the connection is lost: PASSED #171 Returns I/O error on socket timeout: PASSED #172 Set error when an invalid timeout usec value is used during connect: PASSED #173 Set error when an invalid timeout sec value is used during connect: PASSED #174 Setting TCP_KEEPALIVE on a unix socket returns an error: PASSED #175 Setting TCP_KEEPALIVE on a unix socket doesn't break the connection: PASSED #176 Throughput: (1000x PING: 0.036s) (1000x LRANGE with 500 elements: 0.414s) (1000x INCRBY: 0.035s) (10000x PING (pipelined): 0.022s) (10000x LRANGE with 500 elements (pipelined): 1.700s) (10000x INCRBY (pipelined): 0.050s) Testing asynchronous API using polling_adapter TCP (127.0.0.1:56379): #177 Async connect: PASSED #178 Async free after connect: PASSED #179 Async connect timeout: PASSED #180 Async PING/PONG: PASSED #181 Async PING/PONG after connect timeout: PASSED #182 Disconnect from onConnected callback (Issue #931): PASSED #183 Ping/Pong from onConnected callback (Issue #931): PASSED Testing asynchronous API using polling_adapter MPTCP (127.0.0.1:56379): #184 Async connect: PASSED #185 Async free after connect: PASSED #186 Async PING/PONG: PASSED #187 Disconnect from onConnected callback (Issue #931): PASSED #188 Ping/Pong from onConnected callback (Issue #931): PASSED Testing asynchronous API using polling_adapter UNIX (/tmp/tmp.EJoDGC/libvalkey-test-valkey.sock): #189 Async connect: PASSED #190 Async free after connect: PASSED #191 Async PING/PONG: PASSED #192 Disconnect from onConnected callback (Issue #931): PASSED #193 Ping/Pong from onConnected callback (Issue #931): PASSED Testing against inherited fd (/tmp/tmp.EJoDGC/libvalkey-test-valkey.sock): Connecting to inherited fd 6 #194 Is able to deliver commands: PASSED #195 Is a able to send commands verbatim: PASSED #196 %s String interpolation works: PASSED #197 %b String interpolation works: PASSED #198 Binary reply length is correct: PASSED #199 Can parse nil replies: PASSED #200 Can parse integer replies: PASSED #201 Can parse multi bulk replies: PASSED #202 Can handle nested multi bulk replies: PASSED #203 Send command by passing argc/argv: PASSED #204 Can pass NULL to valkeyGetReply: PASSED #205 RESP3 PUSH messages are handled out of band by default: PASSED #206 We can set a custom RESP3 PUSH handler: PASSED #207 We properly handle a NIL invalidation payload: PASSED #208 With no handler, PUSH replies come in-band: PASSED #209 With no PUSH handler, no replies are lost: PASSED #210 We set a default RESP3 handler for valkeyContext: PASSED #211 We don't set a default RESP3 push handler for valkeyAsyncContext: PASSED #212 Our VALKEY_OPT_NO_PUSH_AUTOFREE flag works: PASSED #213 We can use valkeyOptions to set a custom PUSH handler for valkeyContext: PASSED #214 We can use valkeyOptions to set a custom PUSH handler for valkeyAsyncContext: PASSED #215 We can use valkeyOptions to set privdata: PASSED #216 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_tls.a' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey_tls.a' 'usr/lib/libvalkey.a' -> '/home/buildozer/aports/testing/libvalkey/pkg/libvalkey-dev/usr/lib/libvalkey.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: 614.5 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-x86.so.1 so:libcrypto.so.3 so:libssl.so.3 >>> libvalkey-tls*: Package size: 17.4 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-x86.so.1 >>> libvalkey*: Package size: 140.8 KB >>> libvalkey*: Compressing data... >>> libvalkey*: Create checksum... >>> libvalkey*: Create libvalkey-0.2.1-r0.apk >>> libvalkey: Build complete at Mon, 17 Nov 2025 11:58:08 +0000 elapsed time 0h 0m 20s >>> libvalkey: Cleaning up srcdir >>> libvalkey: Cleaning up pkgdir >>> libvalkey: Uninstalling dependencies... ( 1/17) Purging .makedepends-libvalkey (20251117.115749) ( 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: 426 MiB in 105 packages >>> libvalkey: Updating the testing/x86 repository index... >>> libvalkey: Signing the index...