diff options
author | Erlang/OTP <[email protected]> | 2018-03-21 18:33:11 +0100 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2018-03-21 18:33:11 +0100 |
commit | 80728176e894980aa425b1197c41647e25aa3274 (patch) | |
tree | 615b3e86861bbe81dc83b156f8f9b6d96179b474 | |
parent | 0f2ead7bedeedc852db2deeeaa0e9e096bba8c0f (diff) | |
parent | 57b6fd27292e1c80e8e443991b9a24d3f8ad92eb (diff) | |
download | otp-80728176e894980aa425b1197c41647e25aa3274.tar.gz otp-80728176e894980aa425b1197c41647e25aa3274.tar.bz2 otp-80728176e894980aa425b1197c41647e25aa3274.zip |
Merge branch 'raimo/stdlib/fix-gen_statem-init-actions-check/OTP-13995' into maint-20
* raimo/stdlib/fix-gen_statem-init-actions-check/OTP-13995:
Test event insert from init
Fix init to allow all actions
-rw-r--r-- | lib/stdlib/src/gen_statem.erl | 8 | ||||
-rw-r--r-- | lib/stdlib/test/gen_statem_SUITE.erl | 13 |
2 files changed, 13 insertions, 8 deletions
diff --git a/lib/stdlib/src/gen_statem.erl b/lib/stdlib/src/gen_statem.erl index b1d99e2e14..eb0d6bd742 100644 --- a/lib/stdlib/src/gen_statem.erl +++ b/lib/stdlib/src/gen_statem.erl @@ -677,9 +677,9 @@ enter(Module, Opts, State, Data, Server, Actions, Parent) -> NewDebug = ?sys_debug(Debug, {Name,State}, {enter,Event,State}), case call_callback_mode(S) of #state{} = NewS -> - loop_event_actions( + loop_event_actions_list( Parent, NewDebug, NewS, - Events, Event, State, Data, #trans_opts{}, + Events, Event, State, Data, false, NewActions, CallEnter); [Class,Reason,Stacktrace] -> terminate( @@ -1295,7 +1295,7 @@ parse_actions_next_event( next_events_r = [{Type,Content}|NextEventsR]}); _ -> [error, - {bad_action_from_state_function,{next_events,Type,Content}}, + {bad_action_from_state_function,{next_event,Type,Content}}, ?STACKTRACE(), ?not_sys_debug] end; @@ -1312,7 +1312,7 @@ parse_actions_next_event( next_events_r = [{Type,Content}|NextEventsR]}); _ -> [error, - {bad_action_from_state_function,{next_events,Type,Content}}, + {bad_action_from_state_function,{next_event,Type,Content}}, ?STACKTRACE(), Debug] end. diff --git a/lib/stdlib/test/gen_statem_SUITE.erl b/lib/stdlib/test/gen_statem_SUITE.erl index 5b9daecfd3..270f1c294a 100644 --- a/lib/stdlib/test/gen_statem_SUITE.erl +++ b/lib/stdlib/test/gen_statem_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2016-2017. All Rights Reserved. +%% Copyright Ericsson AB 2016-2018. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ -include_lib("common_test/include/ct.hrl"). --compile(export_all). +-compile([export_all, nowarn_export_all]). -behaviour(gen_statem). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -832,9 +832,14 @@ event_types(_Config) -> %% Abusing the internal format of From... #{init => fun () -> - {ok, start, undefined} + {ok, start1, undefined, + [{next_event,internal,0}]} end, - start => + start1 => + fun (internal, 0, undefined) -> + {next_state, start2, undefined} + end, + start2 => fun ({call,_} = Call, Req, undefined) -> {next_state, state1, undefined, [{next_event,internal,1}, |