Age | Commit message (Collapse) | Author |
|
By default, test_server will always stop cover (and thus load back the
non cover compiled original beam files) after a test with code
coverage analysis is completed. The new option allows the common_test
user to specify that cover shall not be stopped. This can be useful if
there are processes still running old code, i.e. processes that have
not done any fully qualified function call after the cover
compilation, since loading the original code then will kill those
processes. This is only recommended if the erlang node is to be
stopped after the test run, or if cover can be manually stopped.
|
|
Nodes started with ct_slave should automatically run cover when tests
are executed with cover analysis. Nodes must also be flushed for cover
data before stopped.
|
|
OTP-10454
OTP-10434
Function register_users/2, register_agents/2 and register_usm_users/2,
and the corresponding unregister_*/1 functions were not
executable. These are corrected/rewritten.
Function update_usm_users/2 is removed, and an unregister function is
added instead. Update can now be done with unregister_usm_users and
then register_usm_users.
Functions unregister_*/2 are added, so specific users/agents/usm users
can be unregistered.
Function unload_mibs/1 is added.
Overriding configuration files did not work, since the files were
written in priv_dir instead of in the configuration dir
(priv_dir/conf). This has been corrected.
Minor updates to documentation.
|
|
* bjorn/common_test/dialyzer-fixes:
ct_master_logs: Don't use io:format/3 with an empty variable list
common_test: Don't use undocumented features of io:format()
|
|
* siri/common_test/undefined-snmp-funcs/OTP-10088:
[common_test] Moved ct_snmp_SUITE into data dir and run as other ct tests
[common_test] Updated (minimized) config for ct_snmp test after fixing bugs
[common_test] Use ct_snmp 'agent_vsns' config value in snmp app config
[common_test] Change NotifType to atom instead of string
[common_test] Remove calls to undefined functions from ct_snmp
[common_test] Add minor test suite for ct_snmp
Conflicts:
lib/common_test/test/Makefile
|
|
OTP-10432
Config parameter 'agent_vsns' in ct_snmp was ONLY used in call to
snmp_config:write_agent_snmp_files. There it is only used for deciding
if usm config shall be written (if v3 is included) or not.
The value of 'agent_vsns' was NOT added to the snmp application's
agent configuration, so the snmp application's own default value would
be used - this is [v1,v2,v3]. The result was that if v3 was not
included in 'agent_vsns', then usm.conf was not written, but when
starting the agent it would complain that this file did not exist
since snmp's default versions are all [v1,v2,v3].
This has been corrected - the 'agent_vsns' value is now inserted in
the snmp application agent configuration as {versions,AgentVsns}.
|
|
OTP-10432
In call to snmp_config:write_agent_snmp_files, the NotifType argument
was earlier a string. This has been changed to an atom since it failed
in snmp application and notify�conf was not created.
|
|
|
|
It is bad practice to use an arbitrary string as a format
string for io:format(), since it could contain a '~' character
which could trigger a badarg exception. Therefore, replace all
io:format/3 calls that looks like:
io:format(Fd, String, [])
with:
io:put_chars(Fd, String)
|
|
The Format string argument for io:format() is not documented
to accept an iolist, so we should not depend on it.
Also, it is bad practice to use an arbitrary string as a format
string for io:format(), since it could contain a '~' character
which could trigger a badarg exception.
Fix both problems at the same time by using io:put_chars() to
display the iolist.
|
|
If a severe error occurs in test_server (e.g. failing to write to
log files), test_server would terminate without commont_test knowing
about it. Since ct_run can now return an exit code, it is important
that common_test is aware of severe problem so that it can indicate
that an error has occurred.
|
|
|
|
|
|
|
|
OTP-10050
OTP-10069
OTP-10072
OTP-10087
OTP-9865
OTP-10049
OTP-10089
OTP-10145
OTP-9896
OTP-10135
OTP-10067
OTP-9625
OTP-10127
OTP-10172
OTP-10248
OTP-9625
OTP-10086
|
|
* origin/peppe/common_test/break_cont_error:
Make sure the test can never hang when ct:break/1/2 is called
|
|
|
|
* siri/common_test/ct_netconfc/OTP-10025:
[common_test] Close log files when deleting ct_conn_log_h error handler
|
|
* origin/peppe/common_test/misc_test_failures:
Solve problem with registering parallel testcases
|
|
* origin/peppe/common_test/bad_func_spec:
Fix error in function specification
|
|
into maint
* origin/peppe/common_test/silent_connection_testspec:
Add silent_connections term to test specification
|
|
* lukas/common_test/deep_get_config/OTP-9626:
Add more cross reference links to ct docs
Remove config option from common_test args
Update user config to use nested tuple keys
|
|
Due to a bad pattern matching in ct_conn_log_h:terminate/1, log files
were not closed when error handler was deleted. This has been
corrected.
|
|
* siri/common_test/ct_netconfc/OTP-10025:
[common_test] Handle all ssh_cm messages in ct_netconfc:handle_msg/2
|
|
|
|
|
|
|
|
maint
* origin/peppe/common_test/parallel_testcases_error:
Solve problems with verbosity levels and parallel test cases
|
|
|
|
|
|
* origin/peppe/common_test/silent_connection:
Fix deadlock problem in connection handling
Implement silent_connection for ssh
Conflicts:
lib/common_test/src/ct_gen_conn.erl
OTP-9625
|
|
* origin/peppe/common_test/break_and_continue:
Fix error in documentation
Implement support for test case execution break/continue
Conflicts:
lib/common_test/src/ct.erl
lib/common_test/src/ct_run.erl
OTP-10127
OTP-10172
|
|
* origin/peppe/common_test/verbosity_level:
Fix doc build error
Implement verbosity levels and parameter for log printout importance
Conflicts:
lib/common_test/src/ct_logs.erl
lib/common_test/src/ct_run.erl
lib/common_test/src/ct_testspec.erl
lib/common_test/src/ct_util.hrl
lib/common_test/test/Makefile
OTP-9625
OTP-10067
|
|
|
|
ct:get_config and ct:require can now use nested tuples
to fetch data from user configuration. E.g.
ct:get_config({localhost,ip,v4}).
This introduces a backwards incompatability with how names
are associated with keys when using require/2. E.g.
ct:require(a_name,{localhost,ip}) will associate a_name with ip
instead of localhost.
|
|
* origin/peppe/common_test/testspec_updates:
Test new testspec functionality and correct bugs
Implement constants and new features for test specifications
Conflicts:
lib/common_test/src/ct_run.erl
lib/common_test/test/Makefile
OTP-10049
OTP-10089
OTP-10145
|
|
* origin/peppe/common_test/hook_init_order:
Call CT Hook init functions in the correct order
OTP-10135
|
|
* peppe/common_test/table_sorter:
Fix installation of javascript files on windows
Fix installation of javascript files
Make it possible to sort the HTML tables
Conflicts:
lib/common_test/src/ct_util.hrl
OTP-9896
|
|
* origin/peppe/common_test/exit_status:
Implement support for returning valid exit status from ct_run
OTP-9865
OTP-10087
|
|
* origin/peppe/common_test/ct_hooks_errors:
Fix IO printout crash caused by hook function
Fix timetrap error in pre-hooks
Conflicts:
lib/common_test/src/cth_surefire.erl
OTP-10050
OTP-10069
OTP-10072
|
|
|
|
OTP-10049
OTP-10089
|
|
OTP-10049
OTP-10089
|
|
Only {data,...} and {closed,...} was handled, which caused the test to
fail with with a function_clause crash in ct_netconfc when
{exit_status,...} was received. This has been corrected.
|
|
When opening a connection, the connection process would link itself to
ct_util_server before calling the init callback, e.g. in ct_netconfc,
ct_telnet etc. If the init callback failed, then ct_util_server would
get the 'EXIT'. ct_util looks up the pid in the connection table, but
since the connection is not yet registered it is not found. ct_util
does not know which process it is and will thus die - aborting the
complete test run.
This commit moves the link(CtUtilServer) after the init callback, so a
crash in the init callback will not be detected by ct_util_server -
the caller process, however, will get a 'DOWN' message due to
monitoring and ct_gen_conn:start will give an error return.
|
|
Earlier, it was possible to open connection (ct_gen_conn) with the
same (required) name twice, which could give unexpected results. Such
attempts will now return {error,{connection_exists,OtherClient}}.
|
|
Earlier ct_util_server would terminate and thus abort the complete
test run if a connection process (ct_gen_conn) crashed. This is now
changed so that ct_util will only print an error report (in the test
case log) and continue the rest of the test.
|
|
The netconf client supports basic netconf functionality over SSH. In
order to allow testing of both success and failure cases, it is
intentionally written to allow non-standard behavior.
In order for the netconf client to use the generic connection
mechanism in common_test, ct_gen_conn has been updated to be more
flexible:
Added options:
{reconnect,bool()}
{forward_messages,bool()}
{use_existing_connection,bool()}
Allow handle_msg to return
{reply,Reply,State} |
{noreply,State} |
{stop,Reply,State}
If forward_messages==true, the ct_gen_conn callback must also
implement:
handle_msgs(Msg,State) -> {noreply,State} | {stop,State}
|
|
|
|
|