20072013 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The ct_run program Peter Andersson Peter Andersson 2010-04-01 PA2 ct_run.xml
ct_run Program used for starting Common Test from the OS command line.

The ct_run program is automatically installed with Erlang/OTP and Common Test (please see the Installation chapter in the Common Test User's Guide for more information). The program accepts a number of different start flags. Some flags trigger ct_run to start the Common Test application and pass on data to it. Some flags start an Erlang node prepared for running Common Test in a particular mode.

There is an interface function that corresponds to this program, called ct:run_test/1, for starting Common Test from the Erlang shell (or an Erlang program). Please see the ct man page for details.

ct_run also accepts Erlang emulator flags. These are used when ct_run calls erl to start the Erlang node (making it possible to e.g. add directories to the code server path, change the cookie on the node, start additional applications, etc).

With the optional flag:

-erl_args

it's possible to divide the options on the ct_run command line into two groups, one that Common Test should process (those preceding -erl_args), and one it should completely ignore and pass on directly to the emulator (those following -erl_args). Options preceding -erl_args that Common Test doesn't recognize, also get passed on to the emulator untouched. By means of -erl_args the user may specify flags with the same name, but with different destinations, on the ct_run command line.

If -pa or -pz flags are specified in the Common Test group of options (preceding -erl_args), relative directories will be converted to absolute and re-inserted into the code path by Common Test (to avoid problems loading user modules when Common Test changes working directory during test runs). Common Test will however ignore -pa and -pz flags following -erl_args on the command line. These directories are added to the code path normally (i.e. on specified form)

Exit status is set before the program ends. Value 0 indicates a successful test result, 1 indicates one or more failed or auto-skipped test cases, and 2 indicates test execution failure.

If ct_run is called with option:

-help

it prints all valid start flags to stdout.

Run tests from command line
	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]
	[-muliply_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]
    	[-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and ..
	 CTHModuleN CTHOptsN]
	[-exit_status ignore_config]
    
Run tests using test specification
	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]
	[-muliply_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]
    	[-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and ..
	 CTHModuleN CTHOptsN]
	[-exit_status ignore_config]
    
Run tests in web based GUI
        ct_run -vts [-browser Browser]
        [-dir TestDir1 TestDir2 .. TestDirN] |
        [[dir TestDir] -suite Suite [[-group Group] [-case Case]]]
	[-config ConfigFile1 ConfigFile2 .. ConfigFileN]
	[-userconfig CallbackModule1 ConfigString1 and CallbackModule2
         ConfigString2 and .. and CallbackModuleN ConfigStringN]
	[-logopts LogOpts]
	[-verbosity GenVLevel | [Category1 VLevel1 and
	 Category2 VLevel2 and .. CategoryN VLevelN]]
	[-decrypt_key Key] | [-decrypt_file KeyFile]
	[-include InclDir1 InclDir2 .. InclDirN]
	[-no_auto_compile]
	[-abort_if_missing_suites]
	[-muliply_timetraps Multiplier]
	[-scale_timetraps]
	[-create_priv_dir auto_per_run | auto_per_tc | manual_per_tc]
	[-basic_html]
Refresh the HTML index files
	ct_run -refresh_logs [-logdir LogDir] [-basic_html]
Run CT in interactive mode
	ct_run -shell
	[-config ConfigFile1 ConfigFile2 ... ConfigFileN]
	[-userconfig CallbackModule1 ConfigString1 and CallbackModule2
         ConfigString2 and .. and CallbackModuleN ConfigStringN]
	[-decrypt_key Key] | [-decrypt_file KeyFile]
Start a Common Test Master node
	ct_run -ctmaster
See also

Please read the Running Test Suites chapter in the Common Test User's Guide for information about the meaning of the different start flags.