BBS: TELESC.NET.BR Assunto: src/doors/clans-src/docs/gtest.txt src/doors/clans-src/src/gtest.c scr De: Deuc¨ Data: Sat, 14 Mar 2026 23:32:39 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/a97a0162f84880adb4aa39c0 Added Files: src/doors/clans-src/docs/gtest.txt src/doors/clans-src/src/gtest.c scripteng.c scripteng.h src/doors/clans-src/tests/fixtures/gtest/autofight.script src/doors/clans-src/tests/test_gtest.sh Modified Files: src/doors/clans-src/GNUmakefile src/doors/clans-src/mk/Paths.gmake src/doors/clans-src/src/GNUmakefile console.c console.h qtest.c src/doors/clans-src/tests/GNUmakefile Log Message: Add gtest: script-driven combat integration test tool Extract shared script engine from qtest.c into scripteng.c/scripteng.h so both tools reuse the same Type=value script format, hook callbacks, and error handling. Add hook_get_key (Key= type) for raw keystroke scripting. Add Console_SetGetKeyHook to console.c. Create gtest.c -- a standalone binary that links the real combat engine (fight.c, spells.c, items.c, class.c) against mock stubs for the rest of the game (user.c, news.c, mail.c, ibbs.c, etc.). Supports two commands: -c autofight AI-controlled combat against a test goblin -c levelup Level-up check with preset XP values Random control: -r VALUE (fixed mod, fully deterministic), -R SEED (seeded PRNG), or neither (unseeded rand). State summary printed to stderr for test assertions. Add TEST_BINARIES list in mk/Paths.gmake for developer-only test tools (not shipped with game or devkit). Add 21 integration tests in tests/test_gtest.sh covering argument validation, autofight at multiple levels, deterministic reproducibility with -r, gold arguments, and level-up verification. Add docs/gtest.txt with usage, script format, and architecture docs. Co-Authored-By: Claude Opus 4.6 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]