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