Age | Commit message (Collapse) | Author |
|
Documentation says that a test case is skipped if init_per_testcase
fails. This is correct if init_per_testcase fails in a normal way, but
if it gets an exit signal causing the process to die, then the case
was earlier marked as failed with reason {skip,...}. This is now
corrected, so the case is auto skipped.
If end_per_testcase crashes, it does not change the result of a test
case, it only adds a warning in the comment field. But if it gets an
exit signal causing the process to die while running end_per_testcase,
then the case was earlier marked as failed in addition to this
warning. This is now corrected, so the result of the test case is not
changed by an exit signal during end_per_testcase.
|
|
The following bugs are corrected:
* Tests that were skipped before calling pre_init_per_* got faulty
calls to the corresponding post_init_per_*. E.g. if a test was
skipped because suite/0 returned a 'require' statement that was not
fulfilled, then post_init_per_suite would be called, even though
pre_init_per_suite and init_per_suite were not called.
* Tests that were skipped before or in init_per_testcase got faulty
calls to pre_end_per_testcase and post_end_per_testcase
(end_per_testcase is not called in these situations).
Test are added to make sure that the expected callbacks, and only
those, are called when tests are skipped in different ways.
Conflicts:
lib/common_test/test/ct_hooks_SUITE.erl
|
|
common_test requires that if init_per_suite/1 exists, then
end_per_suite/1 must also exist. If end_per_suite/1 does not exist,
then it will be marked in the log as failed with reason 'undef'. Some
test suites are corrected to avoid this.
|
|
The following bugs are corrected:
- if init_per_suite is exported from a test suite, but not
end_per_suite, then pre/post_end_per_suite will be called with
Suite=ct_framework instead of the correct suite name.
- if end_per_group is exported from a suite, but not init_per_group,
then end_per_group is never called.
According to the documentation, if implementing an init config
function, you must also implement the end config function, so the two
scenarios above are really not allowed. To make this more visible,
common_test will now mark the non-exported config function as failed
with reason 'undef' if the other function is exported.
For example, if init_per_suite is exported, but not end_per_suite,
then end_per_suite will be marked as failed with reason undef. (If
none of them exist, then they will both be marked as passed since the
default functions in ct_framework are called instead.)
All hook functions are always called with the correct suite name,
i.e. never with Suite=ct_framework.
Conflicts:
lib/common_test/test/ct_hooks_SUITE.erl
|
|
An extra argument, Suite, is added as the first argument to each of
the following hook callback functions:
- pre_init_per_group
- post_init_per_group
- pre_end_per_group
- post_end_per_group
- pre_init_per_testcase
- post_init_per_testcase
- pre_end_per_testcase
- post_end_per_testcase
- on_tc_fail
- on_tc_skip
For backwards compatibility, if the new function is not exported from
a hook callback module, common_test will fall back to the old
interface and call the function without the Suite argument.
The reason for adding the new argument is that if a test suite is
skipped by a 'skip_suites' statement in the test specification, then
there will be no call to pre/post_init_per_suite, and thus the hook
has no other way of knowing which Suite is skipped when it gets the
on_tc_skip callback. The other callbacks are updated for symmetry.
|
|
If CtHook:pre_init_per_testcase(...,end_per_testcase,...) failed, then
the ct_framework:end_tc would fail with function_clause. This is now
corrected.
|
|
|
|
* ingela/ssl/handshake-match/ERL-347/OTP-14222:
ssl: Test case robustness
ssl: Avoid SSL/TLS hello format confusion
|
|
|
|
* hasse/stdlib/shell_tab_compl/ERL-352/OTP-14200:
stdlib: Improve Erlang shell's tab-completion of long names
|
|
* siri/systools/warnings_as_errors-return/OTP-14170:
[systools] Fix return value for warnings_as_errors + silent
|
|
Fix observer term conversion error spelling
|
|
* hasse/dialyzer/correct_plt_tests:
dialyzer: Correct PLT tests
|
|
|
|
|
|
In the observer UI, when inspecting state, the error given when attempting to convert a bad term contains a spelling mistake.
|
|
[tools] Update erlang-edoc.el to include param and returns
OTP-14217
|
|
Conflicts:
OTP_VERSION
|
|
Valid SSL 3.0 or TLS hellos might accidentally match SSL 2.0 format
(and sometimes the other way around before inspecting data)
so we need to match SSL 3.0 and TLS first and only match SSL 2.0
hellos when flag to support it is set.
|
|
When both options 'warnings_as_errors' and 'silent' were given to
systools:make_script or systools:make_relup, no error reason would be
returned if warnings occured. Instead only the atom 'error' was
returned. This is now corrected.
Options 'warnings_as_errors' and 'no_warn_sasl' are now also allowed
for systools:make_tar.
|
|
|
|
|
|
|
|
Store messages for 'rex' and 'error_logger' off heap
OTP-14192
|
|
file: match enoent and enotdir in path_open
OTP-14191
|
|
|
|
|
|
Use explicit file names of PLTs so that daily builds&tests running
simultaneously under the same user do not interfere with each other
("$HOME/.dialyzer_plt" is the default PLT name).
|
|
|
|
Performance for processes that receive huge amounts of
messages can be increased by storing the incoming messages
outside the heap (that avoids copying the message in a
garbage collection).
Two OTP processes that are known to receive many messages
are 'rex' (used by 'rpc') and 'error_logger'.
|
|
|
|
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/sys/unix/erl_unix_sys.h
erts/emulator/sys/unix/sys.c
erts/vsn.mk
lib/crypto/c_src/crypto.c
lib/crypto/doc/src/notes.xml
lib/crypto/vsn.mk
lib/inets/doc/src/notes.xml
lib/inets/vsn.mk
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh.app.src
lib/ssh/src/ssh_connection_handler.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
* hasse/dialyzer/memory_opt/OTP-14126:
dialyzer: Increase time limit for tests
dialyzer: Optimize typesig
dialyzer: Optimize evaluation of complex code
dialyzer: Optimize collection of variables
|
|
|
|
|
|
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174:
inets: httpd - shutdown gracefully on connection or TLS handshake errors
|
|
* ingela/ssl/config-propagation:
ssl: Simplify configuration code
ssl: Make sure PEM cache works as intended
|
|
|
|
* hans/ssh/dh_group_exc_optimize/OTP-14169:
ssh: optimize kex dh_gex using new crypto functionality
crypto: Added optional length to paramlist in generate_key
ssh,crypto: prepare for release
# Conflicts:
# lib/ssh/src/ssh_transport.erl
|
|
* hans/ssh/kex_gex_min_max/OTP-14166:
ssh: correct host key signature calculation
|
|
|
|
Use map instead of large tuple, which was not an option when the code
was written originally. More simplifications along these lines may
be done later to the state record.
|
|
Move of PEM cache to own process was flawed and not all PEM files
where cached properly. We must properly handle both the ditributed
and the normal mode of the ssl application.
|
|
This kex algorithm is now optimized so a long timetrap is not needed
|
|
* maint-19:
Updated OTP version
Prepare release
Fixed crash when a table was deleted during checkpoint traversal
|
|
|
|
dialyzer_typesig:traverse_scc() now resets the context for each
element of the SCC. Since the results of traversing the elements are
saved in the 'cmap' table, there is no need to create an SCC
conjunction. For huge SCCs this saves quite some time: the
lift_lists() function added one element at a time, which made the
calculation of deps very slow.
|
|
Improve the evaluation of long lists of constraints.
|
|
|