查看源代码 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_args
,ct_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
另请参阅
有关启动标志的信息,请参阅用户指南中的 运行测试和分析结果 部分。