1.4 KiB
Clean Install Test (clean_install_test_20260603)
Opt-in pytest test that clones the Manual Slop repo to a temp dir, runs uv sync, launches sloppy.py --enable-test-hooks, and verifies the Hook API responds. Catches "works on my machine" failures by exercising the full install-and-launch path in an isolated environment.
Goal
Add a single integration test file tests/test_clean_install.py that, when opted in via RUN_CLEAN_INSTALL_TEST=1, performs a full clean install + launch verification of Manual Slop. Skipped by default to avoid breaking CI for users without network access to the Gitea clone URL.
Plan Source
This track executes the plan at docs/superpowers/plans/2026-06-02-clean-install-test.md and references the spec at docs/superpowers/specs/2026-06-02-clean-install-test-design.md.
Files Touched
| File | Action |
|---|---|
pyproject.toml |
Modify: add clean_install marker |
tests/test_clean_install.py |
Create: opt-in clone-and-verify test |
Deviation from Plan
The plan uses requests library, but requests is not a project dependency. Per conductor/tech-stack.md "Dependency Minimalism" rule and the existing pattern in src/mcp_client.py web tools (which use urllib.request + html.parser from stdlib), the test will use urllib.request from Python stdlib instead. This avoids adding a new external dependency for a single opt-in test.