ワンクリックで
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 職業分類に基づく
| 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 時)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 を予防。