diff options
Diffstat (limited to 'lib/ic/test/ic_pragma_SUITE.erl')
-rw-r--r-- | lib/ic/test/ic_pragma_SUITE.erl | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/lib/ic/test/ic_pragma_SUITE.erl b/lib/ic/test/ic_pragma_SUITE.erl deleted file mode 100644 index bb95e59109..0000000000 --- a/lib/ic/test/ic_pragma_SUITE.erl +++ /dev/null @@ -1,301 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1998-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% -%% -%% -%%----------------------------------------------------------------- -%% File: ic_pragma_SUITE.erl -%% -%% Description: -%% Test suite for the IFR object registration when -%% pragmas are engaged -%% -%%----------------------------------------------------------------- --module(ic_pragma_SUITE). - --include_lib("common_test/include/ct.hrl"). --include_lib("orber/include/corba.hrl"). -%%----------------------------------------------------------------- -%% External exports -%%----------------------------------------------------------------- --export([all/0, suite/0,groups/0,init_per_group/2,end_per_group/2, - init_per_suite/1, end_per_suite/1]). --export([ifr_pragma_reg/1, pragma_error/1, uggly_pragmas/1]). - - -%%----------------------------------------------------------------- -%% Macros -%%----------------------------------------------------------------- --define(REMAP_EXCEPT(F), case catch F of - {'EXCEPTION', E} -> exit(E); - R -> R - end). -%% Standard options to the ic compiler, NOTE unholy use of OutDir - --define(OUT(X), filename:join([proplists:get_value(priv_dir, Config), gen, to_list(X)])). - - -%%----------------------------------------------------------------- -%% Func: all/1 -%% Args: -%% Returns: -%%----------------------------------------------------------------- -suite() -> [{ct_hooks,[ts_install_cth]}]. - -all() -> - cases(). - -groups() -> - []. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - - -cases() -> - [ifr_pragma_reg, pragma_error, uggly_pragmas]. - -%%----------------------------------------------------------------- -%% Init and cleanup functions. -%%----------------------------------------------------------------- -init_per_suite(Config) -> - io:format("Setting up.....~n"), - mnesia:stop(), - mnesia:delete_schema([node()]), - mnesia:create_schema([node()]), - mnesia:start(), - orber:install([node()]), - orber:start(), - if - is_list(Config) -> - Config; - true -> - exit("Config not a list") - end. - -end_per_suite(Config) -> - io:format("Setting down.....~n"), - orber:stop(), - orber:uninstall(), - mnesia:stop(), - mnesia:delete_schema([node()]), - Config. - - - - -%%----------------------------------------------------------------- -%% Test Case: IFR registration with pragmas -%%----------------------------------------------------------------- -%% Checks that IFR object is correctly registered under pragma engagement. -ifr_pragma_reg(Config) when is_list(Config) -> - ?REMAP_EXCEPT(ifr_pragma_reg_run(Config)). - -ifr_pragma_reg_run(Config) -> - DataDir = proplists:get_value(data_dir, Config), - OutDir = ?OUT(ifr_pragma_reg), - File0 = filename:join(DataDir, reg_m0), - ok = ic:gen(File0, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}]), - ok = compile(OutDir, ifr_pragma_files()), - code:add_pathz(OutDir), - - %% OE_register for all files - ok = 'oe_reg_m0':'oe_register'(), - - %% Pragma registration test - OE_IFR = orber_ifr:find_repository(), - io:format("~n##### Starting the test case #####~n"), - check_pragma_effect(OE_IFR,"IDL:M1/T1:1.0"), - check_pragma_effect(OE_IFR,"DCE:d62207a2-011e-11ce-88b4-0800090b5d3e:3"), - check_pragma_effect(OE_IFR,"IDL:P2/T3:1.0"), - check_pragma_effect(OE_IFR,"IDL:P1/M2/T4:2.4"), - - %% OE_unregister for all files - ok = 'oe_reg_m0':'oe_unregister'(), - code:del_path(OutDir), - ok. - - -ifr_pragma_files() -> ['oe_reg_m0']. - - -check_pragma_effect(OE_IFR,ID) -> - io:format("Checking for existance of : ~s~n",[ID]), - case orber_ifr:lookup_id(OE_IFR,ID) of - [] -> - test_server:fail(ID ++ " does not exist"), - false; - {Def,_} -> - io:format("Id refers to = {~p,#Bin}~n",[Def]), - true - end. - - - - -%%----------------------------------------------------------------- -%% Test Case: Syntactical / Semantical error pragma definitions -%%----------------------------------------------------------------- -%% Finds errornous pragma definitions under compilation. -pragma_error(Config) when is_list(Config) -> - ?REMAP_EXCEPT(pragma_error_run(Config)). - -pragma_error_run(Config) -> - DataDir = proplists:get_value(data_dir, Config), - OutDir = ?OUT(pragma_error), - File1 = filename:join(DataDir, reg_m1), - File2 = filename:join(DataDir, reg_m2), - File3 = filename:join(DataDir, reg_m3), - File4 = filename:join(DataDir, reg_m4), - File5 = filename:join(DataDir, reg_m5), - File6 = filename:join(DataDir, reg_m6), - - error = ic:gen(File1, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - - error = ic:gen(File2, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - - error = ic:gen(File3, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - - ok = ic:gen(File4, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - - error = ic:gen(File5, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - - error = ic:gen(File6, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}] ), - ok. - - - - -%%----------------------------------------------------------------- -%% Test Case: IFR registration with realy uggly placed pragmas -%%----------------------------------------------------------------- -%% Checks that IFR object is correctly registered under really uggly pragma engagement. -uggly_pragmas(Config) when is_list(Config) -> - ?REMAP_EXCEPT(uggly_pragmas_run(Config)). - -uggly_pragmas_run(Config) -> - DataDir = proplists:get_value(data_dir, Config), - OutDir = ?OUT(ifr_pragma_reg), - File0 = filename:join(DataDir, uggly), - - ok = ic:gen(File0, stdopts(OutDir)++[{preproc_flags, - "-I" ++ DataDir}]), - - ok = compile(OutDir, uggly_pragma_files()), - code:add_pathz(OutDir), - - %% OE_register for all files - ok = 'oe_uggly':'oe_register'(), - - %% Pragma registration test - OE_IFR = orber_ifr:find_repository(), - io:format("~n##### Starting the test case #####~n"), - - check_pragma_effect(OE_IFR, "IDL:M:1.0"), - check_pragma_effect(OE_IFR, "LOCAL:SomeLocalId:10"), - check_pragma_effect(OE_IFR, "LOCAL:SomeLocalId:11"), - check_pragma_effect(OE_IFR, "LOCAL:SomeLocalId:17"), - check_pragma_effect(OE_IFR, "LOCAL:SomeLocalId:34"), - check_pragma_effect(OE_IFR, "IDL:Exc1:2.2"), - check_pragma_effect(OE_IFR, "IDL:Exc2:2.2"), - check_pragma_effect(OE_IFR, "IDL:S:1.0"), - check_pragma_effect(OE_IFR, "IDL:U:1.0"), - check_pragma_effect(OE_IFR, "LOCAL:SomeLocalId:23"), - - %% OE_unregister for all files - ok = 'oe_uggly':'oe_unregister'(), - - code:del_path(OutDir), - ok. - - -uggly_pragma_files() -> ['oe_uggly']. - - - - -%%---------------------------- - - -stdopts(OutDir) -> - [{outdir, OutDir}, {maxerrs, infinity}]. - - -compile(Dir, Files) -> - compile(Dir, Files, []). - -compile(Dir, Files, Opts) -> - {ok, Cwd} = file:get_cwd(), - file:set_cwd(Dir), - io:format("Changing to ~p~n", [Dir]), - case catch do_compile(Files, Opts) of - ok -> - file:set_cwd(Cwd); - Err -> - file:set_cwd(Cwd), - test_server:fail(Err) - end. - -do_compile([], _Opts) -> ok; -do_compile([F | Fs], Opts) -> - io:format("Compiling ~p", [F]), - case compile:file(F, Opts) of - ok -> - io:format(" ok~n", []), - do_load(F, Opts), - do_compile(Fs, Opts); - {ok, _} -> - io:format(" ok~n", []), - do_load(F, Opts), - do_compile(Fs, Opts); - {ok, _, _} -> - io:format(" ok~n", []), - do_load(F, Opts), - do_compile(Fs, Opts); - Err -> - io:format(" error: ~p~n", [Err]), - Err - end. - -do_load(File, Opts) -> - case lists:member(load, Opts) of - true -> - io:format("Loading file ~p", [File]), - code:purge(File), - R = code:load_abs(File), - io:format("Loaded: ~p", [R]); - false -> - ok - end. - - -to_list(X) when is_atom(X) -> atom_to_list(X); -to_list(X) -> X. - - - |