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