بنقرة واحدة
run-tests
piper-plus の各言語ランタイムのテストを実行します。引数 python/rust/cs/go/js/cpp/all で対象を選択。未指定なら git diff から自動判定。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
piper-plus の各言語ランタイムのテストを実行します。引数 python/rust/cs/go/js/cpp/all で対象を選択。未指定なら git diff から自動判定。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Python canonical (`src/python_run/piper_plus/`, `src/python/piper_train/`, `src/python/g2p/piper_plus_g2p/`) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム + 2 docker image 範囲で fail-fast 検出する。PR
ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zh_en_loanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C# / WASM / C++ の 6 mirror + Python runtime mirror = 計 7 copy + 6 fixture mirror が byte-for-byte 一致しているかを確認。
PR 作成前の最終チェックリスト (lint/test/docs/CHANGELOG/未コミット確認)。/precheck の拡張版で、ドキュメント整合性も検証します。
推論パスの canonical Python (`export_onnx.py` / `vits/models.py:VitsModel.infer`) を変更した PR で、6 ランタイム (Python runtime / Rust / Go / C# / C++ / WASM) の inference path が追随しているかを git diff で確認。PR
piper-plus のコミットルール (CLAUDE.md 準拠) でステージ済みファイルをコミットします。--no-verify 禁止、HEREDOC、適切な prefix を強制。
コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。
| name | run-tests |
| description | piper-plus の各言語ランタイムのテストを実行します。引数 python/rust/cs/go/js/cpp/all で対象を選択。未指定なら git diff から自動判定。 |
| argument-hint | [python|rust|cs|go|js|cpp|all] |
| disable-model-invocation | true |
| allowed-tools | Bash(uv run *) Bash(cargo test *) Bash(dotnet test *) Bash(go test *) Bash(go vet *) Bash(node --test *) Bash(npm *) Bash(cmake *) Bash(ctest *) Bash(git diff *) |
各言語ランタイムのテストを CI と同じ条件でローカル実行します。
!git diff --name-only HEAD 2>/dev/null | head -20
$ARGUMENTS:
python → Python 全体rust → Rust workspacecs → .NET solutiongo → Go modulejs → JS/WASM (npm-package)cpp → C++ (cmake build + ctest)all → 上記すべて (順次、失敗しても次に進む)git diff HEAD の結果から判定 (複数該当ならそれら全部)cd src/python_run
uv run pytest tests/ -o addopts="" -v --tb=short
cd ../..
# G2P 単体テスト (もし対象なら)
cd src/python/g2p
uv run pytest -o addopts="" -v --tb=short
cd ../../..
注意:
--cov を -o addopts="" で上書き (pytest-cov が無い環境向け)-m "unit and not training and not benchmark" も可)cd src/rust
cargo test -p piper-plus --no-fail-fast
cargo test -p piper-plus --features naist-jdic --no-fail-fast
cd ../..
dotnet test src/csharp/PiperPlus.sln -c Release --nologo --verbosity minimal
cd src/go
go vet ./... ./phonemize/...
go test -race -count=1 ./... ./phonemize/...
cd ../..
cd src/wasm/openjtalk-web
npm run test:npm-package:all
cd ../../..
# Build がまだなら先にビルド
if [ ! -f build/CMakeCache.txt ]; then
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON
fi
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure
各ターゲット完了後、以下の形式で報告:
## テスト実行結果
| ランタイム | Pass | Fail | Skip | 時間 |
|----------|------|------|------|------|
| Python (pytest) | 212 | 0 | 20 | 22s |
| Rust (cargo test) | 145 | 0 | 0 | 1m |
| ... | ... | ... | ... | ... |
### 失敗詳細
(失敗があった場合のみ、最初の 3 件まで)
- `test_xxx` (ファイル:行): エラー要約
uv sync で依存をインストールcargo build で先にビルドを通すdotnet restore src/csharp/PiperPlus.sln を実行cd src/wasm/openjtalk-web && npm installcmake --build build --verbose でビルドエラーを再確認all 時)