| %% common_test suite for {{testmod}} |
| |
| -module({{testmod}}_SUITE). |
| -include_lib("common_test/include/ct.hrl"). |
| |
| -compile(export_all). |
| |
| %%-------------------------------------------------------------------- |
| %% Function: suite() -> Info |
| %% |
| %% Info = [tuple()] |
| %% List of key/value pairs. |
| %% |
| %% Description: Returns list of tuples to set default properties |
| %% for the suite. |
| %% |
| %% Note: The suite/0 function is only meant to be used to return |
| %% default data values, not perform any other operations. |
| %%-------------------------------------------------------------------- |
| suite() -> [{timetrap, {seconds, 20}}]. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: groups() -> [Group] |
| %% |
| %% Group = {GroupName,Properties,GroupsAndTestCases} |
| %% GroupName = atom() |
| %% The name of the group. |
| %% Properties = [parallel | sequence | Shuffle | {RepeatType,N}] |
| %% Group properties that may be combined. |
| %% GroupsAndTestCases = [Group | {group,GroupName} | TestCase] |
| %% TestCase = atom() |
| %% The name of a test case. |
| %% Shuffle = shuffle | {shuffle,Seed} |
| %% To get cases executed in random order. |
| %% Seed = {integer(),integer(),integer()} |
| %% RepeatType = repeat | repeat_until_all_ok | repeat_until_all_fail | |
| %% repeat_until_any_ok | repeat_until_any_fail |
| %% To get execution of cases repeated. |
| %% N = integer() | forever |
| %% |
| %% Description: Returns a list of test case group definitions. |
| %%-------------------------------------------------------------------- |
| groups() -> []. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: all() -> GroupsAndTestCases |
| %% |
| %% GroupsAndTestCases = [{group,GroupName} | TestCase] |
| %% GroupName = atom() |
| %% Name of a test case group. |
| %% TestCase = atom() |
| %% Name of a test case. |
| %% |
| %% Description: Returns the list of groups and test cases that |
| %% are to be executed. |
| %% |
| %% NB: By default, we export all 1-arity user defined functions |
| %%-------------------------------------------------------------------- |
| all() -> |
| [ {exports, Functions} | _ ] = ?MODULE:module_info(), |
| [ FName || {FName, _} <- lists:filter( |
| fun ({module_info,_}) -> false; |
| ({all,_}) -> false; |
| ({init_per_suite,1}) -> false; |
| ({end_per_suite,1}) -> false; |
| ({_,1}) -> true; |
| ({_,_}) -> false |
| end, Functions)]. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: init_per_suite(Config0) -> |
| %% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} |
| %% |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding the test case configuration. |
| %% Reason = term() |
| %% The reason for skipping the suite. |
| %% |
| %% Description: Initialization before the suite. |
| %% |
| %% Note: This function is free to add any key/value pairs to the Config |
| %% variable, but should NOT alter/remove any existing entries. |
| %%-------------------------------------------------------------------- |
| init_per_suite(Config) -> |
| Config. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: end_per_suite(Config0) -> void() | {save_config,Config1} |
| %% |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding the test case configuration. |
| %% |
| %% Description: Cleanup after the suite. |
| %%-------------------------------------------------------------------- |
| end_per_suite(_Config) -> |
| ok. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: init_per_group(GroupName, Config0) -> |
| %% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} |
| %% |
| %% GroupName = atom() |
| %% Name of the test case group that is about to run. |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding configuration data for the group. |
| %% Reason = term() |
| %% The reason for skipping all test cases and subgroups in the group. |
| %% |
| %% Description: Initialization before each test case group. |
| %%-------------------------------------------------------------------- |
| init_per_group(_group, Config) -> |
| Config. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: end_per_group(GroupName, Config0) -> |
| %% void() | {save_config,Config1} |
| %% |
| %% GroupName = atom() |
| %% Name of the test case group that is finished. |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding configuration data for the group. |
| %% |
| %% Description: Cleanup after each test case group. |
| %%-------------------------------------------------------------------- |
| end_per_group(_group, Config) -> |
| Config. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: init_per_testcase(TestCase, Config0) -> |
| %% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} |
| %% |
| %% TestCase = atom() |
| %% Name of the test case that is about to run. |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding the test case configuration. |
| %% Reason = term() |
| %% The reason for skipping the test case. |
| %% |
| %% Description: Initialization before each test case. |
| %% |
| %% Note: This function is free to add any key/value pairs to the Config |
| %% variable, but should NOT alter/remove any existing entries. |
| %%-------------------------------------------------------------------- |
| init_per_testcase(TestCase, Config) -> |
| Config. |
| |
| %%-------------------------------------------------------------------- |
| %% Function: end_per_testcase(TestCase, Config0) -> |
| %% void() | {save_config,Config1} | {fail,Reason} |
| %% |
| %% TestCase = atom() |
| %% Name of the test case that is finished. |
| %% Config0 = Config1 = [tuple()] |
| %% A list of key/value pairs, holding the test case configuration. |
| %% Reason = term() |
| %% The reason for failing the test case. |
| %% |
| %% Description: Cleanup after each test case. |
| %%-------------------------------------------------------------------- |
| end_per_testcase(TestCase, Config) -> |
| Config. |
| |
| test_{{testmod}}() -> |
| [{userdata,[{doc,"Testing the {{testmod}} module"}]}]. |
| |
| test_{{testmod}}(_Config) -> |
| {skip,"Not implemented."}. |