aboutsummaryrefslogtreecommitdiffstats
path: root/lib/common_test/src
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2019-06-04 14:37:12 +0200
committerSiri Hansen <[email protected]>2019-06-05 11:04:42 +0200
commit482fe8dc166c13865651f0b7834b93b9ab319431 (patch)
tree264d661a6327c7ea25a9f40ce42e3aa9a365cb63 /lib/common_test/src
parent9127de8d0204755a7a95b674e77c6aa0583efce0 (diff)
downloadotp-482fe8dc166c13865651f0b7834b93b9ab319431.tar.gz
otp-482fe8dc166c13865651f0b7834b93b9ab319431.tar.bz2
otp-482fe8dc166c13865651f0b7834b93b9ab319431.zip
[ct] Fix bug where Hook:terminate/1 was called before Hook:init/2
This problem was introduced with commit acd87425acf7705328b01aa8f0a804207ffe4790, when the new hook function post_groups/2 and post_all/3 were added.
Diffstat (limited to 'lib/common_test/src')
-rw-r--r--lib/common_test/src/ct_hooks.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/common_test/src/ct_hooks.erl b/lib/common_test/src/ct_hooks.erl
index 97c349578f..94551d6815 100644
--- a/lib/common_test/src/ct_hooks.erl
+++ b/lib/common_test/src/ct_hooks.erl
@@ -363,7 +363,16 @@ terminate_if_scope_ends(HookId, Function0, Hooks) ->
Function = strip_config(Function0),
case lists:keyfind(HookId, #ct_hook_config.id, Hooks) of
#ct_hook_config{ id = HookId, scope = Function} = Hook ->
- terminate([Hook]),
+ case Function of
+ [AllOrGroup,_] when AllOrGroup=:=post_all;
+ AllOrGroup=:=post_groups ->
+ %% The scope only contains one function (post_all
+ %% or post_groups), and init has not been called,
+ %% so skip terminate as well.
+ ok;
+ _ ->
+ terminate([Hook])
+ end,
lists:keydelete(HookId, #ct_hook_config.id, Hooks);
_ ->
Hooks