[erlang-bugs] internal error in v3_life
Erik Søe Sørensen
ess@REDACTED
Tue Dec 20 10:56:03 CET 2011
A simplified version:
-module(comperr).
-compile([export_all]).
split_cases(A) ->
case A of
x -> Z = dummy1;
_ -> Z = dummy2,
a=b
end,
case Z of
_ -> ok
end.
This fails with erts-5.8.4.
On 20-12-2011 10:01, Håkan Mattsson wrote:
> -module(foo).
> -compile([export_all]).
>
> split_cases(IsRecursive, [Case | Cases], Acc) ->
> case binary:split(Case,<<":">>) of
> [<<"qmt file", _/binary>> |_] ->
> Qmt = Case,
> case Cases of
> [Case2 | Cases2] ->
> Sections = binary:split(Case2,<<"\n">>, [global]);
> [] ->
> Sections = binary:split(Case,<<"\n">>, []),
> Cases2 = []
> end;
> [<<"test case", _/binary>> |_] ->
> Qmt =<<>>,
> Sections = binary:split(Case,<<"\n">>, [global]),
> Cases2 = Cases;
> [<<>>] ->
>
> io:format("DEBUG: ~p ~p\n", [Case, Cases]),
> Qmt =<<>>,
> Sections = [],
> Cases2 = [],
> a=b
> end,
> case Sections of
> [Reason] ->
> case binary:split(Qmt,<<":">>) of
> [_, QmtFile] -> ok;
> [] -> QmtFile = Qmt
> end,
> Res = {result_case, QmtFile,<<"ERROR">>, Reason},
> split_cases(IsRecursive, Cases2, [Res | Acc]);
> [QmtCase, Reason] ->
> [_, QmtFile] = binary:split(QmtCase,<<":">>),
> Res =
> case binary:split(Reason,<<":">>) of
> [<<"result", _/binary>>, Reason2] ->
> {result_case, QmtFile, Reason2, Reason};
> [<<"error", _/binary>>, Reason2] ->
> {result_case, QmtFile,<<"ERROR">>, Reason2}
> end,
> split_cases(IsRecursive, Cases2, [Res | Acc]);
> [QmtCase, ScriptCase, EventCase | DocAndResult] ->
> [_, QmtFile] = binary:split(QmtCase,<<":">>),
> [_, ScriptFile] = binary:split(ScriptCase,<<":">>),
> [_, EventFile] = binary:split(EventCase,<<":">>),
> EventLog = binary_to_list(EventFile),
> case IsRecursive of
> true ->
> case annotate_log(EventLog) of
> ok ->
> ok;
> {error, _, Reason} ->
> io:format("ERROR in ~s\n\~p\n", [EventLog, Reason])
> end;
> false ->
> ignore
> end,
> {Doc, ResultCase} = split_doc(DocAndResult, []),
> Result = parse_result(ResultCase),
> HtmlLog = EventLog ++ ".html",
> Res = {test_case, QmtFile, Qmt, ScriptFile, EventLog, Doc,
> HtmlLog, Result},
> split_cases(IsRecursive, Cases2, [Res | Acc])
> end;
> split_cases(_IsRecursive, [], Acc) ->
> lists:reverse(Acc).
>
> annotate_log(_EventLog) ->
> dummy.
>
> split_doc(_DocAndResult, _Acc) ->
> {dummy, dummy}.
>
> parse_result(_ResultCase) ->
> dummy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20111220/d3754866/attachment.htm>
More information about the erlang-bugs
mailing list