cli/itl_expr_cli API

cli/itl_expr_cli は ITF1788 の .itl 区間テストファイル用のコマンドラインランナーです。frontend/itl_expr でファイルを構文解析し、すべてのケースを ball_float に対して実行し、JSON レポートを出力します。通常は floating-conformance --backend itl … として呼び出されます。チュートリアルと設計ページを参照してください。

run

run(arguments) は 1 回の呼び出しを実行し、終了コードを返します。

pub fn run(Array[String]) -> Int

arguments[0] はプログラム名で、無視されます。オプション:

オプション意味
--strict-supportedサポートされないケースがある場合にも失敗とする
--operation NAMEこの演算のケースだけを残す。繰り返し指定可能(列挙したいずれかの演算のケースが残る)
PATH ….itl ファイル。指定順に読み込まれる。デフォルトは testdata/interval/smoke.itl

- で始まるその他の引数(このランナーにはない --json やシャードオプションを含む)はエラー unknown option: … になります。パスはファイルであり、ディレクトリは展開されません。ファイルの構文解析に失敗した場合、すべての診断が PATH: MESSAGE として出力され、実行は終了します。

出力は常に 1 つの JSON オブジェクトで、キーは schemaVersion(1)、runner("itl-expression-interpreter")、totalCases、executableCases、passedCases、failedCases、unsupportedCases、diagnosticCases、failedIds、failedMessages(ID: MESSAGE)、unsupportedIds、diagnosticIds です。

戻り値:使用法・ファイル・構文解析のエラーでは 2。ケースが失敗した場合、ケースが診断ケースだった場合、または --strict-supported 指定時にケースがサポートされなかった場合は 1。それ以外は 0。ケースはデフォルトの精度 53 で実行されます。

///|
test "itl runner usage errors" {
  inspect(@itl_expr_cli.run(["itl", "--json"]), content="2")
  inspect(@itl_expr_cli.run(["itl", "--operation"]), content="2")
}

公開インターフェース全体

// Generated using `moon info`, DON'T EDIT IT
package "Luna-Flow/floating/cli/itl_expr_cli"

// Values
pub fn run(Array[String]) -> Int

// Errors

// Types and methods

// Type aliases

// Traits