diff options
Diffstat (limited to 'lib/compiler/test')
| -rw-r--r-- | lib/compiler/test/Makefile | 1 | ||||
| -rw-r--r-- | lib/compiler/test/bs_match_SUITE.erl | 19 | ||||
| -rw-r--r-- | lib/compiler/test/compilation_SUITE_data/opt_crash.erl | 6 | ||||
| -rw-r--r-- | lib/compiler/test/compile_SUITE.erl | 58 | ||||
| -rw-r--r-- | lib/compiler/test/core_alias_SUITE.erl | 195 | ||||
| -rw-r--r-- | lib/compiler/test/core_fold_SUITE.erl | 28 | ||||
| -rw-r--r-- | lib/compiler/test/guard_SUITE.erl | 4 | ||||
| -rw-r--r-- | lib/compiler/test/match_SUITE.erl | 64 | ||||
| -rw-r--r-- | lib/compiler/test/misc_SUITE.erl | 11 | ||||
| -rw-r--r-- | lib/compiler/test/trycatch_SUITE.erl | 6 | 
10 files changed, 368 insertions, 24 deletions
| diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile index 63763f31b2..da5d207db9 100644 --- a/lib/compiler/test/Makefile +++ b/lib/compiler/test/Makefile @@ -22,6 +22,7 @@ MODULES= \  	bs_construct_SUITE \  	bs_match_SUITE \  	bs_utf_SUITE \ +	core_alias_SUITE \  	core_fold_SUITE \  	compile_SUITE \  	compilation_SUITE \ diff --git a/lib/compiler/test/bs_match_SUITE.erl b/lib/compiler/test/bs_match_SUITE.erl index 2fe8cd0cff..ad48d4c0b7 100644 --- a/lib/compiler/test/bs_match_SUITE.erl +++ b/lib/compiler/test/bs_match_SUITE.erl @@ -39,7 +39,7 @@  	 match_string_opt/1,select_on_integer/1,  	 map_and_binary/1,unsafe_branch_caching/1,  	 bad_literals/1,good_literals/1,constant_propagation/1, -	 parse_xml/1,get_payload/1,num_slots_different/1]). +	 parse_xml/1,get_payload/1,escape/1,num_slots_different/1]).  -export([coverage_id/1,coverage_external_ignore/2]). @@ -71,7 +71,7 @@ groups() ->         match_string_opt,select_on_integer,         map_and_binary,unsafe_branch_caching,         bad_literals,good_literals,constant_propagation,parse_xml, -       get_payload,num_slots_different]}]. +       get_payload,escape,num_slots_different]}].  init_per_suite(Config) -> @@ -1524,6 +1524,21 @@ do_get_payload(ExtHdr) ->      <<_:13,_:35>> = ExtHdr#ext_header.ext_hdr_opts,      ExtHdrOptions. +escape(_Config) -> +    0 = escape(<<>>, 0), +    1 = escape(<<128>>, 0), +    2 = escape(<<128,255>>, 0), +    42 = escape(<<42>>, 0), +    50 = escape(<<42,8>>, 0), +    ok. + +escape(<<Byte, Rest/bits>>, Pos) when Byte >= 127 -> +    escape(Rest, Pos + 1); +escape(<<Byte, Rest/bits>>, Pos) -> +    escape(Rest, Pos + Byte); +escape(<<_Rest/bits>>, Pos) -> +    Pos. +  %% ERL-490  num_slots_different(_Config) ->      Ts = [{<<"de">>, <<"default">>, <<"Remove">>, <<"a">>}, diff --git a/lib/compiler/test/compilation_SUITE_data/opt_crash.erl b/lib/compiler/test/compilation_SUITE_data/opt_crash.erl index f1607cca68..c65ec31593 100644 --- a/lib/compiler/test/compilation_SUITE_data/opt_crash.erl +++ b/lib/compiler/test/compilation_SUITE_data/opt_crash.erl @@ -33,7 +33,7 @@ test() ->                 {userinfo,nil},                 fun() -> nil end},              nil}, -         {'query',nil}}}, +         {query,nil}}},     {absoluteURI,        {scheme,_}, @@ -43,7 +43,7 @@ test() ->                 {userinfo,nil},                 HostportBefore},              nil}, -         {'query',nil}}} = URI_Before, +         {query,nil}}} = URI_Before,     %% ... some funky code ommitted, not relevant ... @@ -55,7 +55,7 @@ test() ->                 {userinfo,nil},                 HostportAfter},              nil}, -         {'query',nil}}} = URI_Before, +         {query,nil}}} = URI_Before,     %% NOTE: I intended to write URI_After instead of URI_Before     %% but the accident revealed that when you add the line below,     %% it causes internal error in v3_codegen on compilation diff --git a/lib/compiler/test/compile_SUITE.erl b/lib/compiler/test/compile_SUITE.erl index f647a4030d..e88a132d59 100644 --- a/lib/compiler/test/compile_SUITE.erl +++ b/lib/compiler/test/compile_SUITE.erl @@ -27,12 +27,12 @@  -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1,   	 init_per_group/2,end_per_group/2,  	 app_test/1,appup_test/1, -	 debug_info/4, custom_debug_info/1, +	 debug_info/4, custom_debug_info/1, custom_compile_info/1,  	 file_1/1, forms_2/1, module_mismatch/1, big_file/1, outdir/1,  	 binary/1, makedep/1, cond_and_ifdef/1, listings/1, listings_big/1,  	 other_output/1, kernel_listing/1, encrypted_abstr/1,  	 strict_record/1, utf8_atoms/1, utf8_functions/1, extra_chunks/1, -	 cover/1, env/1, core_pp/1, +	 cover/1, env/1, core_pp/1, tuple_calls/1,  	 core_roundtrip/1, asm/1, optimized_guards/1,  	 sys_pre_attributes/1, dialyzer/1,  	 warnings/1, pre_load_check/1, env_compiler_options/1, @@ -49,11 +49,12 @@ all() ->      test_lib:recompile(?MODULE),      [app_test, appup_test, file_1, forms_2, module_mismatch, big_file, outdir,       binary, makedep, cond_and_ifdef, listings, listings_big, -     other_output, kernel_listing, encrypted_abstr, +     other_output, kernel_listing, encrypted_abstr, tuple_calls,       strict_record, utf8_atoms, utf8_functions, extra_chunks,       cover, env, core_pp, core_roundtrip, asm, optimized_guards,       sys_pre_attributes, dialyzer, warnings, pre_load_check, -     env_compiler_options, custom_debug_info, bc_options]. +     env_compiler_options, custom_debug_info, bc_options, +     custom_compile_info].  groups() ->       []. @@ -374,7 +375,6 @@ do_file_listings(DataDir, PrivDir, [File|Files]) ->      do_listing(Simple, TargetDir, dcbsm, ".core_bsm"),      do_listing(Simple, TargetDir, dsetel, ".dsetel"),      do_listing(Simple, TargetDir, dkern, ".kernel"), -    do_listing(Simple, TargetDir, dlife, ".life"),      do_listing(Simple, TargetDir, dcg, ".codegen"),      do_listing(Simple, TargetDir, dblk, ".block"),      do_listing(Simple, TargetDir, dexcept, ".except"), @@ -649,6 +649,23 @@ custom_debug_info(Config) when is_list(Config) ->      {ok,{simple,[{debug_info,{debug_info_v1,?MODULE,error}}]}} =  	beam_lib:chunks(ErrorBin, [debug_info]). +custom_compile_info(Config) when is_list(Config) -> +    Anno = erl_anno:new(1), +    Forms = [{attribute,Anno,module,custom_compile_info}], +    Opts = [binary,{compile_info,[{another,version}]}], + +    {ok,custom_compile_info,Bin} = compile:forms(Forms, Opts), +    {ok,{custom_compile_info,[{compile_info,CompileInfo}]}} = +	beam_lib:chunks(Bin, [compile_info]), +    version = proplists:get_value(another, CompileInfo), +    CompileOpts = proplists:get_value(options, CompileInfo), +    undefined = proplists:get_value(compile_info, CompileOpts), + +    {ok,custom_compile_info,DetBin} = compile:forms(Forms, [deterministic|Opts]), +    {ok,{custom_compile_info,[{compile_info,DetInfo}]}} = +	beam_lib:chunks(DetBin, [compile_info]), +    version = proplists:get_value(another, DetInfo). +  cover(Config) when is_list(Config) ->      io:format("~p\n", [compile:options()]),      ok. @@ -781,6 +798,37 @@ extra_chunks(Config) when is_list(Config) ->      {ok,{extra_chunks,[{"ExCh",<<"Contents">>}]}} =  	beam_lib:chunks(ExtraChunksBinary, ["ExCh"]). +tuple_calls(Config) when is_list(Config) -> +    Anno = erl_anno:new(1), +    Forms = [{attribute,Anno,export,[{size,1},{store,1}]}, +	     {function,Anno,size,1, +	      [{clause,Anno,[{var,[],mod}],[], +	       [{call,[],{remote,[],{var,[],mod},{atom,[],size}},[]}]}]}, +	     {function,Anno,store,1, +	      [{clause,Anno,[{var,[],mod}],[], +	       [{call,[],{remote,[],{var,[],mod},{atom,[],store}},[{atom,[],key},{atom,[],value}]}]}]}], + +    TupleCallsFalse = [{attribute,Anno,module,tuple_calls_false}|Forms], +    {ok,_,TupleCallsFalseBinary} = compile:forms(TupleCallsFalse, [binary]), +    code:load_binary(tuple_calls_false, "compile_SUITE.erl", TupleCallsFalseBinary), +    {'EXIT',{badarg,_}} = (catch tuple_calls_false:store(dict())), +    {'EXIT',{badarg,_}} = (catch tuple_calls_false:size(dict())), +    {'EXIT',{badarg,_}} = (catch tuple_calls_false:size(empty_tuple())), + +    TupleCallsTrue = [{attribute,Anno,module,tuple_calls_true}|Forms], +    {ok,_,TupleCallsTrueBinary} = compile:forms(TupleCallsTrue, [binary,tuple_calls]), +    code:load_binary(tuple_calls_true, "compile_SUITE.erl", TupleCallsTrueBinary), +    Dict = tuple_calls_true:store(dict()), +    1 = tuple_calls_true:size(Dict), +    {'EXIT',{badarg,_}} = (catch tuple_calls_true:size(empty_tuple())), + +    ok. + +dict() -> +    dict:new(). +empty_tuple() -> +    {}. +  env(Config) when is_list(Config) ->      {Simple,Target} = get_files(Config, simple, env),      {ok,Cwd} = file:get_cwd(), diff --git a/lib/compiler/test/core_alias_SUITE.erl b/lib/compiler/test/core_alias_SUITE.erl new file mode 100644 index 0000000000..f3f15ef0f8 --- /dev/null +++ b/lib/compiler/test/core_alias_SUITE.erl @@ -0,0 +1,195 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2007-2016. 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. +%% You may obtain a copy of the License at +%% +%%     http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%% +%% %CopyrightEnd% +%% +-module(core_alias_SUITE). + +-export([all/0, suite/0, groups/0,init_per_suite/1, end_per_suite/1, +         init_per_group/2, end_per_group/2, +         tuples/1, cons/1]). + +-include_lib("common_test/include/ct.hrl"). + +suite() -> [{ct_hooks,[ts_install_cth]}]. + +all() -> +    test_lib:recompile(?MODULE), +    [{group,p}]. + +groups() -> +    [{p,[parallel], +      [tuples, cons]}]. + +init_per_suite(Config) -> +    Config. + +end_per_suite(_Config) -> +    ok. + +init_per_group(_GroupName, Config) -> +    Config. + +end_per_group(_GroupName, Config) -> +    Config. + + +id(X) -> X. + +tuples(Config) when is_list(Config) -> +    Tuple = {ok,id(value)}, + +    true = erts_debug:same(Tuple, simple_tuple(Tuple)), +    true = erts_debug:same(Tuple, simple_tuple_in_map(#{hello => Tuple})), +    true = erts_debug:same(Tuple, simple_tuple_case_repeated(Tuple, Tuple)), +    true = erts_debug:same(Tuple, simple_tuple_fun_repeated(Tuple, Tuple)), +    true = erts_debug:same(Tuple, simple_tuple_twice_head(Tuple, Tuple)), + +    {Tuple1, Tuple2} = simple_tuple_twice_body(Tuple), +    true = erts_debug:same(Tuple, Tuple1), +    true = erts_debug:same(Tuple, Tuple2), + +    Nested = {nested,Tuple}, +    true = erts_debug:same(Tuple, nested_tuple_part(Nested)), +    true = erts_debug:same(Nested, nested_tuple_whole(Nested)), +    true = erts_debug:same(Nested, nested_tuple_with_alias(Nested)), + +    true = erts_debug:same(Tuple, tuple_rebinding_after(Tuple)), + +    Tuple = unaliased_tuple_rebinding_before(Tuple), +    false = erts_debug:same(Tuple, unaliased_tuple_rebinding_before(Tuple)), +    Nested = unaliased_literal_tuple_head(Nested), +    false = erts_debug:same(Nested, unaliased_literal_tuple_head(Nested)), +    Nested = unaliased_literal_tuple_body(Nested), +    false = erts_debug:same(Nested, unaliased_literal_tuple_body(Nested)), +    Nested = unaliased_different_var_tuple(Nested, Tuple), +    false = erts_debug:same(Nested, unaliased_different_var_tuple(Nested, Tuple)). + +simple_tuple({ok,X}) -> +    {ok,X}. +simple_tuple_twice_head({ok,X}, {ok,X}) -> +    {ok,X}. +simple_tuple_twice_body({ok,X}) -> +    {{ok,X},{ok,X}}. +simple_tuple_in_map(#{hello := {ok,X}}) -> +    {ok,X}. +simple_tuple_fun_repeated({ok,X}, Y) -> +    io:format("~p~n", [X]), +    (fun({ok,X}) -> {ok,X} end)(Y). +simple_tuple_case_repeated({ok,X}, Y) -> +    io:format("~p~n", [X]), +    case Y of {ok,X} -> {ok,X} end. + +nested_tuple_part({nested,{ok,X}}) -> +    {ok,X}. +nested_tuple_whole({nested,{ok,X}}) -> +    {nested,{ok,X}}. +nested_tuple_with_alias({nested,{ok,_}=Y}) -> +    {nested,Y}. + +tuple_rebinding_after(Y) -> +    (fun(X) -> {ok,X} end)(Y), +    case Y of {ok,X} -> {ok,X} end. +unaliased_tuple_rebinding_before({ok,X}) -> +    io:format("~p~n", [X]), +    (fun(X) -> {ok,X} end)(value). +unaliased_literal_tuple_head({nested,{ok,value}=X}) -> +    io:format("~p~n", [X]), +    {nested,{ok,value}}. +unaliased_literal_tuple_body({nested,{ok,value}=X}) -> +    Res = {nested,Y={ok,value}}, +    io:format("~p~n", [[X,Y]]), +    Res. +unaliased_different_var_tuple({nested,{ok,value}=X}, Y) -> +    io:format("~p~n", [X]), +    {nested,Y}. + +cons(Config) when is_list(Config) -> +    Cons = [ok|id(value)], + +    true = erts_debug:same(Cons, simple_cons(Cons)), +    true = erts_debug:same(Cons, simple_cons_in_map(#{hello => Cons})), +    true = erts_debug:same(Cons, simple_cons_case_repeated(Cons, Cons)), +    true = erts_debug:same(Cons, simple_cons_fun_repeated(Cons, Cons)), +    true = erts_debug:same(Cons, simple_cons_twice_head(Cons, Cons)), + +    {Cons1,Cons2} = simple_cons_twice_body(Cons), +    true = erts_debug:same(Cons, Cons1), +    true = erts_debug:same(Cons, Cons2), + +    Nested = [nested,Cons], +    true = erts_debug:same(Cons, nested_cons_part(Nested)), +    true = erts_debug:same(Nested, nested_cons_whole(Nested)), +    true = erts_debug:same(Nested, nested_cons_with_alias(Nested)), +    true = erts_debug:same(Cons, cons_rebinding_after(Cons)), + +    Unstripped = id([a,b]), +    Stripped = cons_with_binary([<<>>|Unstripped]), +    true = erts_debug:same(Unstripped, Stripped), + +    Cons = unaliased_cons_rebinding_before(Cons), +    false = erts_debug:same(Cons, unaliased_cons_rebinding_before(Cons)), +    Nested = unaliased_literal_cons_head(Nested), +    false = erts_debug:same(Nested, unaliased_literal_cons_head(Nested)), +    Nested = unaliased_literal_cons_body(Nested), +    false = erts_debug:same(Nested, unaliased_literal_cons_body(Nested)), +    Nested = unaliased_different_var_cons(Nested, Cons), +    false = erts_debug:same(Nested, unaliased_different_var_cons(Nested, Cons)). + +simple_cons([ok|X]) -> +    [ok|X]. +simple_cons_twice_head([ok|X], [ok|X]) -> +    [ok|X]. +simple_cons_twice_body([ok|X]) -> +    {[ok|X],[ok|X]}. +simple_cons_in_map(#{hello := [ok|X]}) -> +    [ok|X]. +simple_cons_fun_repeated([ok|X], Y) -> +    io:format("~p~n", [X]), +    (fun([ok|X]) -> [ok|X] end)(Y). +simple_cons_case_repeated([ok|X], Y) -> +    io:format("~p~n", [X]), +    case Y of [ok|X] -> [ok|X] end. + +nested_cons_part([nested,[ok|X]]) -> +    [ok|X]. +nested_cons_whole([nested,[ok|X]]) -> +    [nested,[ok|X]]. +nested_cons_with_alias([nested,[ok|_]=Y]) -> +    [nested,Y]. + +cons_with_binary([<<>>,X|Y]) -> +    cons_with_binary([X|Y]); +cons_with_binary(A) -> +    A. + +cons_rebinding_after(Y) -> +    (fun(X) -> [ok|X] end)(Y), +    case Y of [ok|X] -> [ok|X] end. +unaliased_cons_rebinding_before([ok|X]) -> +    io:format("~p~n", [X]), +    (fun(X) -> [ok|X] end)(value). +unaliased_literal_cons_head([nested,[ok|value]=X]) -> +    io:format("~p~n", [X]), +    [nested,[ok|value]]. +unaliased_literal_cons_body([nested,[ok|value]=X]) -> +    Res = [nested,Y=[ok|value]], +    io:format("~p~n", [[X, Y]]), +    Res. +unaliased_different_var_cons([nested,[ok|value]=X], Y) -> +    io:format("~p~n", [X]), +    [nested,Y]. diff --git a/lib/compiler/test/core_fold_SUITE.erl b/lib/compiler/test/core_fold_SUITE.erl index 0097e28d4d..262967d03d 100644 --- a/lib/compiler/test/core_fold_SUITE.erl +++ b/lib/compiler/test/core_fold_SUITE.erl @@ -26,7 +26,8 @@  	 unused_multiple_values_error/1,unused_multiple_values/1,  	 multiple_aliases/1,redundant_boolean_clauses/1,  	 mixed_matching_clauses/1,unnecessary_building/1, -	 no_no_file/1,configuration/1,supplies/1]). +	 no_no_file/1,configuration/1,supplies/1, +         redundant_stack_frame/1]).  -export([foo/0,foo/1,foo/2,foo/3]). @@ -45,7 +46,8 @@ groups() ->         unused_multiple_values_error,unused_multiple_values,         multiple_aliases,redundant_boolean_clauses,         mixed_matching_clauses,unnecessary_building, -       no_no_file,configuration,supplies]}]. +       no_no_file,configuration,supplies, +       redundant_stack_frame]}].  init_per_suite(Config) -> @@ -527,4 +529,26 @@ supplies(_Config) ->  do_supplies(#{1 := Value}) when byte_size(Value), byte_size(kg) -> working. +redundant_stack_frame(_Config) -> +    {1,2} = do_redundant_stack_frame(#{x=>1,y=>2}), +    {'EXIT',{{badkey,_,x},_}} = (catch do_redundant_stack_frame(#{y=>2})), +    {'EXIT',{{badkey,_,y},_}} = (catch do_redundant_stack_frame(#{x=>1})), +    ok. + +do_redundant_stack_frame(Map) -> +    %% There should not be a stack frame for this function. +    X = case Map of +            #{x := X0} -> +                X0; +            #{} -> +                erlang:error({badkey, Map, x}) +        end, +    Y = case Map of +            #{y := Y0} -> +                Y0; +            #{} -> +                erlang:error({badkey, Map, y}) +        end, +    {X, Y}. +  id(I) -> I. diff --git a/lib/compiler/test/guard_SUITE.erl b/lib/compiler/test/guard_SUITE.erl index ccb9b58225..d96cfdb7ac 100644 --- a/lib/compiler/test/guard_SUITE.erl +++ b/lib/compiler/test/guard_SUITE.erl @@ -1291,6 +1291,10 @@ rel_ops(Config) when is_list(Config) ->      true = any_atom /= id(42),      true = [] /= id(42), +    %% Coverage of beam_utils:bif_to_test/3 +    Empty = id([]), +    ?T(==, [], Empty), +      ok.  -undef(TestOp). diff --git a/lib/compiler/test/match_SUITE.erl b/lib/compiler/test/match_SUITE.erl index 52b2da05f7..c31695be24 100644 --- a/lib/compiler/test/match_SUITE.erl +++ b/lib/compiler/test/match_SUITE.erl @@ -23,7 +23,7 @@  	 init_per_group/2,end_per_group/2,  	 pmatch/1,mixed/1,aliases/1,non_matching_aliases/1,  	 match_in_call/1,untuplify/1,shortcut_boolean/1,letify_guard/1, -	 selectify/1,underscore/1,match_map/1,map_vars_used/1, +	 selectify/1,deselectify/1,underscore/1,match_map/1,map_vars_used/1,  	 coverage/1,grab_bag/1,literal_binary/1]).  -include_lib("common_test/include/ct.hrl"). @@ -38,7 +38,7 @@ groups() ->      [{p,[parallel],        [pmatch,mixed,aliases,non_matching_aliases,         match_in_call,untuplify, -       shortcut_boolean,letify_guard,selectify, +       shortcut_boolean,letify_guard,selectify,deselectify,         underscore,match_map,map_vars_used,coverage,         grab_bag,literal_binary]}]. @@ -466,6 +466,66 @@ sel_same_value2(V) when V =:= 42; V =:= 43 ->  sel_same_value2(_) ->      error. +%% Test deconstruction of select_val instructions in beam_peep into +%% regular tests with just one possible value left. Hitting proper cases +%% in beam_peep relies on unification of labels by beam_jump. + +deselectify(Config) when is_list(Config) -> +    one_or_other = desel_tuple_arity({1}), +    two = desel_tuple_arity({1,1}), +    one_or_other = desel_tuple_arity({1,1,1}), + +    one_or_other = dsel_integer(1), +    two = dsel_integer(2), +    one_or_other = dsel_integer(3), + +    one_or_other = dsel_integer_typecheck(1), +    two = dsel_integer_typecheck(2), +    one_or_other = dsel_integer_typecheck(3), + +    one_or_other = dsel_atom(one), +    two = dsel_atom(two), +    one_or_other = dsel_atom(three), + +    one_or_other = dsel_atom_typecheck(one), +    two = dsel_atom_typecheck(two), +    one_or_other = dsel_atom_typecheck(three). + +desel_tuple_arity(Tuple) when is_tuple(Tuple) -> +    case Tuple of +        {_} -> one_or_other; +        {_,_} -> two; +        _ -> one_or_other +    end. + +dsel_integer(Val) -> +    case Val of +        1 -> one_or_other; +        2 -> two; +        _ -> one_or_other +    end. + +dsel_integer_typecheck(Val) when is_integer(Val) -> +    case Val of +        1 -> one_or_other; +        2 -> two; +        _ -> one_or_other +    end. + +dsel_atom(Val) -> +    case Val of +        one -> one_or_other; +        two -> two; +        _ -> one_or_other +    end. + +dsel_atom_typecheck(Val) when is_atom(Val) -> +    case Val of +        one -> one_or_other; +        two -> two; +        _ -> one_or_other +    end. +  underscore(Config) when is_list(Config) ->      case Config of  	[] -> diff --git a/lib/compiler/test/misc_SUITE.erl b/lib/compiler/test/misc_SUITE.erl index 4bd884d86b..b12bcbeeab 100644 --- a/lib/compiler/test/misc_SUITE.erl +++ b/lib/compiler/test/misc_SUITE.erl @@ -161,16 +161,17 @@ md5_1(Beam) ->  %% Cover some code that handles internal errors.  silly_coverage(Config) when is_list(Config) -> -    %% sys_core_fold, sys_core_bsm, sys_core_setel, v3_kernel +    %% sys_core_fold, sys_core_alias, sys_core_bsm, sys_core_setel, v3_kernel      BadCoreErlang = {c_module,[],  		     name,[],[],  		     [{{c_var,[],{foo,2}},seriously_bad_body}]},      expect_error(fun() -> sys_core_fold:module(BadCoreErlang, []) end), +    expect_error(fun() -> sys_core_alias:module(BadCoreErlang, []) end),      expect_error(fun() -> sys_core_bsm:module(BadCoreErlang, []) end),      expect_error(fun() -> sys_core_dsetel:module(BadCoreErlang, []) end),      expect_error(fun() -> v3_kernel:module(BadCoreErlang, []) end), -    %% v3_life +    %% v3_codegen      BadKernel = {k_mdef,[],?MODULE,  		 [{foo,0}],  		 [], @@ -178,11 +179,7 @@ silly_coverage(Config) when is_list(Config) ->  		   {k,[],[],[]},  		   f,0,[],  		   seriously_bad_body}]}, -    expect_error(fun() -> v3_life:module(BadKernel, []) end), - -    %% v3_codegen -    CodegenInput = {?MODULE,[{foo,0}],[],[{function,foo,0,[a|b],a,b,[]}]}, -    expect_error(fun() -> v3_codegen:module(CodegenInput, []) end), +    expect_error(fun() -> v3_codegen:module(BadKernel, []) end),      %% beam_a      BeamAInput = {?MODULE,[{foo,0}],[], diff --git a/lib/compiler/test/trycatch_SUITE.erl b/lib/compiler/test/trycatch_SUITE.erl index a591d6cc93..42dbf7d5f0 100644 --- a/lib/compiler/test/trycatch_SUITE.erl +++ b/lib/compiler/test/trycatch_SUITE.erl @@ -324,11 +324,11 @@ eclectic(Conf) when is_list(Conf) ->      {{error,{exit,V},{'EXIT',V}},V} =  	eclectic_1({foo,{error,{exit,V}}}, error, {value,V}),      {{value,{value,V},V}, -	   {'EXIT',{badarith,[{?MODULE,my_add,2,_}|_]}}} = +	   {'EXIT',{badarith,[{erlang,'+',[0,a],_},{?MODULE,my_add,2,_}|_]}}} =  	eclectic_1({foo,{value,{value,V}}}, undefined, {'add',{0,a}}),      {{'EXIT',V},V} =  	eclectic_1({catch_foo,{exit,V}}, undefined, {throw,V}), -    {{error,{'div',{1,0}},{'EXIT',{badarith,[{?MODULE,my_div,2,_}|_]}}}, +    {{error,{'div',{1,0}},{'EXIT',{badarith,[{erlang,'div',[1,0],_},{?MODULE,my_div,2,_}|_]}}},  	   {'EXIT',V}} =  	eclectic_1({foo,{error,{'div',{1,0}}}}, error, {exit,V}),      {{{error,V},{'EXIT',{V,[{?MODULE,foo,1,_}|_]}}}, @@ -345,7 +345,7 @@ eclectic(Conf) when is_list(Conf) ->  	eclectic_2({error,{value,V}}, throw, {error,V}),      {{caught,{'EXIT',{badarg,[{erlang,abs,[V],_}|_]}}},V} =  	eclectic_2({value,{'abs',V}}, undefined, {value,V}), -    {{caught,{'EXIT',{badarith,[{?MODULE,my_add,2,_}|_]}}},V} = +    {{caught,{'EXIT',{badarith,[{erlang,'+',[0,a],_},{?MODULE,my_add,2,_}|_]}}},V} =  	eclectic_2({exit,{'add',{0,a}}}, exit, {value,V}),      {{caught,{'EXIT',V}},undefined} =  	eclectic_2({value,{error,V}}, undefined, {exit,V}), | 
