cli/gda_expr_cli API
cli/gda_expr_cli は General Decimal Arithmetic の .decTest コーパス用のコマンドラインランナーです。ファイルを読み込み、frontend/gda_expr で構文解析し、decimal_gda に対して実行し、テキストまたは JSON の要約を出力します。通常は cli ディスパッチャを通じて floating-conformance --backend gda … として呼び出されます。チュートリアルと設計ページを参照してください。
run
run(arguments) は 1 回の呼び出しを実行し、終了コードを返します。
pub fn run(Array[String]) -> Int
arguments[0] はプログラム名で、無視されます。オプション:
| オプション | 意味 |
|---|---|
--json | テキストの代わりに 1 つの JSON オブジェクトを出力する |
--shard-count N、--shard-index I(= 形式も可) | N 個中のシャード I を実行する(デフォルトは 1、0) |
--strict-supported | 選択された行がサポートされないかレガシーである場合にも失敗とする |
--cases SPEC, --cases=SPEC | 行フィルタ:カンマ区切りの id または first..last 形式の範囲(RunOptions::new を参照) |
--help, -h | 使用法の行を出力し、2 を返す |
PATH … | .decTest ファイルまたはディレクトリ(.decTest で終わる直下のエントリ)。デフォルトは testdata/decimal/smoke.decTest |
- で始まるその他の引数はエラー unknown option: … になります。ファイルはソートされ、順に構文解析され(ファイルの最初の構文解析診断は source:line:1: message として出力され、実行はそこで終了します)、まとめて実行されます。そのため、行の序数とシャードはすべてのファイルにまたがります。
テキスト出力には、件数(cases、selected cases、executable cases、passed cases、failed cases、skipped cases)、シャード、および失敗した各行について 1 行の failed ID: MESSAGE が並びます。JSON 出力には、キー totalCases、supportedCases(実行可能な行)、diagnosticCases、legacyConditionCases、unsupportedCases、および executableCases、passedCases、failedCases、skippedCases、failedIds、shardCount、shardIndex を持つ execution オブジェクトがあります。
戻り値:使用法・ファイル・構文解析のエラーでは 2。行が失敗した場合、または --strict-supported 指定時にレガシーかサポートされない行が選択された場合は 1。それ以外は 0。
///|
test "gda runner usage errors" {
inspect(@gda_expr_cli.run(["gda", "--frobnicate"]), content="2")
inspect(@gda_expr_cli.run(["gda", "--shard-count", "0"]), content="2")
}
公開インターフェース全体
// Generated using `moon info`, DON'T EDIT IT
package "Luna-Flow/floating/cli/gda_expr_cli"
// Values
pub fn run(Array[String]) -> Int
// Errors
// Types and methods
// Type aliases
// Traits