Age | Commit message (Collapse) | Author |
|
* siri/cross-cover/OTP-9870:
[test_server] Don't use print/3 in cross_cover_analyse
[common_test] Add documentation for cross cover analysis
[common_test] Add test case for cross cover mechanism
[test_server] Update documentation about cross cover
[test_server] Add test of code cover mechanism
[test_server,common_test] Fix cross cover mechansim
|
|
* siri/cover/new-bugs-r16/OTP-10638:
[cover] Cleanup by stopping cover between tests
[common_test] Stop cover on slave node after node is terminated
[test_server] Stop cover on node after node is terminated
[cover] Fix timing dependent bug in cover_SUITE:reconnect
[cover] Remove stopped node also from lost_nodes list
[cover] Don't mark stopped node as lost
|
|
Before terminating slave nodes, common_test calls cover:flush/1 to
fetch data from the node without actually stopping cover on this
node. If cover is not stopped for the node and a new node with the
same name is started, then cover will be started on the new node. To
avoid this common_test now calls cover:stop/1 after the slave node is
terminated.
|
|
If ssh_connection:adjust_window/3 is not called after each time data
is received in the netconf client, the client will eventually stop
receiving data. This bug has been corrected.
|
|
Conflicts:
lib/common_test/test/Makefile
|
|
The following corrections/changes are done in the cth_surefire hook:
* Earlier there would always be a 'properties' element under the
'testsuites' element. This would exist even if there were now
'property' element inside it. This has been changed so if there are
no 'property' elements to display, then there will not be a
'properties' element either.
* The XML file will now (unless other is specified) be stored in the
top log directory. Earlier, the default directory would be the
current working directory for the erlang node, which would mostly,
but not always, be the top log directory.
* The 'hostname' attribute in the 'testsuite' element would earlier
never have the correct value. This has been corrected.
* The 'errors' attribute in the 'testsuite' element would earlier
display the number of failed testcases. This has been changed and
will now always have the value 0, while the 'failures' attribute
will show the number of failed testcases.
* A new attribute 'skipped' is added to the 'testsuite' element. This
will display the number of skipped testcases. These would earlier be
included in the number of failed test cases.
* The total number of tests displayed by the 'tests' attribute in the
'testsuite' element would earlier include init/end_per_suite and
init/end_per_group. This is no longer the case. The 'tests'
attribute will now only count "real" test cases.
* Earlier, auto skipped test cases would have no value in the 'log'
attribute. This is now corrected.
* A new attributes 'log' is added to the 'testsuite' element.
* A new option named 'url_base' is added for this hook. If this
option is used, a new attribute named 'url' will be added to the
'testcase' and 'testsuite' elements.
Tests are added for the ct_surefire hook.
|
|
* egil/fix-dialyzer-specs/OTP-10601:
common_test: Fix exported types
|
|
Update the interface for cross cover analysis (collection of cover
data over multiple tests) so it can be used via common_test and
directly with test server.
The concept of 'application' in the cross cover interface is removed
and replaced with an arbitrary Tag=atom() which identifies a test run.
|
|
* inet:host_name() -> inet:hostname()
* ct:hook_options() -> ct_netconfc:hook_options()
|
|
* bjorn/ct/env-vars/OTP-10469:
Add support for passing environment variables in master mode
Remove redundant sleep in ct_master_SUITE
Test that test cases succeed
Add ct_test_support:verify_events/4 which takes a node name
|
|
|
|
|
|
|
|
|
|
Conflicts:
lib/common_test/test/Makefile
|
|
* origin/peppe/common_test/group_search_r15b03:
Fix problem with test case order in group specifications
Finish the test suite and correct remaining bugs
Implement new group search functionality
OTP-10466
|
|
|
|
|
|
OTP-10466
|
|
OTP-10466
|
|
OTP-10495
|
|
|
|
* siri/common_test/ct_netconfc-close-problems:
[common_test] Allow server to terminate netconf session before rpc-reply
[common_test] Ensure process down after ct_netconf:close_session
|
|
test_server_h will now recognize info_reports written by ct connection
handlers (according to the description in cth_conn_log) and ignore
them as they will be completely handled by by ct_conn_log_h.
Earlier test_server_h would print a tag (testcase name) before
forwarding the report to error_logger_tty_h. This would cause lots of
tags in the log with no info report following (since
error_logger_tty_h did not handle them).
|
|
OTP-10570
ct_netconfc:close_session sometimes returned {error,closed} because
the ssh connection was closed (from the server side) before the
rpc-reply was received by the client. This is normal and can not be
helped. It has been corrected so the return will be 'ok' in this case.
Other error situations will still give {error,Reason}.
|
|
OTP-10510
When starting a named netconf connection directly after stopping one
with the same name, it sometimes failed with 'connection_exists'. This
has been corrected.
|
|
* maint:
Fix bug where require of same name at same config would return name in use
|
|
|
|
ct:abort_current_testcase/1 (which is a wrapper for the function
with the same name in test_server_ctrl) would not work as expected
when a group with parallel test cases was executing. Essentially,
the abort_current_testcase message would be ignored until the group
has finished and would then abort the end_per_group testcase for
the group.
Since there is no unique current testcase when a parallel group is
executing, we must handle the abort_current_testcase message and
return an error tuple.
Also fix the bug that test_server_ctrl:abort_current_testcase/1
would always return 'ok'.
|
|
* siri/cover-tests: (21 commits)
[common_test] Extend timer for flushing error logger
[cover] Allow reconnection if node has been disconnected or down
[cover] Don't kill remote nodes when connection to main node is lost
[test_server] Add option {start_cover,false} to test_server:start_node
Use code:lib_dir instead of code:which to get application directory
[common_test] Add test for OTP-9956
Include all kernel modules in code coverage analysis
[common_test] Add test suite for code coverage support
[common_test, test_server] Don't flush cover if cover is not running
[common_test] Add option cover_stop
[test_server] Allow cross cover analysis when testing through common_test
[test_server] Start cover in test_server:wait_for_node
[test_server] Multiply timers with timetrap_scale_factor when starting nodes
Include all stdlib modules in code coverage analysis
[test_server] Include all test_server modules in code coverage analysis
Skip epp_SUITE:otp_8911 if cover is running
[common_test] Start cover on slave nodes if running cover tests
[common_test] Don't stop cover before stopping slave node
[test_server] Don't stop cover after test is finished
[cover] Add support for test_server
...
OTP-10427
|
|
Because of a forgotten "Fd", configuration information intended for
ct_master_log.html ended up being written to standard output.
|
|
Prototype-by: Magnus Lidén <[email protected]>
|
|
OTP-10040
If a busy test case generated lots of error messages,
cth_log_redirect:post_end_per_testcase would crash with a timeout
while waiting for the error logger to finish handling all error
messages. The default timer is 5 seconds. This has now been extended
to 5 minutes.
|
|
ct_slave, ct_test_support and test_server_test_lib always called
cover:flush/1 when stopping slave nodes. If cover was not running,
this would cause cover_server to be started and thus
test_server:is_cover/0 to return true afterwards. This has been
corrected.
|
|
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
|