Fix messaging bugs, add tests, CI, and project docs#27
Open
Rochet2 wants to merge 65 commits into
Open
Conversation
Correct server cache timing, stored-byte accounting, sethook cleanup, reset persistence, and Windows path basenames; add aio_util helpers, unit tests, Luacheck CI, and SECURITY/DEPENDENCIES docs.
Ubuntu Noble has no luacheck apt package; install with luarocks instead. Bump actions/checkout to v5 for Node.js 24 runner support.
Example addons use many WoW globals and are not plain Lua; scope luacheck to core modules and tests.
Lint core modules and tests strictly; run syntax-only checks on the AIO monolith. Pin luarocks to Lua 5.1 and rename a time-diff parameter for parser compatibility.
CRLF files caused luacheck trailing-whitespace failures on Linux CI runners.
Install Lua 5.1 and luacheck via leafo actions; lint queue/aio_util strictly and syntax-check AIO.lua and tests with lua -p.
Ubuntu Noble has no luacheck apt package; use luarocks instead. Use project config so scoped lint passes (no-config treated warnings as failures).
Per-file globals replaced the std allowlist and flagged string/table/etc. Also silence unused self arg in Queue.__index.
Same changes as PR #23, applied directly to the example server script.
Vendors Rochet2/lualzw 6cbf8ab (release 1.1.0). Default export uses
skip = { [0] = true } so wire format matches the former zeros branch.
Adds lualzw round-trip tests; documents version in DEPENDENCIES.md.
Remove unused curmsg (timeout text lives in AIO.lua now), drop unreachable return after error, and use _G.unpack for Lua 5.1 luacheck compatibility.
Luacheck rejects local assert/print/type/select aliases (W122).
Luacheck warns when using length operator on tables with an n field.
Avoid shadowing globals (NewQueue, Smallfolk, lualzw), fix reassembler part counting, and print luacheck output on failure in CI.
Bump AIO_VERSION to 1.76 with CHANGELOG upgrade notes. Add aio_rpc unit tests, CI queue.lua sync check, FUTURE_WORK backlog, and README testing or config docs. Fix unpack in aio_rpc for Lua 5.4 test hosts.
Load server and client AIO.lua outside WoW to exercise Send, pipeline Init, slash help, and AIO.Handle. Allow table mock players when AIO_TEST_ALLOW_TABLE_PLAYERS is set for the test harness only.
Server integration runs on 5.1-5.4; client integration on 5.1 only. Add CI matrix jobs for 5.2-5.4 server coverage and skip reporting in run.lua.
Keep test-server-lua matrix to run.lua on 5.2-5.4 without duplicate lint steps.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
clear, server cache timing (milliseconds), stored-byte accounting,debug.sethookcleanup, reset persistence, Windows path basenames, version mismatch handling, and related messaging bugsaio_util.luahelpers, 24 unit tests, GitHub Actions CI (tests + Luacheck + sync checks), and project docs (SECURITY.md,DEPENDENCIES.md, tooling config)AIO_FORCE_RELOAD_ON_STARTUPconfigurable (defaulttrue); fix typos in README and API commentsTest plan
lua5.1 tests/run.lualocally (24 tests)/aio reset, ForceReset from serverAIO_FORCE_RELOAD_ON_STARTUP