BBS: TELESC.NET.BR Assunto: src/doors/clans-src/tests/fixtures/qtest/acs.evt display.evt donequest De: Deuc¨ Data: Sun, 8 Mar 2026 16:54:10 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/5a2bc73418dbfee5e290ab20 Added Files: src/doors/clans-src/tests/fixtures/qtest/acs.evt display.evt donequest.evt flags.evt getkey.evt heal.evt input.evt jump.evt misc.evt multi_option.evt news.evt npc_multi.evt npc_multi.npc.txt npc_telltopic.evt npc_telltopic.npc.txt quests.ini rewards.evt src/doors/clans-src/tests/fixtures/qtest/scripts/acs_always_true.script acs_and_false.script acs_and_true.script acs_dflag.script acs_gflag.script acs_gold.script acs_hflag.script acs_mine_k.script acs_mine_l.script acs_or.script acs_paren.script acs_pflag.script acs_questdone.script acs_random_false.script acs_random_true.script acs_tflag.script ambiguous_topic.script bad_topic.script display.script donequest.script empty_choice.script eof_no_end.script fight_lose.script fight_run.script getkey_a.script getkey_b.script givefight.script givefollowers.script givegold.script givepoints.script givexp.script heal_after_fight.script heal_hp.script heal_sp.script input_alpha.script input_beta.script invalid_choice.script jump.script malformed_line.script multi_opt_a.script multi_opt_b.script multi_opt_c.script news.script npc_merchant_telltopic.script npc_wizard_greet_exit.script npc_wizard_info.script state_dflags.script state_hflags.script state_pflags.script takegold_flat.script takegold_pct.script tellquest.script src/doors/clans-src/tests/fixtures/qtest/tellquest.evt Modified Files: src/doors/clans-src/docs/todo.txt src/doors/clans-src/tests/fixtures/qtest/fight.evt src/doors/clans-src/tests/test_qtest.sh Log Message: Add exhaustive qtest regression tests (160 tests) Cover the full scripting language and all qtest error paths: Positive tests: - SetFlag/ClearFlag for all flag types (G, H, P, D, T) - All reward commands: GiveGold, TakeGold (flat/%), GiveXP, GivePoints, GiveFight, GiveFollowers, GiveItem (new) - Heal SP; Pause (new, no-op in script mode per console.c) - All ACS condition types: ^, %, G, H, P, D, T, Q, $gold, L, K, R, &, |, () - Jump, Display, AddNews - Option (3-way), GetKey, Input (Topic= hook), DoneQuest - Fight outcomes: Win, Lose, Run - Multi-topic NPC chat, TellTopic, TellQuest - State args: -G, -H, -P, -D, -g, -m, -q (new), -Q Negative/failure tests (new error code paths): - Exit 1: bare non-option argument (vs. unknown -flag) - Exit 2: premature End when hook expected - Exit 2: empty Choice= value - Exit 2: invalid Choice char not in allowed set - Exit 2: malformed script line (no = sign) - Exit 2: Topic= value not found in option list - Exit 2: ambiguous Topic= prefix (matches multiple options) - Exit 3: EOF reached instead of End marker (vs. non-End line) Untestable items documented in docs/todo.txt [2.1]: Heal HP (RunEvent resets HP unconditionally), GivePoints/GiveFight/GiveFollowers (not in state summary), DoneQuest->QuestsDone bit (caller's responsibility). Co-Authored-By: Claude Sonnet 4.6n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]