cli チュートリアル
このチュートリアルでは、floating-conformance 実行ファイルをビルドし、それを通して 4 つの適合性ランナーを実行する方法を説明します。直接実行することも、コーパス全体をダウンロードして実行計画を立てる just conformance ツールを通じて実行することもできます。
クイックスタート
この実行ファイルは native 専用です。リポジトリのルートでビルドし、使用法の行を表示します。
sh tools/run_moon_clean_exec.sh run --release --target native src/cli -- --help
usage: floating-conformance --backend <gda|testfloat|mpfr|itl> [backend options]
コミット済みの GDA スモークファイル(gda ランナーの既定パス)を実行します。
sh tools/run_moon_clean_exec.sh run --release --target native src/cli -- --backend gda
ランナーは要約を表示し、実行可能な行がすべて合格した場合はプロセスが 0 で終了します。
日常的なタスク
バックエンドを選ぶ
ディスパッチャ自身のオプションより後ろはすべてランナーに渡されます。
floating-conformance --backend gda --json testdata/decimal/smoke.decTest
floating-conformance --backend itl testdata/interval/smoke.itl
floating-conformance --backend mpfr --json testdata/bin_float/mpfr-4.2.2-elementary.txt
floating-conformance --backend testfloat --function f64_mul --rounding rnear_even vectors.tv
(floating-conformance はビルドされた実行ファイルを表します。例:_build/conformance/gda/native/release/build/gda-conformance.exe。)
直接呼び出す代わりにツールを使う
コーパス全体に対しては、tools/conformance.py に実行ファイルのビルド、固定されたデータの取得、フェーズの計画、シャードの並列実行を任せます。
just conformance build decimal_gda
just conformance smoke binary
just conformance run interval
just gate decimal_gda 8
終了コードを読む
0 は成功、1 は失敗したケースがある(または strict モードでサポートされないケースがある)、2 は使用法・ファイル・構文解析のエラーを意味します。スクリプトは終了コードを確認し、--json を指定した場合は標準出力の単一の JSON オブジェクトを解析してください。
さらに進んで
- 各ランナーには固有のオプションがあります。gda_expr_cli、itl_expr_cli、mpfr_expr_cli、testfloat_expr_cli の各チュートリアルを参照してください。
- プロセスを起動せずに MoonBit コード内でコーパスを実行するには、フロントエンドを直接呼び出します。例:gda_expr。
よくある落とし穴
--helpはディスパッチャのものです。--backend gda --helpはディスパッチャの使用法を表示して0で終了し、ランナーのオプションは表示しません。- 既定パスは相対パスです。 ランナーの既定は
testdata/以下のファイルなので、リポジトリのルートから実行してください。 - 1 回の呼び出しにつき 1 つのバックエンド。
--backendは 1 回しか指定できません。