.. _cm_nabu: cm nabu 工具 ====================== .. toctree:: :maxdepth: 1 cm nabu 工具概述 :::::::::::::::: cm nabu 工具是用于研发服务器远程创建 case-manager regression task 的命令行工具,该工具使得用户可以在研发服务器 上远程调用 case-manager 的机器资源来执行 regressioncases,从而减少研发服务器的负载并减少了 cases 执行等待时间(理论上 case-manager 服务器性能更加强大,可以更快的执行完所有 cases)。在创建完成后,用户可以选择在 cmd 中阻塞等待 cases 的执行结果,也可以关闭终端,等待 cases 执行,case-manager 执行完 cases 后,将以邮件的形式通知使用者,此时用户可以 登录 case-manager 网站 regression 模块查看本次执行结果。 cm nabu 工具基础使用教程 ::::::::::::::::::::::::: cm nabu 工具最简单的使用方式就是执行 ``cm nabu`` 触发 PPA cases task 的创建。 .. code:: bash # 在任意目录下,调用 cm nabu 创建一个 PPA_testcase task cm nabu 此时,终端将给出 cm nabu 执行状态输出,并阻塞等待结果返回,效果图如下: .. image:: ../images/cm_nabu_create.png 和 nabu 一样,cm nabu 也可以指定 case 执行,但相对于 cm nabu 来说,由于 cm nabu 不一定在用户本地的 PPA_testcase 目录中执行, 故其无法使用目录补全来补全 case,且由于 PPA_testcase 可能位于用户本地也可能位于 PPA_testcase 仓库,即对于 cm nabu 来说,case 的来源不固定,可能用户会上传当前目录的 path,也可能使用的是 PPA_testcase 仓库的 case, 因此 cm nabu 提供一个 --local 参数指定 case 的来源。 .. code:: bash # 进入用户本地的 PPA_testcases 目录中 cd PPA_testcases # 执行所有 case cm nabu # 仅执行 case1,case2 cm nabu case1 case2 cm nabu 进阶使用教程 ::::::::::::::::::::::::: cm nabu 工具的 help 文档如下: .. code:: bash # todo:added cm nabu --help output [root@dev02 Thor]$ tools lec --help Usage: tools lec [OPTIONS] REVISED GOLDEN -\-compare ------------------------ 指定执行 case 时是否输出 error case 的详细信息. :: nabu --compare 效果如图: .. image:: ../images/compare_feature.png -\-config ------------------------ 更改 nabu 功能模块参数的指令, 其使用较为多变复杂, 并可搭配 :ref:`配置文件 ` 使用, 进阶使用请参考 :ref:`-\\\\-config 配置表 `. -\-config 是一个可重复使用的参数, 用于更改多个配置, 输入格式为. :: nabu --config [mod.attr=value] # eg: 打开 lec 检查并指定 lec rpc 调用的端口为 12345 nabu --config case.ENABLE_LEC=on --config lec.PORT=12345 -\-tag ------------------------ 使用 tag 去更改此次 nabu 执行的 tcl 脚本. 对于任意 case 来说, nabu 执行此 case 时, 会先生成一个 temp_xxxx.tcl 文件, 其是 case 本身的 tcl 文件的一个 副本, 并对这个 tcl 文件做一系列的处理, 包括但不限于处理相对路径 / 更改 cmd 参数 / 增删 cmd 等功能, 其实现就是 依托于 tag 完成, 如: :: # 为 synth 命令增加 --timing_level3 参数 nabu --tag timing_level3 # 清除所有的 opt 指令(netlist_opt / resynth) nabu --tag non_opt 更加详细的使用请参考 :ref:`tag 使用详解 `. -\-debug ------------------------ 指定以 debug 模式执行 nabu, 一般用于调试. :: nabu --debug -\-repeat ------------------------ 指定 cases 重复执行次数, 以预防 RainaSynth 输出偶现 bug 问题. :: # 指定 case 重复执行 5 次 nabu --repeat 5 -\-timeout ------------------------ 指定 cases 执行的超时时间, 指定后, 单个 case 执行超时则直接结束运行并给出报错. 该参数可以指定单位, 目前 支持以下四个单位: * 秒(s), 当输入不带单位时, 默认为秒 * 分(m) * 时(h) * 天(d) :: # 指定超时时间为 1000 秒 nabu --timeout 1000 nabu --timeout 1000s # 指定超时时间为 90 分钟 nabu --timeout 90m # 指定超时时间为 2 小时 nabu --timeout 2h