Skip to content

Module c64_test_harness missing when running UCI test scripts #90

Closed

Description

@Armitage64

After building with 'make BACKEND=uci', running any of the UCI test scripts results in the following error:

$ python3 tools/uci/test_http_local.py

Traceback (most recent call last):
File "/Users/armitage/git/c64-https/tools/uci/test_http_local.py", line 29, in
from c64_test_harness import Labels
ModuleNotFoundError: No module named 'c64_test_harness'

Activity

  1. JC-000 commented on Aug 14, 2026

    @JC-000
    Owner

    Thanks for the report — this is a gap in our docs rather than anything wrong with your build.

    c64_test_harness is a separate public package, not vendored into this repo. requirements.txt here carries only cryptography, which is why nothing hinted the dependency was missing:

    git clone https://github.com/JC-000/c64-test-harness    # as a sibling of c64-https
    pip install -e ../c64-test-harness

    From your traceback that would be /Users/armitage/git/c64-test-harness, alongside /Users/armitage/git/c64-https.

    One detail worth stating explicitly, since you invoked plain python3: install it into the same interpreter you run the scripts with. If python3 resolves to a virtualenv but pip doesn't (or vice versa), you get this identical ModuleNotFoundError after an install that looked like it succeeded. python3 -m pip install -e ../c64-test-harness avoids that by construction.

    Why you hit this

    The instruction did exist, at README.md:155 — but inside the general VICE testing section. The "Ultimate 64 Elite Hardware Tests" section goes straight from make BACKEND=uci to invoking tools/uci/ scripts and never mentions it, so following the UCI path meant never crossing the line that would have told you. Your report is the second in an hour of that exact shape (the other was ip65-c64.bin missing on a fresh clone), so it is a pattern worth fixing rather than a one-off.

    PR #91 adds the prerequisite to both UCI sections — README and CLAUDE.md — including the traceback text so searching for the error finds the fix, and the interpreter caveat above.

    Once it's installed, tools/uci/ scripts need a reachable Ultimate 64 Elite; set U64_HOST if yours isn't at the 192.168.1.81 default. If you're only after the emulator suites, those need no hardware — python3 tools/run_all_tests.py covers 11 suites under VICE.

  2. added a commit that references this issue on Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions