acdream/tests/AcDream.Headless.Tests
Erik 4d5da2dcd5 test(headless): cover the interactive console
20 focused tests, no live server: typed-option resolution and
--console flag parsing; the reader-thread ordering guarantee (lines
queued by the background thread drain, in FIFO order, entirely on the
calling thread); the controller's drain/quit/status behavior; the
console chat formatter's per-kind bracket labels; and the full
dispatch pipeline against a real HeadlessSessionHost wired to a
no-network FixtureSessionOperations fixture (mirrors the existing
HeadlessSessionHostTests pattern used for LoginCommandSequence):
/say and plain text both produce the identical outbound Talk action a
graphical /say would send, a registered plugin verb is reached without
touching the wire, and an unknown/degenerate verb produces the same
interface text ChatCommandRouterTests already pins for the graphical
route.

Every test in this file was run against a deliberate one-line mutation
of its own production code first and confirmed red before being
reverted: HeadlessConsoleChatFeedback dropping its interface-text
callback, HeadlessConsoleController skipping
_quitRequested.Cancel(), LiveChatCommandRoute.TryHandlePluginCommand
forced to always return false, HeadlessConsoleInputReader's read loop
dropping its Enqueue call, and SubmitConsoleLine's ChatChannelKind.Say
swapped for .Tell.

dotnet test tests/AcDream.Headless.Tests -c Release: 193 passed, 1
pre-existing failure (LinuxRejectsGroupOrOtherCredentialPermissions -
Linux-only lane, cannot run on this Windows host, unrelated), 194
total. dotnet test tests/AcDream.Runtime.Tests -c Release: 1891/1891.
dotnet test tests/AcDream.App.Tests -c Release --filter
"FullyQualifiedName~Chat|FullyQualifiedName~Command|FullyQualifiedName~LaunchOptions":
414 passed, 2 pre-existing failures (both gated on
ACDREAM_PROBE_LIVE_MOUNT=1, a manual live-DAT probe lane, unrelated),
3 skipped, 419 total.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 06:56:54 +02:00
..
AcDream.Headless.Tests.csproj build: make release restore reproducible 2026-08-18 10:29:00 +02:00
HeadlessBotPolicyTests.cs test: Campaign LA finish LA2 probe and idle gates 2026-08-14 16:49:51 +02:00
HeadlessCharacterOptionsSeederTests.cs feat(CT): CT2 — Runtime character-title ownership + wire 2026-08-24 22:03:22 +02:00
HeadlessCharacterOptionsSeederWiringTests.cs feat(headless): Campaign OP slice OP7 — declared characterOptions with seed-diff sends 2026-08-11 02:45:08 +02:00
HeadlessCollisionNeighborhoodServiceWindowTests.cs feat(physics): C4 route 4b-1 — remote placement infrastructure (dormant) 2026-08-04 04:08:19 +02:00
HeadlessConfigurationLoaderTests.cs fix(launcher): Campaign LA close LA2 review findings 2026-08-14 17:20:02 +02:00
HeadlessConsoleTests.cs test(headless): cover the interactive console 2026-09-07 06:56:54 +02:00
HeadlessCredentialResolverTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
HeadlessDependencyBoundaryTests.cs feat(headless): establish portable Linux host boundary 2026-07-27 01:10:45 +02:00
HeadlessEntryPointTests.cs wip: Campaign LA LA2 probe mode + idle policy — INCOMPLETE, stopped mid-task 2026-08-14 16:33:00 +02:00
HeadlessPathSetTests.cs feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00
HeadlessPluginSessionTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
HeadlessProcessContentOwnerTests.cs test(headless): enforce 30-root K4 endurance 2026-07-27 11:02:44 +02:00
HeadlessProcessResourceEnvelopeTests.cs test: replace campaign labels with behavior names 2026-08-18 12:25:00 +02:00
HeadlessProcessSchedulerTests.cs fix(headless): #368 — one dedicated update thread owns the session lifecycle; the scheduler loop no longer migrates across Task.Delay resumptions 2026-08-10 18:21:35 +02:00
HeadlessSessionEventRouteRetryPendingTests.cs docs: Campaign LA — pinned launch-contract schema COMMITTED into plan LA1 2026-08-14 16:04:32 +02:00
HeadlessSessionHostTests.cs fix(overhaul): integrate reviewed debt-free retirement #475 2026-09-05 11:05:07 +02:00
HeadlessSessionIsolationTests.cs fix(runtime): give the no-window host a post-merge canonical cell commit (D1, AD-60/AD-64, AP-146/#320) 2026-08-05 22:36:31 +02:00
HeadlessStaticStateAuditTests.cs fix(chat): consolidated-review fixes — retail /help Detail extraction, seam wiring test 2026-08-10 16:22:36 +02:00
LauncherHeadlessCommandLineContractTests.cs fix(tests): the launcher/headless command-line contract needs executable stubs on Linux 2026-08-19 21:53:19 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
SessionConfigurationSharedFixtureTests.cs feat(launcher): stabilize prepared content updates 2026-08-25 19:17:13 +02:00