itl_expr_cli tutorial
This tutorial shows how to run ITF1788 .itl files with the interval runner,
select operations, and read its JSON report. The runner is reached as
floating-conformance --backend itl; below, itl abbreviates that command.
Quick start
just conformance build interval
_build/conformance/itl/native/release/build/itl-conformance.exe --backend itl
With no path the runner executes testdata/interval/smoke.itl and prints one
JSON object such as
{"schemaVersion":1,"runner":"itl-expression-interpreter","totalCases":…,"executableCases":…,"passedCases":…,"failedCases":0,…}
Everyday tasks
Run files
itl .tmp/interval/itf1788/libieeep1788_tests_set.itl
itl a.itl b.itl
Paths must be files; they are read in the given order.
Select operations
itl --operation add --operation sub libieeep1788_tests_elem.itl
Only cases whose operation is one of the listed names are executed and counted.
Make unsupported operations fail
itl --strict-supported --operation sqrt libieeep1788_tests_elem.itl
Without the flag, unsupported cases are reported in unsupportedIds but do
not change the exit status; diagnostic cases always do.
Going further
just conformance run intervalruns the phases listed intestdata/interval/interpreter_stages.json(files and operations per phase); add--strict-supportedto forward strict mode to every phase.- itl_expr tutorial explains the cases and the pass rule.
Common pitfalls
- No
--jsonoption. The output is always JSON; passing--jsonis an unknown option (exit2). - No sharding. ITL files are small; the tooling parallelizes by phase.
- All parse diagnostics are printed as
PATH: MESSAGE, and the run stops.