Skip to content

feat(services): add fake-game binary for MVP testing#2

Open
Count-I wants to merge 1 commit into
mainfrom
feature/fake-game
Open

feat(services): add fake-game binary for MVP testing#2
Count-I wants to merge 1 commit into
mainfrom
feature/fake-game

Conversation

@Count-I
Copy link
Copy Markdown
Owner

@Count-I Count-I commented May 14, 2026

Summary

Standalone Rust crate en tools/fake-game/ (no es workspace member). Simula el proceso de Minecraft para validar el MVP sin necesidad de instalar un juego real.

Modes

  • fake-game (default) — 30s, exit 0 (sesión normal)
  • fake-game --crash — 3s, exit 1 (valida flujo GameCrashed)
  • fake-game --hang — infinito (valida watchdog timeout)
  • fake-game --fast — exit 0 inmediato (valida GameExited limpio)

ADR references

ADR-0009 (shell nunca ejecuta el juego directamente — solo ModpackManager lo hace via systemd-run)

Usage (D5 lo invocará así)

cargo build --manifest-path tools/fake-game/Cargo.toml --release
systemd-run --user --scope --unit=minecrarch-game@test.scope \
  tools/fake-game/target/release/fake-game --crash

Standalone Rust crate at tools/fake-game/ (not a workspace member).
Simulates the Minecraft process lifecycle for MVP validation without
requiring a real game install.

Modes:
  default    — 30s sleep, clean exit (exit 0)
  --crash    — 3s sleep, exit 1 (validates GameCrashed signal flow)
  --hang     — infinite sleep (validates watchdog timeout detection)
  --fast     — immediate clean exit (validates GameExited signal flow)

ModpackManager (D5) will launch this via:
  systemd-run --user --scope --unit=minecrarch-game@test.scope \
    tools/fake-game/target/release/fake-game [--crash|--hang]

Build: cargo build --manifest-path tools/fake-game/Cargo.toml --release

ADR-0009 (shell never execs game directly — only ModpackManager does,
via systemd-run)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant