diff options
Diffstat (limited to 'lib/ic/test/ic_pp_SUITE.erl')
-rw-r--r-- | lib/ic/test/ic_pp_SUITE.erl | 212 |
1 files changed, 79 insertions, 133 deletions
diff --git a/lib/ic/test/ic_pp_SUITE.erl b/lib/ic/test/ic_pp_SUITE.erl index 38e936f9bc..be37953126 100644 --- a/lib/ic/test/ic_pp_SUITE.erl +++ b/lib/ic/test/ic_pp_SUITE.erl @@ -29,7 +29,7 @@ %% Standard options to the ic compiler, NOTE unholy use of OutDir --define(OUT(X), filename:join([?config(priv_dir, Config), gen, to_list(X)])). +-define(OUT(X), filename:join([proplists:get_value(priv_dir, Config), gen, to_list(X)])). -define(GCC, "g++"). -define(GCC_VER, "2.95.3"). @@ -146,121 +146,100 @@ cases() -> %%-------------------------------------------------------------------- %% arg %%-------------------------------------------------------------------- - - -arg_norm(doc) -> ["Checks arguments for #define."]; -arg_norm(suite) -> []; +%% Checks arguments for #define. arg_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(arg_norm), File = filename:join(DataDir, arg), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% cascade %%-------------------------------------------------------------------- - - -cascade_norm(doc) -> ["Check cascade #define."]; -cascade_norm(suite) -> []; +%% Check cascade #define. cascade_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(cascade_norm), File = filename:join(DataDir, cascade), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% comment %%-------------------------------------------------------------------- - - -comment_norm(doc) -> ["Check comments."]; -comment_norm(suite) -> []; +%% Check comments. comment_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(comment_norm), File = filename:join(DataDir, comment), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% concat %%-------------------------------------------------------------------- - - -concat_norm(doc) -> ["Check concatinations, i.e ## ."]; -concat_norm(suite) -> []; +%% Check concatinations, i.e ## . concat_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(concat_norm), File = filename:join(DataDir, concat), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% define %%-------------------------------------------------------------------- - - -define_norm(doc) -> ["Check misceleaneous #define."]; -define_norm(suite) -> []; +%% Check misceleaneous #define. define_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(define_norm), File = filename:join(DataDir, define), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% if %%-------------------------------------------------------------------- - -if_norm(doc) -> ["Check #if, #elif, and #endif. ."]; -if_norm(suite) -> []; +%% Check #if, #elif, and #endif. if_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(if_norm), File = filename:join(DataDir, 'if'), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. -if_zero(doc) -> ["Check #if 0"]; -if_zero(suite) -> []; +%% Check #if 0 if_zero(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(if_zero), File = filename:join(DataDir, if_zero), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% inc %%-------------------------------------------------------------------- - - -inc_norm(doc) -> ["Check #include."]; -inc_norm(suite) -> []; +%% Check #include. inc_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(inc_norm), File = filename:join(DataDir, inc), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. @@ -268,166 +247,133 @@ inc_norm(Config) when is_list(Config) -> %%-------------------------------------------------------------------- %% improp_nest_constr %%-------------------------------------------------------------------- - - -improp_nest_constr_norm(doc) -> ["Check improperly nested constructs."]; -improp_nest_constr_norm(suite) -> []; +%% Check improperly nested constructs. improp_nest_constr_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(improp_nest_constr_norm), File = filename:join(DataDir, improp_nest_constr), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% misc %%-------------------------------------------------------------------- - - -misc_norm(doc) -> ["Misceleaneous checks."]; -misc_norm(suite) -> []; +%% Misceleaneous checks. misc_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(misc_norm), File = filename:join(DataDir, misc), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% line %%-------------------------------------------------------------------- - - -line_norm(doc) -> ["Checks #line."]; -line_norm(suite) -> []; +%% Checks #line. line_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(line_norm), File = filename:join(DataDir, line), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% nopara %%-------------------------------------------------------------------- - - -nopara_norm(doc) -> ["Checks #define with no parameters."]; -nopara_norm(suite) -> []; +%% Checks #define with no parameters. nopara_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(nopara_norm), File = filename:join(DataDir, nopara), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% predef %%-------------------------------------------------------------------- - - -predef_norm(doc) -> ["Checks predefined macros. Note: not __TIME__ and __DATE__."]; -predef_norm(suite) -> []; +%% Checks predefined macros. Note: not __TIME__ and __DATE__. predef_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(predef_norm), File = filename:join(DataDir, predef), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% predef_time %%-------------------------------------------------------------------- - - -predef_time_norm(doc) -> ["Checks the predefined macros __TIME__ and __DATE__."]; -predef_time_norm(suite) -> []; +%% Checks the predefined macros __TIME__ and __DATE__. predef_time_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(predef_time_norm), File = filename:join(DataDir, predef_time), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% self_ref %%-------------------------------------------------------------------- - - -self_ref_norm(doc) -> ["Checks self referring macros."]; -self_ref_norm(suite) -> []; +%% Checks self referring macros. self_ref_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(self_ref_norm), File = filename:join(DataDir, self_ref), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% separate %%-------------------------------------------------------------------- - - -separate_norm(doc) -> ["Checks separete expansion of macro arguments."]; -separate_norm(suite) -> []; +%% Checks separete expansion of macro arguments. separate_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(separate_norm), File = filename:join(DataDir, separate), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% swallow_sc %%-------------------------------------------------------------------- - - -swallow_sc_norm(doc) -> ["Checks swallowing an undesirable semicolon."]; -swallow_sc_norm(suite) -> []; +%% Checks swallowing an undesirable semicolon. swallow_sc_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(swallow_sc_norm), File = filename:join(DataDir, swallow_sc), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. %%-------------------------------------------------------------------- %% unintended_grp %%-------------------------------------------------------------------- - - -unintended_grp_norm(doc) -> ["Checks unintended grouping of arithmetic."]; -unintended_grp_norm(suite) -> []; +%% Checks unintended grouping of arithmetic. unintended_grp_norm(Config) when is_list(Config) -> - DataDir = ?config(data_dir, Config), + DataDir = proplists:get_value(data_dir, Config), _OutDir = ?OUT(unintended_grp_norm), File = filename:join(DataDir, unintended_grp), - ?line ok = test_file(File, DataDir), + ok = test_file(File, DataDir), ok. - - - test_file(FileT, DataDir) -> case test_file_1(FileT, DataDir) of ok -> ok; @@ -441,39 +387,39 @@ test_file_1(FileT, DataDir) -> FileName = lists:last(Tok), File = FileT++".idl", - ?line test_server:format("File ~p~n",[File]), - ?line test_server:format("FileName ~p~n",[FileName]), + test_server:format("File ~p~n",[File]), + test_server:format("FileName ~p~n",[FileName]), Flags = "-I"++DataDir, - ?line test_server:format("Flags ~p~n",[Flags]), + test_server:format("Flags ~p~n",[Flags]), - ?line Erl = pp_erl(File, Flags), - ?line Gcc = pp_gcc(File, Flags), + Erl = pp_erl(File, Flags), + Gcc = pp_gcc(File, Flags), - ?line case Erl of + case Erl of {error,_ErlError} -> - ?line test_server:format("Internal_pp Result ~n==================~n~p~n~n",[Erl]); + test_server:format("Internal_pp Result ~n==================~n~p~n~n",[Erl]); {warning, _ErlWar} -> - ?line test_server:format("Internal_pp Result ~n==================~n~p~n~n",[Erl]); + test_server:format("Internal_pp Result ~n==================~n~p~n~n",[Erl]); _ -> - ?line test_server:format("Internal_pp Result ~n==================~n~s~n~n",[Erl]) + test_server:format("Internal_pp Result ~n==================~n~s~n~n",[Erl]) end, - ?line case Gcc of + case Gcc of {error,GccError} -> Error = string:tokens(GccError, "\n"), - ?line test_server:format(?GCC" Result ~n==========~n~p~n~n", + test_server:format(?GCC" Result ~n==========~n~p~n~n", [Error]); _ -> - ?line test_server:format(?GCC" Result ~n==========~n~s~n~n",[Gcc]) + test_server:format(?GCC" Result ~n==========~n~s~n~n",[Gcc]) end, - ?line case {Erl,Gcc} of + case {Erl,Gcc} of {{warning,W}, {error,X}} -> - ?line case is_ok(W,X) of + case is_ok(W,X) of yes -> ok; no -> @@ -487,7 +433,7 @@ test_file_1(FileT, DataDir) -> "Internal_pp found the following Warning = ~p~n",[W]); {{error,E}, {error,X}} -> - ?line case is_ok(E,X) of + case is_ok(E,X) of yes -> ok; no -> @@ -496,9 +442,9 @@ test_file_1(FileT, DataDir) -> end; {{error,E}, _} -> - ?line case FileName of + case FileName of "if" -> - ?line case if_res(E) of + case if_res(E) of ok -> ok; _ -> @@ -516,18 +462,18 @@ test_file_1(FileT, DataDir) -> _ -> - ?line file:write_file("/tmp/Erl.pp",list_to_binary(Erl)), - ?line file:write_file("/tmp/Gcc.pp",list_to_binary(Gcc)), + file:write_file("/tmp/Erl.pp",list_to_binary(Erl)), + file:write_file("/tmp/Gcc.pp",list_to_binary(Gcc)), - ?line Res = os:cmd("diff -b -w /tmp/Erl.pp /tmp/Gcc.pp"), - ?line test_server:format("///////////{error,E} E ~p FileName~p~n",[Res,FileName]), - ?line case {Res, FileName} of + Res = os:cmd("diff -b -w /tmp/Erl.pp /tmp/Gcc.pp"), + test_server:format("///////////{error,E} E ~p FileName~p~n",[Res,FileName]), + case {Res, FileName} of {[], _} -> - ?line test_server:format("Diff = [] OK!!!!!!~n"), + test_server:format("Diff = [] OK!!!!!!~n"), ok; {_, "predef_time"} -> Tokens = string:tokens(Res,"\n"), - ?line test_server:format("///////////{error,E} Tokens~p~n",[Tokens]), + test_server:format("///////////{error,E} Tokens~p~n",[Tokens]), case Tokens of ["3c3",_,"---",_,"5c5",_,"---",_,"9c9",_,"---",_] -> ok; |