diff options
Diffstat (limited to 'lib/compiler/test/lc_SUITE.erl')
-rw-r--r-- | lib/compiler/test/lc_SUITE.erl | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/lib/compiler/test/lc_SUITE.erl b/lib/compiler/test/lc_SUITE.erl index c80b7cc59e..47579145ef 100644 --- a/lib/compiler/test/lc_SUITE.erl +++ b/lib/compiler/test/lc_SUITE.erl @@ -106,32 +106,30 @@ basic(Config) when is_list(Config) -> {'EXIT',_} = (catch [X || X <- L1, list_to_atom(X) == dum]), [] = [X || X <- L1, X+1 < 2], {'EXIT',_} = (catch [X || X <- L1, odd(X)]), - fc([x], catch [E || E <- id(x)]), + {'EXIT',{{bad_generator,x},_}} = (catch [E || E <- id(x)]), %% Make sure that line numbers point out the generator. case ?MODULE of lc_inline_SUITE -> ok; _ -> - {'EXIT',{function_clause, + {'EXIT',{{bad_generator,a}, [{?MODULE,_,_, [{file,"bad_lc.erl"},{line,4}]}|_]}} = - (catch bad_generator(a)), - {'EXIT',{function_clause, + (catch id(bad_generator(a))), + + {'EXIT',{{bad_generator,a}, [{?MODULE,_,_, - [{file,"bad_lc.erl"},{line,4}]}|_]}} = - (catch bad_generator([a|b])), - {'EXIT',{badarg, - [{erlang,length,_,_}, - {?MODULE,bad_generator_bc,1, [{file,"bad_lc.erl"},{line,7}]}|_]}} = - (catch bad_generator_bc(a)), - {'EXIT',{badarg, - [{erlang,length,_,_}, - {?MODULE,bad_generator_bc,1, - [{file,"bad_lc.erl"},{line,7}]}|_]}} = - (catch bad_generator_bc([a|b])) + (catch id(bad_generator_bc(a))), + + %% List comprehensions with improper lists. + {'EXIT',{{bad_generator,d}, + [{?MODULE,_,_, + [{file,"bad_lc.erl"},{line,4}]}|_]}} = + (catch bad_generator(id([a,b,c|d]))) end, + ok. tuple_list() -> @@ -267,14 +265,6 @@ do_effect(Lc, L) -> id(I) -> I. -fc(Args, {'EXIT',{function_clause,[{?MODULE,_,Args,_}|_]}}) -> ok; -fc(Args, {'EXIT',{function_clause,[{?MODULE,_,Arity,_}|_]}}) - when length(Args) =:= Arity -> - true = test_server:is_native(?MODULE); -fc(Args, {'EXIT',{{case_clause,ActualArgs},_}}) - when ?MODULE =:= lc_inline_SUITE -> - Args = tuple_to_list(ActualArgs). - -file("bad_lc.erl", 1). bad_generator(List) -> %Line 2 [I || %Line 3 |