>>> lua-timerwheel: Building community/lua-timerwheel 1.0.2-r1 (using abuild 3.18.0_rc7-r1) started Sun, 18 Oct 2026 17:48:13 +0000 >>> lua-timerwheel: Validating /home/buildozer/aports/community/lua-timerwheel/APKBUILD... >>> lua-timerwheel: Analyzing dependencies... >>> lua-timerwheel: Installing for build: build-base lua lua-coxpcall lua-busted lua-socket luajit lua5.1 lua5.1-busted lua5.2 lua5.2-busted lua5.3 lua5.3-busted lua5.4 lua5.4-busted ( 1/77) Installing luajit (2.1_p20251030-r0) ( 2/77) Installing lua-coxpcall (1.17.0-r2) ( 3/77) Installing lua5.1-libs (5.1.5-r13) ( 4/77) Installing lua5.1 (5.1.5-r13) ( 5/77) Installing lua5.1-cjson (2.1.0-r12) ( 6/77) Installing lua-cliargs (3.0.2-r1) ( 7/77) Installing lua5.1-say (1.4.1-r1) ( 8/77) Installing lua5.1-luassert (1.9.0-r1) ( 9/77) Installing lua5.1-mediator (1.1.2-r3) (10/77) Installing lua5.1-filesystem (1.9.0-r0) (11/77) Installing lua-filesystem (1.9.0-r0) (12/77) Installing lua-penlight (1.15.0-r2) (13/77) Installing lua5.1-penlight (1.15.0-r2) (14/77) Installing lua5.1-system (0.7.0-r0) (15/77) Installing lua5.1-term (0.08-r0) (16/77) Installing lua5.1-busted (2.3.0-r2) (17/77) Installing lua5.1-coxpcall (1.17.0-r2) (18/77) Installing lua-cjson (2.1.0-r12) (19/77) Installing lua-luassert (1.9.0-r1) (20/77) Installing lua-mediator (1.1.2-r3) (21/77) Installing lua-say (1.4.1-r1) (22/77) Installing lua-system (0.7.0-r0) (23/77) Installing lua-term (0.08-r0) (24/77) Installing lua-busted (2.3.0-r2) (25/77) Installing lua-socket (3.1.0-r2) (26/77) Installing lua5.1-socket (3.1.0-r2) (27/77) Installing lua5.2-libs (5.2.4-r13) (28/77) Installing lua5.2 (5.2.4-r13) (29/77) Installing lua5.2-socket (3.1.0-r2) (30/77) Installing lua5.2-filesystem (1.9.0-r0) (31/77) Installing lua5.2-system (0.7.0-r0) (32/77) Installing lua5.2-cjson (2.1.0-r12) (33/77) Installing lua5.2-say (1.4.1-r1) (34/77) Installing lua5.2-luassert (1.9.0-r1) (35/77) Installing lua5.2-mediator (1.1.2-r3) (36/77) Installing lua5.2-penlight (1.15.0-r2) (37/77) Installing lua5.2-term (0.08-r0) (38/77) Installing lua5.2-busted (2.3.0-r2) (39/77) Installing lua5.2-coxpcall (1.17.0-r2) (40/77) Installing linenoise (1.0-r5) (41/77) Installing lua5.3-libs (5.3.6-r6) (42/77) Installing lua5.3 (5.3.6-r6) (43/77) Installing lua5.3-say (1.4.1-r1) (44/77) Installing lua5.3-term (0.08-r0) (45/77) Installing lua5.3-cjson (2.1.0-r12) (46/77) Installing lua5.3-luassert (1.9.0-r1) (47/77) Installing lua5.3-mediator (1.1.2-r3) (48/77) Installing lua5.3-filesystem (1.9.0-r0) (49/77) Installing lua5.3-penlight (1.15.0-r2) (50/77) Installing lua5.3-system (0.7.0-r0) (51/77) Installing lua5.3-busted (2.3.0-r2) (52/77) Installing lua5.3-coxpcall (1.17.0-r2) (53/77) Installing lua5.3-socket (3.1.0-r2) (54/77) Installing lua5.4-libs (5.4.9-r0) (55/77) Installing readline (8.3.3-r1) (56/77) Installing lua5.4 (5.4.9-r0) (57/77) Installing lua5.4-say (1.4.1-r1) (58/77) Installing lua5.4-luassert (1.9.0-r1) (59/77) Installing lua5.4-cjson (2.1.0-r12) (60/77) Installing lua5.4-mediator (1.1.2-r3) (61/77) Installing lua5.4-filesystem (1.9.0-r0) (62/77) Installing lua5.4-penlight (1.15.0-r2) (63/77) Installing lua5.4-system (0.7.0-r0) (64/77) Installing lua5.4-term (0.08-r0) (65/77) Installing lua5.4-busted (2.3.0-r2) (66/77) Installing lua5.4-coxpcall (1.17.0-r2) (67/77) Installing lua5.4-socket (3.1.0-r2) (68/77) Installing .makedepends-lua-timerwheel (20261018.174855) (69/77) Installing lua5.5-say (1.4.1-r1) (70/77) Installing lua5.5-socket (3.1.0-r2) (71/77) Installing lua5.5-luassert (1.9.0-r1) (72/77) Installing lua5.5-mediator (1.1.2-r3) (73/77) Installing lua5.5-penlight (1.15.0-r2) (74/77) Installing lua5.5-system (0.7.0-r0) (75/77) Installing lua5.5-term (0.08-r0) (76/77) Installing lua5.5-busted (2.3.0-r2) (77/77) Installing lua5.5-coxpcall (1.17.0-r2) Executing busybox-1.38.0-r7.trigger OK: 300.5 MiB in 179 packages >>> lua-timerwheel: Cleaning up srcdir >>> lua-timerwheel: Cleaning up pkgdir >>> lua-timerwheel: Cleaning up tmpdir >>> lua-timerwheel: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz.part' timerwheel.lua-1.0.2 100% |********************************| 13576 0:00:00 ETA '/var/cache/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz.part' saved /var/cache/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz: OK >>> lua-timerwheel: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz /var/cache/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz: OK >>> lua-timerwheel: Unpacking /var/cache/distfiles/v3.25/timerwheel.lua-1.0.2.tar.gz... >>> lua-timerwheel: Testing on lua5.1 [==========] Running tests from scanned files. [----------] Global test environment setup. [----------] Running tests from spec/timerwheel_spec.lua [ RUN ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options [ OK ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options [ OK ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options (0.32 ms) [ RUN ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options [ OK ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer [ OK ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer (0.19 ms) [ RUN ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument [ OK ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument (0.15 ms) [ RUN ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error [ OK ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers [ OK ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers (0.67 ms) [ RUN ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables [ OK ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables (1.82 ms) [ RUN ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past [ OK ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past (0.20 ms) [ RUN ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge [ OK ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge (0.19 ms) [ RUN ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge [ OK ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge [ OK ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge (5.44 ms) [ RUN ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings [ OK ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings (0.81 ms) [ RUN ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge [ OK ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing [ OK ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing (2.75 ms) [ RUN ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error [ OK ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution [ OK ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution (0.22 ms) [ RUN ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot [ OK ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot (0.18 ms) [ RUN ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead [ OK ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead (0.25 ms) [ RUN ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past [ OK ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.19 ms) [ RUN ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer [ OK ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot [ OK ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot (0.23 ms) [ RUN ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling [ OK ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling (2.43 ms) [----------] 24 tests from spec/timerwheel_spec.lua (24.61 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (24.77 ms total) [ PASSED ] 24 tests. >>> lua-timerwheel: Testing on lua5.2 [==========] Running tests from scanned files. [----------] Global test environment setup. [----------] Running tests from spec/timerwheel_spec.lua [ RUN ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options [ OK ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options [ OK ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options (0.30 ms) [ RUN ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options [ OK ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer [ OK ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer (0.28 ms) [ RUN ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument [ OK ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument (0.13 ms) [ RUN ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error [ OK ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error (0.13 ms) [ RUN ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers [ OK ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers (0.60 ms) [ RUN ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables [ OK ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables (1.46 ms) [ RUN ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past [ OK ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge [ OK ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge [ OK ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge (0.18 ms) [ RUN ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge [ OK ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge (5.62 ms) [ RUN ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings [ OK ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings (0.86 ms) [ RUN ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge [ OK ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing [ OK ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing (1.66 ms) [ RUN ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error [ OK ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution [ OK ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution (0.19 ms) [ RUN ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot [ OK ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot (0.17 ms) [ RUN ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead [ OK ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead (0.20 ms) [ RUN ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past [ OK ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.17 ms) [ RUN ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer [ OK ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot [ OK ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot (0.21 ms) [ RUN ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling [ OK ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling (1.71 ms) [----------] 24 tests from spec/timerwheel_spec.lua (21.73 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (21.87 ms total) [ PASSED ] 24 tests. >>> lua-timerwheel: Testing on lua5.3 [==========] Running tests from scanned files. [----------] Global test environment setup. [----------] Running tests from spec/timerwheel_spec.lua [ RUN ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options [ OK ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options [ OK ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options (0.29 ms) [ RUN ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options [ OK ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer [ OK ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer (0.31 ms) [ RUN ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument [ OK ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error [ OK ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers [ OK ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers (0.49 ms) [ RUN ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables [ OK ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables (1.25 ms) [ RUN ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past [ OK ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge [ OK ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge (0.07 ms) [ RUN ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge [ OK ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge [ OK ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge (4.73 ms) [ RUN ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings [ OK ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings (0.64 ms) [ RUN ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge [ OK ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing [ OK ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing (2.19 ms) [ RUN ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error [ OK ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution [ OK ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution (0.21 ms) [ RUN ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot [ OK ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot (0.16 ms) [ RUN ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead [ OK ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead (0.21 ms) [ RUN ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past [ OK ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.17 ms) [ RUN ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer [ OK ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot [ OK ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot (0.25 ms) [ RUN ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling [ OK ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling (1.61 ms) [----------] 24 tests from spec/timerwheel_spec.lua (58.64 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (58.79 ms total) [ PASSED ] 24 tests. >>> lua-timerwheel: Testing on lua5.4 [==========] Running tests from scanned files. [----------] Global test environment setup. [----------] Running tests from spec/timerwheel_spec.lua [ RUN ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options [ OK ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options [ OK ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options (0.27 ms) [ RUN ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options [ OK ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options (0.07 ms) [ RUN ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer [ OK ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer (0.14 ms) [ RUN ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument [ OK ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error [ OK ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers [ OK ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers (0.50 ms) [ RUN ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables [ OK ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables (1.22 ms) [ RUN ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past [ OK ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge [ OK ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge [ OK ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge [ OK ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge (5.30 ms) [ RUN ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings [ OK ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings (0.50 ms) [ RUN ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge [ OK ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing [ OK ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing (1.63 ms) [ RUN ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error [ OK ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error (0.09 ms) [ RUN ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution [ OK ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution (0.20 ms) [ RUN ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot [ OK ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot (0.17 ms) [ RUN ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead [ OK ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead (0.19 ms) [ RUN ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past [ OK ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past (0.08 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.18 ms) [ RUN ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer [ OK ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot [ OK ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot (0.22 ms) [ RUN ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling [ OK ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling (1.50 ms) [----------] 24 tests from spec/timerwheel_spec.lua (54.95 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (55.10 ms total) [ PASSED ] 24 tests. >>> lua-timerwheel: Testing on luajit [==========] Running tests from scanned files. [----------] Global test environment setup. [----------] Running tests from spec/timerwheel_spec.lua [ RUN ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options [ OK ] spec/timerwheel_spec.lua:31: Timerwheel new() succeeds without options (0.06 ms) [ RUN ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options [ OK ] spec/timerwheel_spec.lua:38: Timerwheel new() fails with bad options (0.28 ms) [ RUN ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options [ OK ] spec/timerwheel_spec.lua:63: Timerwheel new() succeeds with proper options (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer [ OK ] spec/timerwheel_spec.lua:91: Timerwheel set() and step() sets a timer (0.13 ms) [ RUN ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument [ OK ] spec/timerwheel_spec.lua:103: Timerwheel set() and step() sets a timer and passes the argument (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error [ OK ] spec/timerwheel_spec.lua:117: Timerwheel set() and step() doesn't fail on a callback error (0.15 ms) [ RUN ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers [ OK ] spec/timerwheel_spec.lua:132: Timerwheel set() and step() sets 10 timers (0.49 ms) [ RUN ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables [ OK ] spec/timerwheel_spec.lua:147: Timerwheel set() and step() sets 10 timers and reuses the tables (1.62 ms) [ RUN ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past [ OK ] spec/timerwheel_spec.lua:177: Timerwheel set() and step() sets a timer in the past (0.10 ms) [ RUN ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge [ OK ] spec/timerwheel_spec.lua:188: Timerwheel set() and step() sets a timer on the old edge (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge [ OK ] spec/timerwheel_spec.lua:199: Timerwheel set() and step() sets a timer on the new edge (0.04 ms) [ RUN ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge [ OK ] spec/timerwheel_spec.lua:214: Timerwheel set() and step() sets timers over the ring edge (1.70 ms) [ RUN ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings [ OK ] spec/timerwheel_spec.lua:229: Timerwheel set() and step() sets timers, skipping over empty rings (0.29 ms) [ RUN ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge [ OK ] spec/timerwheel_spec.lua:246: Timerwheel set() and step() doesn't execute before edge, but on/after edge (0.05 ms) [ RUN ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing [ OK ] spec/timerwheel_spec.lua:261: Timerwheel set() and step() callback and args gets GC'ed after executing (2.35 ms) [ RUN ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error [ OK ] spec/timerwheel_spec.lua:290: Timerwheel set() and step() calls the error handler on an error (0.11 ms) [ RUN ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution [ OK ] spec/timerwheel_spec.lua:322: Timerwheel peek() returns time to execution (0.15 ms) [ RUN ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot [ OK ] spec/timerwheel_spec.lua:336: Timerwheel peek() returns time to execution from last slot (0.39 ms) [ RUN ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead [ OK ] spec/timerwheel_spec.lua:348: Timerwheel peek() returns time to execution a few (empty) rings ahead (0.35 ms) [ RUN ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past [ OK ] spec/timerwheel_spec.lua:360: Timerwheel peek() returns time to execution in the past (0.16 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.12 ms) [ RUN ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer [ OK ] spec/timerwheel_spec.lua:401: Timerwheel cancel() removes a non-existing timer (0.05 ms) [ RUN ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot [ OK ] spec/timerwheel_spec.lua:407: Timerwheel cancel() removes timers, leaving holes in the slot (0.16 ms) [ RUN ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling [ OK ] spec/timerwheel_spec.lua:432: Timerwheel cancel() callback and args gets GC'ed after cancelling (2.19 ms) [----------] 24 tests from spec/timerwheel_spec.lua (16.44 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (16.81 ms total) [ PASSED ] 24 tests. >>> lua-timerwheel: Entering fakeroot... >>> lua-timerwheel*: Running postcheck for lua-timerwheel >>> lua-timerwheel*: Preparing package lua-timerwheel... >>> lua-timerwheel*: Tracing dependencies... lua lua-coxpcall >>> lua-timerwheel*: Package size: 9.4 KB >>> lua-timerwheel*: Compressing data... >>> lua-timerwheel*: Create checksum... >>> lua-timerwheel*: Create lua-timerwheel-1.0.2-r1.apk >>> lua-timerwheel: Build complete at Sun, 18 Oct 2026 17:48:56 +0000 elapsed time 0h 0m 43s >>> lua-timerwheel: Cleaning up srcdir >>> lua-timerwheel: Cleaning up pkgdir >>> lua-timerwheel: Cleaning up tmpdir >>> lua-timerwheel: Uninstalling dependencies... ( 1/77) Purging .makedepends-lua-timerwheel (20261018.174855) ( 2/77) Purging lua5.4-coxpcall (1.17.0-r2) ( 3/77) Purging lua5.3-coxpcall (1.17.0-r2) ( 4/77) Purging lua5.1-coxpcall (1.17.0-r2) ( 5/77) Purging lua5.2-coxpcall (1.17.0-r2) ( 6/77) Purging lua5.5-coxpcall (1.17.0-r2) ( 7/77) Purging lua-coxpcall (1.17.0-r2) ( 8/77) Purging lua5.5-busted (2.3.0-r2) ( 9/77) Purging lua5.5-luassert (1.9.0-r1) (10/77) Purging lua5.5-mediator (1.1.2-r3) (11/77) Purging lua5.5-penlight (1.15.0-r2) (12/77) Purging lua5.5-say (1.4.1-r1) (13/77) Purging lua5.5-system (0.7.0-r0) (14/77) Purging lua5.5-term (0.08-r0) (15/77) Purging lua-busted (2.3.0-r2) (16/77) Purging lua-cjson (2.1.0-r12) (17/77) Purging lua-luassert (1.9.0-r1) (18/77) Purging lua-mediator (1.1.2-r3) (19/77) Purging lua-say (1.4.1-r1) (20/77) Purging lua-system (0.7.0-r0) (21/77) Purging lua-term (0.08-r0) (22/77) Purging lua5.1-socket (3.1.0-r2) (23/77) Purging lua5.5-socket (3.1.0-r2) (24/77) Purging lua5.2-socket (3.1.0-r2) (25/77) Purging lua5.3-socket (3.1.0-r2) (26/77) Purging lua5.4-socket (3.1.0-r2) (27/77) Purging lua-socket (3.1.0-r2) (28/77) Purging lua5.3-busted (2.3.0-r2) (29/77) Purging lua5.3-cjson (2.1.0-r12) (30/77) Purging lua5.3-luassert (1.9.0-r1) (31/77) Purging lua5.3-mediator (1.1.2-r3) (32/77) Purging lua5.3-say (1.4.1-r1) (33/77) Purging lua5.3-system (0.7.0-r0) (34/77) Purging lua5.3-term (0.08-r0) (35/77) Purging lua5.3-penlight (1.15.0-r2) (36/77) Purging lua5.3-filesystem (1.9.0-r0) (37/77) Purging lua5.1-busted (2.3.0-r2) (38/77) Purging lua5.1-cjson (2.1.0-r12) (39/77) Purging lua5.1-luassert (1.9.0-r1) (40/77) Purging lua5.1-mediator (1.1.2-r3) (41/77) Purging lua5.1-say (1.4.1-r1) (42/77) Purging lua5.1-system (0.7.0-r0) (43/77) Purging lua5.1-term (0.08-r0) (44/77) Purging lua5.1-penlight (1.15.0-r2) (45/77) Purging lua5.1-filesystem (1.9.0-r0) (46/77) Purging lua5.2-busted (2.3.0-r2) (47/77) Purging lua5.2-cjson (2.1.0-r12) (48/77) Purging lua5.2-luassert (1.9.0-r1) (49/77) Purging lua5.2-mediator (1.1.2-r3) (50/77) Purging lua5.2-say (1.4.1-r1) (51/77) Purging lua5.2-system (0.7.0-r0) (52/77) Purging lua5.2-term (0.08-r0) (53/77) Purging lua5.2-penlight (1.15.0-r2) (54/77) Purging lua5.2-filesystem (1.9.0-r0) (55/77) Purging lua5.4-busted (2.3.0-r2) (56/77) Purging lua5.4-cjson (2.1.0-r12) (57/77) Purging lua5.4-luassert (1.9.0-r1) (58/77) Purging lua5.4-mediator (1.1.2-r3) (59/77) Purging lua5.4-say (1.4.1-r1) (60/77) Purging lua5.4-system (0.7.0-r0) (61/77) Purging lua5.4-term (0.08-r0) (62/77) Purging lua5.4-penlight (1.15.0-r2) (63/77) Purging lua5.4-filesystem (1.9.0-r0) (64/77) Purging lua-penlight (1.15.0-r2) (65/77) Purging lua-filesystem (1.9.0-r0) (66/77) Purging luajit (2.1_p20251030-r0) (67/77) Purging lua5.1 (5.1.5-r13) (68/77) Purging lua5.2 (5.2.4-r13) (69/77) Purging lua5.3 (5.3.6-r6) (70/77) Purging lua5.4 (5.4.9-r0) (71/77) Purging linenoise (1.0-r5) (72/77) Purging lua-cliargs (3.0.2-r1) (73/77) Purging lua5.1-libs (5.1.5-r13) (74/77) Purging lua5.2-libs (5.2.4-r13) (75/77) Purging lua5.3-libs (5.3.6-r6) (76/77) Purging lua5.4-libs (5.4.9-r0) (77/77) Purging readline (8.3.3-r1) Executing busybox-1.38.0-r7.trigger OK: 294.4 MiB in 102 packages >>> lua-timerwheel: Updating the community/x86 repository index... >>> lua-timerwheel: Signing the index...