查看源代码 ct_run

用于从操作系统命令行启动 Common Test 的程序。

描述

ct_run 程序与 Erlang/OTP 和 Common Test 应用程序一起自动安装(更多信息,请参阅用户指南中的 安装 部分)。该程序接受不同的启动标志。一些标志触发 ct_run 启动 Common Test 并将数据传递给它。一些标志启动一个 Erlang 节点,该节点已准备好以特定模式运行 Common Test

对应于 ct_run 程序的接口函数 ct:run_test/1 用于从 Erlang shell(或 Erlang 程序)启动 Common Test。有关详细信息,请参阅 ct 手册页。

ct_run 还接受 Erlang 模拟器标志。当 ct_run 调用 erl 启动 Erlang 节点时使用这些标志(这使得可以将目录添加到代码服务器路径、更改节点上的 cookie、启动更多应用程序等)。

使用可选标志 -erl_argsct_run 命令行上的选项可以分为两组

  • 一组是 Common Test 要处理的选项(位于 -erl_args 之前)。
  • 一组是 Common Test 要忽略并直接传递给模拟器的选项(位于 -erl_args 之后)。

位于 -erl_args 之前且 Common Test 无法识别的选项也会原封不动地传递给模拟器。通过 -erl_args,用户可以在 ct_run 命令行上指定具有相同名称但目标不同的标志。

如果在选项的 Common Test 组(位于 -erl_args 之前)中指定了标志 -pa-pz,相对目录将转换为绝对目录,并通过 Common Test 重新插入到代码路径中。这是为了避免当 Common Test 在测试运行期间更改工作目录时加载用户模块出现问题。但是,Common Test 会忽略命令行上 -erl_args 后面的标志 -pa-pz。这些目录将正常添加到代码路径中(即,按指定的格式)。

退出状态在程序结束之前设置。值 0 表示测试结果成功,1 表示一个或多个测试用例失败或自动跳过,2 表示测试执行失败。

如果使用选项 -help 调用 ct_run,它会将所有有效的启动标志打印到 stdout

从命令行运行测试

 ct_run -dir TestDir1 TestDir2 .. TestDirN |
  [-dir TestDir] -suite Suite1 Suite2 .. SuiteN
  [-group Groups1 Groups2 .. GroupsN] [-case Case1 Case2 .. CaseN]
  [-step [config | keep_inactive]]
  [-config ConfigFile1 ConfigFile2 .. ConfigFileN]
  [-userconfig CallbackModule1 ConfigString1 and CallbackModule2
   ConfigString2 and .. CallbackModuleN ConfigStringN]
  [-decrypt_key Key] | [-decrypt_file KeyFile]
  [-label Label]
  [-logdir LogDir]
  [-logopts LogOpts]
  [-verbosity GenVLevel | [Category1 VLevel1 and
   Category2 VLevel2 and .. CategoryN VLevelN]]
  [-silent_connections [ConnType1 ConnType2 .. ConnTypeN]]
  [-stylesheet CSSFile]
  [-cover CoverCfgFile]
  [-cover_stop Bool]
  [-event_handler EvHandler1 EvHandler2 .. EvHandlerN] |
  [-event_handler_init EvHandler1 InitArg1 and
   EvHandler2 InitArg2 and .. EvHandlerN InitArgN]
  [-include InclDir1 InclDir2 .. InclDirN]
  [-no_auto_compile]
  [-abort_if_missing_suites]
  [-multiply_timetraps Multiplier]
  [-scale_timetraps]
  [-create_priv_dir auto_per_run | auto_per_tc | manual_per_tc]
  [-repeat N] |
  [-duration HHMMSS [-force_stop [skip_rest]]] |
  [-until [YYMoMoDD]HHMMSS [-force_stop [skip_rest]]]
  [-basic_html]
  [-no_esc_chars]
  [-keep_logs all | NLogs]
  [-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and ..
   CTHModuleN CTHOptsN]
  [-ct_hooks_order test | config]
  [-exit_status ignore_config]
  [-help]

使用测试规范运行测试

 ct_run -spec TestSpec1 TestSpec2 .. TestSpecN
  [-join_specs]
  [-config ConfigFile1 ConfigFile2 .. ConfigFileN]
  [-userconfig CallbackModule1 ConfigString1 and CallbackModule2
   ConfigString2 and .. and CallbackModuleN ConfigStringN]
  [-decrypt_key Key] | [-decrypt_file KeyFile]
  [-label Label]
  [-logdir LogDir]
  [-logopts LogOpts]
  [-verbosity GenVLevel | [Category1 VLevel1 and
   Category2 VLevel2 and .. CategoryN VLevelN]]
  [-allow_user_terms]
  [-silent_connections [ConnType1 ConnType2 .. ConnTypeN]]
  [-stylesheet CSSFile]
  [-cover CoverCfgFile]
  [-cover_stop Bool]
  [-event_handler EvHandler1 EvHandler2 .. EvHandlerN] |
  [-event_handler_init EvHandler1 InitArg1 and
   EvHandler2 InitArg2 and .. EvHandlerN InitArgN]
  [-include InclDir1 InclDir2 .. InclDirN]
  [-no_auto_compile]
  [-abort_if_missing_suites]
  [-multiply_timetraps Multiplier]
  [-scale_timetraps]
  [-create_priv_dir auto_per_run | auto_per_tc | manual_per_tc]
  [-repeat N] |
  [-duration HHMMSS [-force_stop [skip_rest]]] |
  [-until [YYMoMoDD]HHMMSS [-force_stop [skip_rest]]]
  [-basic_html]
  [-no_esc_chars]
  [-keep_logs all | NLogs]
  [-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and ..
   CTHModuleN CTHOptsN]
  [-ct_hooks_order test | config]
  [-exit_status ignore_config]

刷新 HTML 索引文件

 ct_run -refresh_logs [-logdir LogDir] [-basic_html]
  [-keep_logs all | NLogs]

在交互模式下运行 Common Test

 ct_run -shell
  [-config ConfigFile1 ConfigFile2 ... ConfigFileN]
  [-userconfig CallbackModule1 ConfigString1 and CallbackModule2
   ConfigString2 and .. and CallbackModuleN ConfigStringN]
  [-decrypt_key Key] | [-decrypt_file KeyFile]

启动 Common Test 主节点

 ct_run -ctmaster

另请参阅

有关启动标志的信息,请参阅用户指南中的 运行测试和分析结果 部分。