Add end-to-end test framework (CI + in-game) (#112)
Add unit tests for base64, crc32, protobuf, and roundtrip functionality
Implemented base64 encoding/decoding tests to ensure round-trip integrity for empty input, byte sequences, and all 256 distinct bytes.
Added crc32 tests to validate the checksum against the canonical IEEE vector for "123456789", check for empty input, and ensure deterministic behavior.
Created protobuf tests to verify serialization and deserialization of a complex Charactor message, including nested structures and string-indexed slots.
Developed roundtrip tests for exporting and importing data, ensuring parseability, structural integrity, and handling of comment lines in input.
Introduced a lightweight testing framework to facilitate the execution and reporting of test results.
Implemented a host data plugin to provide a uniform API for seeding and inspecting the "host" state in both CI and in-game environments.
Added an in-game test runner command to execute tests and report results to the user.
Add GitHub Actions workflow for automated testing
Implement code changes to enhance functionality and improve performance
Add in-game round-trip tests and enhance test logging functionality
Add GetBindingAction to read_globals in .luacheckrc
tests: address PR #112 review feedback
T.yield(): use is_main return of coroutine.running() so LuaJIT main
thread is a true no-op (Lua 5.1 returns nil; LuaJIT returns thread+true)
macro tests: add create_test_macro() helper that deletes leftover
macros of the same name and fails with a clear message if creation
still returns nil (e.g. no free macro slots)
shorten macro names to fit WoW's 16-char limit (MyslotE2EBar -> MyslotBar,
MyslotTypeMacro -> MyslotT)
add GetBindingAction to luacheck globals
Co-authored-by: Copilot [email protected]