diff --git a/lib/common_test/doc/src/common_test_app.xml b/lib/common_test/doc/src/common_test_app.xml index a3b3f927eb6b..3433cc938e71 100644 --- a/lib/common_test/doc/src/common_test_app.xml +++ b/lib/common_test/doc/src/common_test_app.xml @@ -68,19 +68,19 @@ - Module:all() -> Tests | {skip,Reason} + Module:all() -> [TestDef] | {skip, Reason} Returns the list of all test case groups and test cases in the module. - Tests = [TestCase | {group,GroupName} | {group,GroupName,Properties} | {group,GroupName,Properties,SubGroups}] + TestDef = TestCase | {group, GroupName} | {group, GroupName, Properties} | {group, GroupName, Properties, SubGroups} TestCase = atom() GroupName = atom() - Properties = [parallel | sequence | Shuffle | {RepeatType,N}] | default - SubGroups = [{GroupName,Properties} | {GroupName,Properties,SubGroups}] - Shuffle = shuffle | {shuffle,Seed} - Seed = {integer(),integer(),integer()} - RepeatType = repeat | repeat_until_all_ok | repeat_until_all_fail | repeat_until_any_ok | repeat_until_any_fail - N = integer() | forever + Properties = [parallel | sequence | Shuffle | {RepeatType, N}] | default + SubGroups = [{GroupName, Properties} | {GroupName, Properties, SubGroups}] + Shuffle = shuffle | {shuffle, Seed} + Seed = {integer(), integer(), integer()} + RepeatType = repeat | repeat_until_all_ok | repeat_until_all_fail | repeat_until_any_ok | repeat_until_any_fail + N = integer() | forever Reason = term() @@ -103,7 +103,7 @@ (With value default, the group definition properties are used).

-

If {skip,Reason} is returned, all test cases +

If {skip, Reason} is returned, all test cases in the module are skipped and Reason is printed on the HTML result page.

@@ -115,17 +115,16 @@
- Module:groups() -> GroupDefs + Module:groups() -> [GroupDef] Returns a list of test case group definitions. - GroupDefs = [Group] - Group = {GroupName,Properties,GroupsAndTestCases} + GroupDef = {GroupName, Properties, GroupsAndTestCases} GroupName = atom() - Properties = [parallel | sequence | Shuffle | {RepeatType,N}] - GroupsAndTestCases = [Group | {group,GroupName} | TestCase] + Properties = [parallel | sequence | Shuffle | {RepeatType, N}] + GroupsAndTestCases = [Group | {group, GroupName} | TestCase] TestCase = atom() - Shuffle = shuffle | {shuffle,Seed} - Seed = {integer(),integer(),integer()} + Shuffle = shuffle | {shuffle, Seed} + Seed = {integer(), integer(), integer()} RepeatType = repeat | repeat_until_all_ok | repeat_until_all_fail | repeat_until_any_ok | repeat_until_any_fail N = integer() | forever @@ -140,32 +139,33 @@ - Module:suite() -> [Info] + Module:suite() -> [Info] Test suite info function (providing default data for the suite). - Info = {timetrap,Time} | {require,Required} | {require,Name,Required} | {userdata,UserData} | {silent_connections,Conns} | {stylesheet,CSSFile} | {ct_hooks, CTHs} - Time = TimeVal | TimeFunc - TimeVal = MilliSec | {seconds,integer()} | {minutes,integer()} | {hours,integer()} - TimeFunc = {Mod,Func,Args} | Fun - MilliSec = integer() - Mod = atom() - Func = atom() - Args = list() - Fun = fun() - Required = Key | {Key,SubKeys} | {Key,SubKey} | {Key,SubKey,SubKeys} - Key = atom() - SubKeys = SubKey | [SubKey] - SubKey = atom() - Name = atom() - UserData = term() - Conns = [atom()] - CSSFile = string() - CTHs = [CTHModule | -         {CTHModule, CTHInitArgs} | -         {CTHModule, CTHInitArgs, CTHPriority}] - CTHModule = atom() - CTHInitArgs = term() + Info = {timetrap, Time} | {require, Required} | {require, Name, Required} | {userdata, UserData} | {silent_connections, Conns} | {stylesheet, CSSFile} | {ct_hooks, CTHs} + Time = TimeVal | TimeFunc + TimeVal = MilliSec | {seconds, integer()} | {minutes, integer()} | {hours, integer()} + TimeFunc = {Mod, Func, Args} | Fun + MilliSec = integer() + Mod = atom() + Func = atom() + Args = list() + Fun = fun() + Required = Key | {Key, SubKeys} | {Key, SubKey} | {Key, SubKey, SubKeys} + Key = atom() + SubKeys = SubKey | [SubKey] + SubKey = atom() + Name = atom() + UserData = term() + Conns = [atom()] + CSSFile = string() + CTHs = [CTHModule | +         {CTHModule, CTHInitArgs} | +         {CTHModule, CTHInitArgs, CTHPriority}] + CTHModule = atom() + CTHInitArgs = term() + CTHPriority = integer() @@ -213,11 +213,11 @@ - Module:init_per_suite(Config) -> NewConfig | {skip,Reason} | - {skip_and_save,Reason,SaveConfig} + Module:init_per_suite(Config) -> NewConfig | {skip, Reason} | + {skip_and_save, Reason, SaveConfig} Test suite initializations. - Config = NewConfig = SaveConfig = [{Key,Value}] + Config = NewConfig = SaveConfig = [{Key, Value}] Key = atom() Value = term() Reason = term() @@ -236,7 +236,7 @@ function is specified as Config to all configuration functions and test cases in the suite.

-

If {skip,Reason} +

If {skip, Reason} is returned, all test cases in the suite are skipped and Reason is printed in the overview log for the suite.

@@ -248,11 +248,11 @@
- Module:end_per_suite(Config) -> term() | - {save_config,SaveConfig} + Module:end_per_suite(Config) -> term() | + {save_config, SaveConfig} Test suite finalization. - Config = SaveConfig = [{Key,Value}] + Config = SaveConfig = [{Key, Value}] Key = atom() Value = term() @@ -272,21 +272,22 @@ - Module:group(GroupName) -> [Info] + Module:group(GroupName) -> [Info] Test case group information function (providing default data for a test case group, that is, its test cases and subgroups). - Info = {timetrap,Time} | {require,Required} | {require,Name,Required} | {userdata,UserData} | {silent_connections,Conns} | {stylesheet,CSSFile} | {ct_hooks, CTHs} + GroupName = atom() + Info = {timetrap, Time} | {require, Required} | {require, Name, Required} | {userdata, UserData} | {silent_connections, Conns} | {stylesheet, CSSFile} | {ct_hooks, CTHs} Time = TimeVal | TimeFunc - TimeVal = MilliSec | {seconds,integer()} | {minutes,integer()} | {hours,integer()} - TimeFunc = {Mod,Func,Args} | Fun + TimeVal = MilliSec | {seconds, integer()} | {minutes, integer()} | {hours, integer()} + TimeFunc = {Mod, Func, Args} | Fun MilliSec = integer() Mod = atom() Func = atom() Args = list() Fun = fun() - Required = Key | {Key,SubKeys} | {Key,Subkey} | {Key,Subkey,SubKeys} + Required = Key | {Key, SubKeys} | {Key, SubKey} | {Key, SubKey, SubKeys} Key = atom() SubKeys = SubKey | [SubKey] SubKey = atom() @@ -299,6 +300,7 @@         {CTHModule, CTHInitArgs, CTHPriority}] CTHModule = atom() CTHInitArgs = term() + CTHPriority = integer() @@ -353,11 +355,11 @@ Module:init_per_group(GroupName, Config) -> NewConfig | - {skip,Reason} + {skip, Reason} Test case group initializations. GroupName = atom() - Config = NewConfig = [{Key,Value}] + Config = NewConfig = [{Key, Value}] Key = atom() Value = term() Reason = term() @@ -379,7 +381,7 @@ The return value of this function is given as Config to all test cases and subgroups in the group.

-

If {skip,Reason} +

If {skip, Reason} is returned, all test cases in the group are skipped and Reason is printed in the overview log for the group.

@@ -391,11 +393,11 @@ Module:end_per_group(GroupName, Config) -> term() | - {return_group_result,Status} + {return_group_result, Status} Test case group finalization. GroupName = atom() - Config = [{Key,Value}] + Config = [{Key, Value}] Key = atom() Value = term() Status = ok | skipped | failed @@ -410,7 +412,7 @@ is finished. It is meant to be used for cleaning up after init_per_group/2. A status value for a nested subgroup can be returned with - {return_group_result,Status}. The status can be retrieved in + {return_group_result, Status}. The status can be retrieved in end_per_group/2 for the group on the level above. The status is also used by Common Test for deciding if execution of a group is to @@ -424,14 +426,14 @@ - Module:init_per_testcase(TestCase, Config) -> NewConfig | {fail,Reason} | {skip,Reason} + Module:init_per_testcase(TestCase, Config) -> NewConfig | {fail, Reason} | {skip, Reason} Test case initializations. - TestCase = atom() - Config = NewConfig = [{Key,Value}] - Key = atom() - Value = term() - Reason = term() + TestCase = atom() + Config = NewConfig = [{Key, Value}] + Key = atom() + Value = term() + Reason = term() @@ -445,20 +447,20 @@ Config (list of key-value tuples) is the configuration data that can be modified. The NewConfig list returned from this function is given as Config to the test case. - If {fail,Reason} is returned, the test case is + If {fail, Reason} is returned, the test case is marked as failed without being executed.

-

If {skip,Reason} is returned, the test case is skipped +

If {skip, Reason} is returned, the test case is skipped and Reason is printed in the overview log for the suite.

- Module:end_per_testcase(TestCase, Config) -> term() | {fail,Reason} | {save_config,SaveConfig} + Module:end_per_testcase(TestCase, Config) -> term() | {fail, Reason} | {save_config, SaveConfig} Test case finalization. TestCase = atom() - Config = SaveConfig = [{Key,Value}] + Config = SaveConfig = [{Key, Value}] Key = atom() Value = term() Reason = term() @@ -473,9 +475,9 @@

This function is called after each test case, and can be used to clean up after init_per_testcase/2 - and the test case. Any return value (besides {fail,Reason} - and {save_config,SaveConfig}) is ignored. By returning - {fail,Reason}, TestCase is marked as faulty (even + and the test case. Any return value (besides {fail, Reason} + and {save_config, SaveConfig}) is ignored. By returning + {fail, Reason}, TestCase is marked as faulty (even though it was successful in the sense that it returned a value instead of terminating).

@@ -489,16 +491,16 @@ Module:Testcase() -> [Info] Test case information function. - Info = {timetrap,Time} | {require,Required} | {require,Name,Required} | {userdata,UserData} | {silent_connections,Conns} + Info = {timetrap, Time} | {require, Required} | {require, Name, Required} | {userdata, UserData} | {silent_connections, Conns} Time = TimeVal | TimeFunc - TimeVal = MilliSec | {seconds,integer()} | {minutes,integer()} | {hours,integer()} - TimeFunc = {Mod,Func,Args} | Fun + TimeVal = MilliSec | {seconds, integer()} | {minutes, integer()} | {hours, integer()} + TimeFunc = {Mod, Func, Args} | Fun MilliSec = integer() Mod = atom() Func = atom() Args = list() Fun = fun() - Required = Key | {Key,SubKeys} | {Key,Subkey} | {Key,Subkey,SubKeys} + Required = Key | {Key, SubKeys} | {Key, SubKey} | {Key, SubKey, SubKeys} Key = atom() SubKeys = SubKey | [SubKey] SubKey = atom() @@ -560,10 +562,10 @@
- Module:Testcase(Config) -> term() | {skip,Reason} | {comment,Comment} | {save_config,SaveConfig} | {skip_and_save,Reason,SaveConfig} | exit() + Module:Testcase(Config) -> term() | {skip, Reason} | {comment, Comment} | {save_config, SaveConfig} | {skip_and_save, Reason, SaveConfig} | exit() A test case. - Config = SaveConfig = [{Key,Value}] + Config = SaveConfig = [{Key, Value}] Key = atom() Value = term() Reason = term() @@ -584,11 +586,11 @@ (or the macro ?config defined in ct.hrl).

If you decide not to run the test case after all, return - {skip,Reason}. Reason is then + {skip, Reason}. Reason is then printed in field Comment on the HTML result page.

To print some information in field Comment on the HTML - result page, return {comment,Comment}.

+ result page, return {comment, Comment}.

If the function returns anything else, the test case is considered successful. The return value always gets printed