diff options
author | Erlang/OTP <[email protected]> | 2019-06-14 08:47:44 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2019-06-14 08:47:44 +0200 |
commit | e8e473bc852b5fa763e7c2c5a696c4deb892d10a (patch) | |
tree | eb40a6819d1070edfb7a8b379b15da0affb2f81d /lib/common_test/src/test_server.erl | |
parent | 54eec90366a910e28272fa3d33e688c22c91ec7f (diff) | |
parent | 795d0637aa6a34c43e0d13186630aad96682d351 (diff) | |
download | otp-e8e473bc852b5fa763e7c2c5a696c4deb892d10a.tar.gz otp-e8e473bc852b5fa763e7c2c5a696c4deb892d10a.tar.bz2 otp-e8e473bc852b5fa763e7c2c5a696c4deb892d10a.zip |
Merge branch 'siri/ct/fail-after-failed-init_per_testcase/ERIERL-350/OTP-15869' into maint-20
* siri/ct/fail-after-failed-init_per_testcase/ERIERL-350/OTP-15869:
[ct] Allow post_init_per_testcase to change skip to fail
Diffstat (limited to 'lib/common_test/src/test_server.erl')
-rw-r--r-- | lib/common_test/src/test_server.erl | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/common_test/src/test_server.erl b/lib/common_test/src/test_server.erl index c6916ea815..caa30fea2c 100644 --- a/lib/common_test/src/test_server.erl +++ b/lib/common_test/src/test_server.erl @@ -1363,23 +1363,29 @@ do_end_tc_call(Mod, IPTC={init_per_testcase,Func}, Res, Return) -> {NOk,_} when NOk == auto_skip; NOk == fail; NOk == skip ; NOk == skipped -> {_,Args} = Res, - IPTCEndRes = + {NewConfig,IPTCEndRes} = case do_end_tc_call1(Mod, IPTC, Res, Return) of IPTCEndConfig when is_list(IPTCEndConfig) -> - IPTCEndConfig; + {IPTCEndConfig,IPTCEndConfig}; + {failed,RetReason} when Return=:={fail,RetReason} -> + %% Fail reason not changed by framework or hook + {Args,Return}; + {SF,_} = IPTCEndResult when SF=:=skip; SF=:=skipped; + SF=:=fail; SF=:=failed -> + {Args,IPTCEndResult}; _ -> - Args + {Args,Return} end, EPTCInitRes = case do_init_tc_call(Mod,{end_per_testcase_not_run,Func}, - IPTCEndRes,Return) of + NewConfig,IPTCEndRes) of {ok,EPTCInitConfig} when is_list(EPTCInitConfig) -> - {Return,EPTCInitConfig}; + {IPTCEndRes,EPTCInitConfig}; _ -> - {Return,IPTCEndRes} + {IPTCEndRes,NewConfig} end, do_end_tc_call1(Mod, {end_per_testcase_not_run,Func}, - EPTCInitRes, Return); + EPTCInitRes, IPTCEndRes); _Ok -> do_end_tc_call1(Mod, IPTC, Res, Return) end; |