zudo-stl-fix
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

テスト

make ターゲット、Swift のテスト、実ワーカーテスト。

make ターゲット

コマンド実行内容
make test-engine元からある 17 個のエンジン回帰テスト(engine/test_stl_doctor.py)。
make test-workertests/ 以下のワーカー、プロトコル、パッケージングツール、CLI のファイル安全性のテスト。
make verify-fixturesscripts/verify_fixtures.py --repair:すべての参照ファイルを監査し、欠陥のある 2 本のレールを両方の許容誤差モードで修復します。
make verify-hashesscripts/verify_fixtures.py --hashes-only:不変のフィクスチャのハッシュを確認します。
make verify上記 4 つすべて。
make test-appswift test --package-path app。

仮想環境を使うには PYTHON=.venv/bin/python を渡します。デフォルトは python3 です。

エンジンを変更するときは、その前後に make test-engine と make verify-fixtures を実行してください。元のフィクスチャとゴールデンファイルは不変の入力です。テストを通すためにこれらを変更してはいけません。

ワーカーのセルフテスト

python engine/worker.py --self-test

Shapely の制約付き三角形分割を含め、実際のジオメトリ依存関係を動かして確認します。

Swift のテスト

swift test --package-path app

プロトコル、キュー、キャンセル、安全な書き出しのロジックをカバーします。macOS でのみ実行できます。

実ワーカーテスト

Swift のテストのうち testRealWorkerRepairsDefectiveRailFromDefaultTemporaryStore だけは、フェイクではなく実際の Python ワーカーを動かします。

  • 通常の swift test では、ZUDO_WORKER_PYTHON が engine/requirements.txt をインストール済みの Python を指していない限りスキップされます。スキップは合格ではありません。

  • パッケージングビルドでは必須です。 scripts/build-macos.sh は ZUDO_WORKER_PYTHON をビルド用のハッシュ固定 venv に設定するため、このテストは必ず実行され、合格する必要があります。パッケージングの実行結果を証拠として扱えるのは、ログでこのテストがスキップされずに合格している場合だけです。

開発中に実行するには次のようにします。

ZUDO_WORKER_PYTHON=.venv/bin/python swift test --package-path app --filter testRealWorker

Swift のテストには、フォルダーを 10,000 個の名前で埋める実寸の衝突テストも含まれます。検証するのは動作で、所要時間ではありません。

Tip

パスの扱いやワーカープロトコルに手を入れたときは、必ずこのテストを実行してください。実際の不具合(シンボリックリンクされたジョブディレクトリ)がフェイクワーカーのテストをすり抜け、実際のアプリを動かして初めて見つかったことがあります。検証状況を参照してください。

テストで証明できないこと

テストが通っても、修復したメッシュが印刷可能であること、寸法が合うこと、十分な強度があることは示せません。実際のフィクスチャと実際の交差検証が必要です。モックやトポロジーだけのチェックは、ジオメトリが正しいことの証拠にはなりません。

Revision History

Takeshi Takatsudo作成: 2026-10-16T13:25:42+09:00更新: 2026-11-08T00:43:10+09:00