dosmud

Testing and Build Validation

This page is the canonical source for build/test command workflow.

Native local checks

Run from project root:

make build
make test
make test-run

Purpose:

DOS/Open Watcom validation path

Use PowerShell-driven DOS prep from Linux host shell to build and sync the DOS tree:

make prepare-dos

Start DOS and launch the existing DOS executable without rebuilding or refreshing the tree:

make run-dos

make run-dos expects a previously prepared DOS tree. Run make prepare-dos first if the mirrored DOS files or executable are missing.

Deterministic DOS validation:

make prepare-dos MODE=TEST_MODE

Combined cross-path checks

When changing build flow/tooling or other high-risk runtime behavior:

make all-build
make all-test

These targets intentionally exercise DOS prep/invocation and native GCC flow together.

Environment and path model

In prepare-dos.local.ps1:

Build artifacts

Manual gameplay verification checklist

  1. Start program, confirm initial tick [T:0].
  2. Enter help; tick remains unchanged. Enter help craft (or another topic); tick remains unchanged and a single-topic line prints.
  3. Enter invalid command (for example xyz); tick remains unchanged.
  4. Enter look; tick remains unchanged.
  5. Enter wait; tick increments by exactly 1.
  6. Enter look, then move <listed-direction>; room changes and tick increments by 1.
  7. Enter quit; process exits cleanly.
  8. Bandit hand-over (optional): from a room where a bandit encounter triggers with at least one bag item, enter 2, then give <item> matching something you carry; the bandit should leave and the item should be removed.