itl_expr_cli チュートリアル

このチュートリアルでは、区間ランナーで ITF1788 の .itl ファイルを実行し、演算を選択し、JSON レポートを読む方法を説明します。ランナーは floating-conformance --backend itl として呼び出します。以下では itl でこのコマンドを略記します。

クイックスタート

just conformance build interval
_build/conformance/itl/native/release/build/itl-conformance.exe --backend itl

パスを指定しない場合、ランナーは testdata/interval/smoke.itl を実行し、次のような JSON オブジェクトを 1 つ出力します。

{"schemaVersion":1,"runner":"itl-expression-interpreter","totalCases":…,"executableCases":…,"passedCases":…,"failedCases":0,…}

日常的なタスク

ファイルを実行する

itl .tmp/interval/itf1788/libieeep1788_tests_set.itl
itl a.itl b.itl

パスはファイルでなければならず、指定された順に読み込まれます。

演算を選択する

itl --operation add --operation sub libieeep1788_tests_elem.itl

演算が列挙された名前のいずれかであるケースだけが実行され、集計されます。

サポートされない演算で失敗させる

itl --strict-supported --operation sqrt libieeep1788_tests_elem.itl

このフラグがない場合、サポートされないケースは unsupportedIds に報告されますが、終了ステータスは変わりません。診断ケースは常に終了ステータスに影響します。

さらに進んで

  • just conformance run interval は testdata/interval/interpreter_stages.json に列挙されたフェーズ(フェーズごとのファイルと演算)を実行します。--strict-supported を付けると、すべてのフェーズに strict モードが渡されます。
  • ケースと合格規則については itl_expr チュートリアル で説明しています。

よくある落とし穴

  • --json オプションはありません。 出力は常に JSON です。--json を渡すと未知のオプションとなります(終了コード 2)。
  • シャード分割はありません。 ITL ファイルは小さいため、ツールはフェーズ単位で並列化します。
  • 構文解析の診断はすべて PATH: MESSAGE の形式で出力され、実行は停止します。

次のステップ