Testing
The make targets, Swift tests, and the real-worker test.
Make targets
| Command | What it runs |
|---|---|
make test-engine | The original 17 engine regression tests (engine/). |
make test-worker | The worker, protocol, packaging-tool and CLI file-safety tests under tests/. |
make verify-fixtures | scripts/: audits every reference file and repairs the two defective rails in both tolerance modes. |
make verify-hashes | scripts/: checks the immutable fixture hashes. |
make verify | All four of the above. |
make test-app | swift test --package-path app. |
Pass PYTHON= to use a virtual environment. The default is python3.
Run make test-engine and make verify-fixtures before and after any engine change. The original fixtures and golden files are immutable inputs: never change them to make a test pass.
Worker self-test
python engine/worker.py --self-testThis exercises the real geometry dependencies, including Shapely constrained triangulation.
Swift tests
swift test --package-path appThese cover the protocol, queue, cancellation, and safe-export logic. They run on macOS only.
The real-worker test
One Swift test, testRealWorkerRepairsDefectiveRailFromDefaultTemporaryStore, drives the actual Python worker instead of a fake.
In a plain
swift testrun it is skipped unlessZUDO_WORKER_PYTHONpoints to a Python that hasengine/installed. A plain run reports it as skipped, and that is not a pass.requirements. txt In the packaging build it is mandatory.
scripts/setsbuild- macos. sh ZUDO_WORKER_PYTHONto its own hash-locked build venv, so the test runs there and must pass. A packaging run is only valid evidence when its log shows this test passed and was not skipped.
To run it during development:
ZUDO_WORKER_PYTHON=.venv/bin/python swift test --package-path app --filter testRealWorkerThe Swift suite also contains full-scale collision tests that fill a folder with 10,000 names. They assert behavior, not timing.
Tip
Run this test whenever you touch path handling or the worker protocol. A real defect (symlinked job directories) slipped past fake-worker tests and was only caught by running the real app; see Verification status.
What the tests do not prove
Passing tests do not show that a repaired mesh is printable, fits, or is strong. Real fixtures and real intersection validation are required: mocks and topology-only checks are not evidence of geometry correctness.