OXYGENHUB
◆ perf-6 retro-remote-debug-controller / conformance history
..
conftest.py …
README.md …
test_conformance.py …

Conformance suite

pytest tests (15 of them) that assert an emulator correctly implements the control contract (../SPEC.md, 0.3.x). Point them at any emulator — the reference x16emu, FAB, the Neo6502, the PC-FX (Mednafen) fork — and they check the same surface. Tests gated above the emulator's advertised contract skip automatically, so a 0.1-only backend still passes. Platform-agnostic: framebuffer dimensions come from the PPM header, addresses use $0000, and bank is exercised without requiring the platform to have banking.

Run

Attach to an already-running emulator:

RRDC_PORT=8080 pytest -v

Or let the suite launch one ({port} is substituted into the command):

RRDC_EMU_CMD="SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy \
    /path/to/x16emu -rom rom.bin -warp -controlport {port}" \
RRDC_PORT=8391 pytest -v

If nothing is listening and no RRDC_EMU_CMD is set, the tests skip (a bare pytest in CI without an emulator is a skip, not a failure).

What it checks

Environment

VarDefaultMeaning
RRDC_PORT8080control port to attach to / launch on
RRDC_EMU_CMD—shell command to launch an emulator ({port} substituted)
RRDC_BOOT_TIMEOUT20seconds to wait for /status

Requires pytest. Nothing else — the client is stdlib-only (Pillow is optional and unused here).