diff --git a/CLAUDE.md b/CLAUDE.md index 6d78768..1f400f4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -446,7 +446,23 @@ post-W1) ip65 layout: Scripts under `tools/uci/` require a U64E (default 192.168.1.81, overridable via the `U64_HOST` environment variable) and use -`DeviceLock` + `enable_uci`/`disable_uci`: +`DeviceLock` + `enable_uci`/`disable_uci`. + +They also require the `c64-test-harness` package, which is a **separate +public repo, not vendored here** — `requirements.txt` lists only +`cryptography`. Install it into the same interpreter you run the scripts +with: + + git clone https://github.com/JC-000/c64-test-harness # sibling dir + pip install -e ../c64-test-harness + +Without it every script here dies at import with `ModuleNotFoundError: +No module named 'c64_test_harness'` (issue #90). The instruction already +existed under the VICE testing section of README.md, but nothing on the +UCI path mentioned it, so anyone who built with `make BACKEND=uci` and +went straight to these scripts never crossed it. + +The scripts: - `boot_check.py` — boot the PRG and assert the backend banner (`BACKEND=uci|ip65`, default uci), the diff --git a/README.md b/README.md index a8de0f6..a8e0946 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,15 @@ The setup script creates `br-c64` with `tap-c64-0`/`tap-c64-1`, assigns `10.0.65 Scripts under `tools/uci/` drive a real Ultimate 64 Elite over the network (default `192.168.1.81`, overridable via the `U64_HOST` environment variable), exercising the **UCI backend only** (built with `make BACKEND=uci`). They DMA the PRG into RAM, run the boot, and snapshot UCI/TLS state on completion or timeout. These scripts do not run under VICE. +**Prerequisite — `c64-test-harness` (same as the VICE suites above).** It is a separate public package, not vendored here; `requirements.txt` carries only `cryptography`. Without it every script in this directory dies at import with `ModuleNotFoundError: No module named 'c64_test_harness'`: + +```bash +git clone https://github.com/JC-000/c64-test-harness # sibling of this repo +pip install -e ../c64-test-harness +``` + +Install it into the **same interpreter you run the scripts with** — if you use a virtualenv, `pip` and `python3` must both be that venv's, or the import fails despite the install appearing to succeed. + ```bash python3 tools/uci/boot_check.py # UCI firmware detection python3 tools/uci/phase2_check.py # DHCP + local IP readback