ModernUO/Projects/Server.Tests
Kamron Batman 2d4500bf40 fix(console): make ConsoleInputPump cleanup unconditional; document single-caller contract
Wrap the Run() loop in try/finally so cleanup (_running = false;
ReleasePendingPrompt(null)) always executes, even if the injected
lookup throws. Previously a throwing lookup escaped the loop and left
any pending ReadLine() caller blocked forever. Also fold the lookup
call into the same try/catch as the handler invocation so a bad
command is swallowed without tearing down the reader loop.

Document via XML comments that ReadLine() supports a single sequential
caller (not concurrent callers) and that command handlers dispatched
by Run() execute on the reader thread and must not call ReadLine().

Add a regression test proving a throwing lookup neither hangs a
pending prompt nor kills the reader loop. Also drop an unused
System.Text using from the test file.
2026-07-15 23:32:06 -07:00
..
Fixtures fix(tests): single shared bootstrap; idempotent SerializationThreadWorker.Exit (#2473) 2026-06-07 12:36:37 -07:00
Helpers feat: Implements passive Detect Hidden mechanics (#2342) 2026-02-28 11:24:49 -08:00
Tests fix(console): make ConsoleInputPump cleanup unconditional; document single-caller contract 2026-07-15 23:32:06 -07:00
Server.Tests.csproj fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00