テスト
make ターゲット、Swift のテスト、実ワーカーテスト。
make ターゲット
| コマンド | 実行内容 |
|---|---|
make test-engine | 元からある 17 個のエンジン回帰テスト(engine/)。 |
make test-worker | tests/ 以下のワーカー、プロトコル、パッケージングツール、CLI のファイル安全性のテスト。 |
make verify-fixtures | scripts/:すべての参照ファイルを監査し、欠陥のある 2 本のレールを両方の許容誤差モードで修復します。 |
make verify-hashes | scripts/:不変のフィクスチャのハッシュを確認します。 |
make verify | 上記 4 つすべて。 |
make test-app | swift test --package-path app。 |
仮想環境を使うには PYTHON= を渡します。デフォルトは python3 です。
エンジンを変更するときは、その前後に make test-engine と make verify-fixtures を実行してください。元のフィクスチャとゴールデンファイルは不変の入力です。テストを通すためにこれらを変更してはいけません。
ワーカーのセルフテスト
python engine/worker.py --self-testShapely の制約付き三角形分割を含め、実際のジオメトリ依存関係を動かして確認します。
Swift のテスト
swift test --package-path appプロトコル、キュー、キャンセル、安全な書き出しのロジックをカバーします。macOS でのみ実行できます。
実ワーカーテスト
Swift のテストのうち testRealWorkerRepairsDefectiveRailFromDefaultTemporaryStore だけは、フェイクではなく実際の Python ワーカーを動かします。
通常の
swift testでは、ZUDO_WORKER_PYTHONがengine/をインストール済みの Python を指していない限りスキップされます。スキップは合格ではありません。requirements. txt パッケージングビルドでは必須です。
scripts/はbuild- macos. sh ZUDO_WORKER_PYTHONをビルド用のハッシュ固定 venv に設定するため、このテストは必ず実行され、合格する必要があります。パッケージングの実行結果を証拠として扱えるのは、ログでこのテストがスキップされずに合格している場合だけです。
開発中に実行するには次のようにします。
ZUDO_WORKER_PYTHON=.venv/bin/python swift test --package-path app --filter testRealWorkerSwift のテストには、フォルダーを 10,000 個の名前で埋める実寸の衝突テストも含まれます。検証するのは動作で、所要時間ではありません。
Tip
パスの扱いやワーカープロトコルに手を入れたときは、必ずこのテストを実行してください。実際の不具合(シンボリックリンクされたジョブディレクトリ)がフェイクワーカーのテストをすり抜け、実際のアプリを動かして初めて見つかったことがあります。検証状況を参照してください。
テストで証明できないこと
テストが通っても、修復したメッシュが印刷可能であること、寸法が合うこと、十分な強度があることは示せません。実際のフィクスチャと実際の交差検証が必要です。モックやトポロジーだけのチェックは、ジオメトリが正しいことの証拠にはなりません。