Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
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'.
|
|
|
|
* maint:
Skip ct_netconf tests if there is no crypto
Migrate timers from test_server to ct interface
Update tests to run with an oldshell emulator
Move crypto check so that tc is skipped and not failed
Update for new version of ppc compilation chain
Verify that ebin folder of applications exists
Conflicts:
lib/asn1/test/asn1_SUITE.erl
lib/kernel/test/interactive_shell_SUITE.erl
|
|
* 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.
|
|
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.
|
|
OTP-9956
Test that the test suite itself can be cover compiled, and that
data_dir is still set correctly.
|
|
|
|
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.
|
|
The cross cover analysis functionality in test_server was broken since
OTP converted to running daily tests through common_test. This has
been corrected.
|
|
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.
|
|
In order to avoid crash of processes that hold old code, cover is no
longer stopped before slave nodes are stopped. Instead cover:flush is
used which only fetches cover data from the slave.
This, along with similar changes in test_server allows all common_test
modules to be included in cover analysis.
|
|
|
|
|
|
|
|
|
|
On Windows, the log files are not placed under priv_dir, so we will
have to retrieve the path using ct_test_support (which works fine
on all platforms).
|
|
* siri/common_test/ct_snmp-tests:
[common_test] Added tests and corrected bugs in ct_snmp
OTP-10454
OTP-10434
|
|
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.
|
|
* dgud/ct/fix-trashed-logs/OTP-10369:
[ct] Shorten testcase names
Shorten testcase names
[ct] Block output into single io call
|
|
So it works on windows otherwise crashes the testrun when
path is longer than 255 chars.
|
|
* 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
|
|
|
|
Bugs reported in OTP-10432 allowed the config for ct_snmp test to
specify only one version for agent and manager.
|
|
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.
|