cm nabu 工具
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 的创建。
# 在任意目录下,调用 cm nabu 创建一个 PPA_testcase task
cm nabu
此时,终端将给出 cm nabu 执行状态输出,并阻塞等待结果返回,效果图如下:
和 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 的来源。
# 进入用户本地的 PPA_testcases 目录中
cd PPA_testcases
# 执行所有 case
cm nabu
# 仅执行 case1,case2
cm nabu case1 case2
cm nabu 进阶使用教程
cm nabu 工具的 help 文档如下:
# todo:added cm nabu --help output
[root@dev02 Thor]$ tools lec --help
Usage: tools lec [OPTIONS] REVISED GOLDEN
--compare
指定执行 case 时是否输出 error case 的详细信息.
nabu --compare效果如图:
![]()
--config
更改 nabu 功能模块参数的指令, 其使用较为多变复杂, 并可搭配 配置文件 使用, 进阶使用请参考 --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更加详细的使用请参考 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