diff options
author | Siri Hansen <[email protected]> | 2017-02-16 15:36:07 +0100 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2017-02-20 12:40:08 +0100 |
commit | c802f5d8d0ea08154005abfdcb0d958f126f26d1 (patch) | |
tree | 9c33eaeb15332ae0962a017d5f7a179d6e7e1e65 /erts/test | |
parent | a95a22017523229bb8924afbd928d3e16b564fa5 (diff) | |
download | otp-c802f5d8d0ea08154005abfdcb0d958f126f26d1.tar.gz otp-c802f5d8d0ea08154005abfdcb0d958f126f26d1.tar.bz2 otp-c802f5d8d0ea08154005abfdcb0d958f126f26d1.zip |
[ct] Fix hooks and fail when one of init/end_per_* does not exit
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
Diffstat (limited to 'erts/test')
0 files changed, 0 insertions, 0 deletions