cli/itl_expr_cli API

cli/itl_expr_cli 是 ITF1788 .itl 区间测试文件的命令行运行器。它用 frontend/itl_expr 解析这些文件,针对 ball_float 执行每个用例,并打印 JSON 报告。通常以 floating-conformance --backend itl … 的方式调用它。参见教程和设计页面。

run

run(arguments) 执行一次调用并返回退出码。

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

arguments[0] 是程序名,会被忽略。选项:

选项含义
--strict-supported当有任何用例不受支持时也判为失败
--operation NAME只保留该运算的用例;可重复指定(保留所列任一运算的用例)
PATH ….itl 文件,按给定顺序读取;默认为 testdata/interval/smoke.itl

其他任何以 - 开头的参数(包括本运行器不支持的 --json 和分片选项)都会产生错误 unknown option: …。路径均视为文件;目录不会被展开。若某个文件无法解析,每条诊断都以 PATH: MESSAGE 的形式打印,并结束本次运行。

输出始终是一个 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