>>> lua-timerwheel: Building community/lua-timerwheel 1.0.2-r1 (using abuild 3.15.0-r0) started Sat, 11 Oct 2025 13:48:18 +0000 >>> lua-timerwheel: Validating /home/udu/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 WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/67) Installing luajit (2.1_p20240815-r1) (2/67) Installing lua-coxpcall (1.17.0-r1) (3/67) Installing lua-cjson (2.1.0-r11) (4/67) Installing lua-cliargs (3.0.2-r0) (5/67) Installing lua-luassert (1.9.0-r0) (6/67) Installing lua-mediator (1.1.2-r2) (7/67) Installing lua-filesystem (1.8.0-r4) (8/67) Installing lua-penlight (1.14.0-r0) (9/67) Installing lua-say (1.4.1-r0) (10/67) Installing lua-system (0.4.5-r0) (11/67) Installing lua-term (0.07-r2) (12/67) Installing lua-busted (2.2.0-r0) (13/67) Installing lua-socket (3.1.0-r1) (14/67) Installing lua5.1-libs (5.1.5-r13) (15/67) Installing lua5.1 (5.1.5-r13) (16/67) Installing lua5.1-cjson (2.1.0-r11) (17/67) Installing lua5.1-say (1.4.1-r0) (18/67) Installing lua5.1-luassert (1.9.0-r0) (19/67) Installing lua5.1-mediator (1.1.2-r2) (20/67) Installing lua5.1-filesystem (1.8.0-r4) (21/67) Installing lua5.1-penlight (1.14.0-r0) (22/67) Installing lua5.1-system (0.4.5-r0) (23/67) Installing lua5.1-term (0.07-r2) (24/67) Installing lua5.1-busted (2.2.0-r0) (25/67) Installing lua5.1-socket (3.1.0-r1) (26/67) Installing lua5.1-coxpcall (1.17.0-r1) (27/67) Installing lua5.2-libs (5.2.4-r13) (28/67) Installing lua5.2 (5.2.4-r13) (29/67) Installing lua5.2-socket (3.1.0-r1) (30/67) Installing lua5.2-filesystem (1.8.0-r4) (31/67) Installing lua5.2-system (0.4.5-r0) (32/67) Installing lua5.2-cjson (2.1.0-r11) (33/67) Installing lua5.2-say (1.4.1-r0) (34/67) Installing lua5.2-luassert (1.9.0-r0) (35/67) Installing lua5.2-mediator (1.1.2-r2) (36/67) Installing lua5.2-penlight (1.14.0-r0) (37/67) Installing lua5.2-term (0.07-r2) (38/67) Installing lua5.2-busted (2.2.0-r0) (39/67) Installing lua5.2-coxpcall (1.17.0-r1) (40/67) Installing linenoise (1.0-r5) (41/67) Installing lua5.3-libs (5.3.6-r6) (42/67) Installing lua5.3 (5.3.6-r6) (43/67) Installing lua5.3-say (1.4.1-r0) (44/67) Installing lua5.3-term (0.07-r2) (45/67) Installing lua5.3-cjson (2.1.0-r11) (46/67) Installing lua5.3-luassert (1.9.0-r0) (47/67) Installing lua5.3-mediator (1.1.2-r2) (48/67) Installing lua5.3-filesystem (1.8.0-r4) (49/67) Installing lua5.3-penlight (1.14.0-r0) (50/67) Installing lua5.3-system (0.4.5-r0) (51/67) Installing lua5.3-busted (2.2.0-r0) (52/67) Installing lua5.3-coxpcall (1.17.0-r1) (53/67) Installing lua5.3-socket (3.1.0-r1) (54/67) Installing lua5.4-libs (5.4.7-r0) (55/67) Installing lua5.4 (5.4.7-r0) (56/67) Installing lua5.4-say (1.4.1-r0) (57/67) Installing lua5.4-luassert (1.9.0-r0) (58/67) Installing lua5.4-cjson (2.1.0-r11) (59/67) Installing lua5.4-mediator (1.1.2-r2) (60/67) Installing lua5.4-filesystem (1.8.0-r4) (61/67) Installing lua5.4-penlight (1.14.0-r0) (62/67) Installing lua5.4-system (0.4.5-r0) (63/67) Installing lua5.4-term (0.07-r2) (64/67) Installing lua5.4-busted (2.2.0-r0) (65/67) Installing lua5.4-coxpcall (1.17.0-r1) (66/67) Installing lua5.4-socket (3.1.0-r1) (67/67) Installing .makedepends-lua-timerwheel (20251011.134819) Executing busybox-1.37.0-r19.trigger OK: 302 MiB in 156 packages >>> lua-timerwheel: Cleaning up srcdir >>> lua-timerwheel: Cleaning up pkgdir >>> lua-timerwheel: Cleaning up tmpdir >>> lua-timerwheel: Fetching https://github.com/Tieske/timerwheel.lua/archive/1.0.2/timerwheel.lua-1.0.2.tar.gz >>> lua-timerwheel: Fetching https://github.com/Tieske/timerwheel.lua/archive/1.0.2/timerwheel.lua-1.0.2.tar.gz >>> lua-timerwheel: Checking sha512sums... timerwheel.lua-1.0.2.tar.gz: OK >>> lua-timerwheel: Unpacking /var/cache/distfiles/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.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.11 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.03 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.08 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.05 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.06 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.26 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 (0.75 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.03 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.92 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.33 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 (1.31 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.04 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.09 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.07 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.09 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.04 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.07 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.02 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.09 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.24 ms) [----------] 24 tests from spec/timerwheel_spec.lua (9.96 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (10.01 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.04 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.11 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.03 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.06 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.05 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.05 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.23 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 (0.54 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.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.05 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.98 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.25 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 (1.38 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.05 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.09 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.07 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.08 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.04 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.07 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.02 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.09 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 (0.97 ms) [----------] 24 tests from spec/timerwheel_spec.lua (9.41 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (9.47 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.05 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.11 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.03 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.07 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.06 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.06 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.24 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 (0.58 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.04 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.05 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 (2.18 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.24 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.04 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 (0.90 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.05 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.09 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.07 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.08 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.04 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.07 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.02 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.10 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 (0.87 ms) [----------] 24 tests from spec/timerwheel_spec.lua (22.65 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (22.70 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.05 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.10 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.03 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.06 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.04 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.04 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.20 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 (0.50 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.03 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.03 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 (2.17 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.20 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.04 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 (0.85 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.06 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.08 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.07 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.07 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.03 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.07 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.02 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.09 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 (0.84 ms) [----------] 24 tests from spec/timerwheel_spec.lua (22.61 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (22.67 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.03 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.07 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.02 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.05 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.05 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.06 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.18 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 (0.43 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.02 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.02 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.02 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.02 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.41 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.07 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.00 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.03 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.12 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.22 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.04 ms) [ RUN ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer [ OK ] spec/timerwheel_spec.lua:384: Timerwheel cancel() removes a timer (0.04 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.02 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.11 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.12 ms) [----------] 24 tests from spec/timerwheel_spec.lua (7.91 ms total) [----------] Global test environment teardown. [==========] 24 tests from 1 test file ran. (8.02 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 Sat, 11 Oct 2025 13:48:20 +0000 elapsed time 0h 0m 2s >>> lua-timerwheel: Cleaning up srcdir >>> lua-timerwheel: Cleaning up pkgdir >>> lua-timerwheel: Uninstalling dependencies... (1/67) Purging .makedepends-lua-timerwheel (20251011.134819) (2/67) Purging lua5.4-coxpcall (1.17.0-r1) (3/67) Purging lua5.3-coxpcall (1.17.0-r1) (4/67) Purging lua5.1-coxpcall (1.17.0-r1) (5/67) Purging lua5.2-coxpcall (1.17.0-r1) (6/67) Purging lua-coxpcall (1.17.0-r1) (7/67) Purging lua-busted (2.2.0-r0) (8/67) Purging lua-cjson (2.1.0-r11) (9/67) Purging lua-luassert (1.9.0-r0) (10/67) Purging lua-mediator (1.1.2-r2) (11/67) Purging lua-say (1.4.1-r0) (12/67) Purging lua-system (0.4.5-r0) (13/67) Purging lua-term (0.07-r2) (14/67) Purging lua5.1-socket (3.1.0-r1) (15/67) Purging lua5.2-socket (3.1.0-r1) (16/67) Purging lua5.3-socket (3.1.0-r1) (17/67) Purging lua5.4-socket (3.1.0-r1) (18/67) Purging lua-socket (3.1.0-r1) (19/67) Purging lua5.3-busted (2.2.0-r0) (20/67) Purging lua5.3-cjson (2.1.0-r11) (21/67) Purging lua5.3-luassert (1.9.0-r0) (22/67) Purging lua5.3-mediator (1.1.2-r2) (23/67) Purging lua5.3-say (1.4.1-r0) (24/67) Purging lua5.3-system (0.4.5-r0) (25/67) Purging lua5.3-term (0.07-r2) (26/67) Purging lua5.3-penlight (1.14.0-r0) (27/67) Purging lua5.3-filesystem (1.8.0-r4) (28/67) Purging lua5.1-busted (2.2.0-r0) (29/67) Purging lua5.1-cjson (2.1.0-r11) (30/67) Purging lua5.1-luassert (1.9.0-r0) (31/67) Purging lua5.1-mediator (1.1.2-r2) (32/67) Purging lua5.1-say (1.4.1-r0) (33/67) Purging lua5.1-system (0.4.5-r0) (34/67) Purging lua5.1-term (0.07-r2) (35/67) Purging lua5.1-penlight (1.14.0-r0) (36/67) Purging lua5.1-filesystem (1.8.0-r4) (37/67) Purging lua5.2-busted (2.2.0-r0) (38/67) Purging lua5.2-cjson (2.1.0-r11) (39/67) Purging lua5.2-luassert (1.9.0-r0) (40/67) Purging lua5.2-mediator (1.1.2-r2) (41/67) Purging lua5.2-say (1.4.1-r0) (42/67) Purging lua5.2-system (0.4.5-r0) (43/67) Purging lua5.2-term (0.07-r2) (44/67) Purging lua5.2-penlight (1.14.0-r0) (45/67) Purging lua5.2-filesystem (1.8.0-r4) (46/67) Purging lua5.4-busted (2.2.0-r0) (47/67) Purging lua5.4-cjson (2.1.0-r11) (48/67) Purging lua5.4-luassert (1.9.0-r0) (49/67) Purging lua5.4-mediator (1.1.2-r2) (50/67) Purging lua5.4-say (1.4.1-r0) (51/67) Purging lua5.4-system (0.4.5-r0) (52/67) Purging lua5.4-term (0.07-r2) (53/67) Purging lua5.4-penlight (1.14.0-r0) (54/67) Purging lua5.4-filesystem (1.8.0-r4) (55/67) Purging lua-penlight (1.14.0-r0) (56/67) Purging lua-filesystem (1.8.0-r4) (57/67) Purging luajit (2.1_p20240815-r1) (58/67) Purging lua5.1 (5.1.5-r13) (59/67) Purging lua5.2 (5.2.4-r13) (60/67) Purging lua5.3 (5.3.6-r6) (61/67) Purging lua5.4 (5.4.7-r0) (62/67) Purging linenoise (1.0-r5) (63/67) Purging lua-cliargs (3.0.2-r0) (64/67) Purging lua5.1-libs (5.1.5-r13) (65/67) Purging lua5.2-libs (5.2.4-r13) (66/67) Purging lua5.3-libs (5.3.6-r6) (67/67) Purging lua5.4-libs (5.4.7-r0) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages >>> lua-timerwheel: Updating the community/x86_64 repository index... >>> lua-timerwheel: Signing the index...