aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/match_spec_SUITE.erl
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2012-12-20 14:57:34 +0100
committerPatrik Nyblom <[email protected]>2012-12-20 14:57:34 +0100
commite69d4d80e0dbb1916fb6900a2b47e0fdf85aea61 (patch)
tree4e52918023793ef0049960ca8d70d5dc1341f2b9 /erts/emulator/test/match_spec_SUITE.erl
parent52a6a63e0448cd5b969cf345aff59fc9c00d0050 (diff)
parent3afe2a65244df42ea692e08af0bc8e74ecf3c84d (diff)
downloadotp-e69d4d80e0dbb1916fb6900a2b47e0fdf85aea61.tar.gz
otp-e69d4d80e0dbb1916fb6900a2b47e0fdf85aea61.tar.bz2
otp-e69d4d80e0dbb1916fb6900a2b47e0fdf85aea61.zip
Merge branch 'pan/seq_trace_match_spec/OTP-10522'
* pan/seq_trace_match_spec/OTP-10522: Teach VM not to dump core on faulty seq_trace in ms
Diffstat (limited to 'erts/emulator/test/match_spec_SUITE.erl')
-rw-r--r--erts/emulator/test/match_spec_SUITE.erl16
1 files changed, 15 insertions, 1 deletions
diff --git a/erts/emulator/test/match_spec_SUITE.erl b/erts/emulator/test/match_spec_SUITE.erl
index 461773114e..d5cb4ee1b7 100644
--- a/erts/emulator/test/match_spec_SUITE.erl
+++ b/erts/emulator/test/match_spec_SUITE.erl
@@ -28,7 +28,7 @@
unary_plus/1, unary_minus/1, moving_labels/1]).
-export([fpe/1]).
-export([otp_9422/1]).
-
+-export([faulty_seq_trace/1, do_faulty_seq_trace/0]).
-export([runner/2, loop_runner/3]).
-export([f1/1, f2/2, f3/2, fn/1, fn/2, fn/3]).
-export([do_boxed_and_small/0]).
@@ -59,6 +59,7 @@ all() ->
ms_trace3, boxed_and_small, destructive_in_test_bif,
guard_exceptions, unary_plus, unary_minus, fpe,
moving_labels,
+ faulty_seq_trace,
otp_9422];
true -> [not_run]
end.
@@ -726,6 +727,19 @@ do_boxed_and_small() ->
{ok, false, _, _} = erlang:match_spec_test({0,3},[{{make_ref(),'_'},[],['$_']}],table),
ok.
+faulty_seq_trace(doc) ->
+ ["Test that faulty seq_trace_call does not crash emulator"];
+faulty_seq_trace(suite) -> [];
+faulty_seq_trace(Config) when is_list(Config) ->
+ ?line {ok, Node} = start_node(match_spec_suite_other),
+ ?line ok = rpc:call(Node,?MODULE,do_faulty_seq_trace,[]),
+ ?line stop_node(Node),
+ ok.
+
+do_faulty_seq_trace() ->
+ {ok,'EXIT',_,_} = erlang:match_spec_test([],[{'_',[],[{message,{set_seq_token,yxa,true}}]}],trace),
+ ok.
+
errchk(Pat) ->
case catch erlang:trace_pattern({?MODULE, f2, 2}, Pat) of
{'EXIT', {badarg, _}} ->