%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 2001-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. %% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. %% %% %CopyrightEnd% %% %% -module(testMegaco). -export([compile/3,main/2]). -include_lib("test_server/include/test_server.hrl"). compile(_Config,ber,[optimize]) -> {ok,no_module,no_module}; compile(_Config,per,[optimize]) -> {ok,no_module,no_module}; compile(Config,Erule,Options) -> asn1_test_lib:compile("MEDIA-GATEWAY-CONTROL.asn", Config, [Erule|Options]), asn1_test_lib:compile("OLD-MEDIA-GATEWAY-CONTROL.asn", Config, [Erule|Options]), {ok,'OLD-MEDIA-GATEWAY-CONTROL','MEDIA-GATEWAY-CONTROL'}. main(no_module,_) -> ok; main('OLD-MEDIA-GATEWAY-CONTROL',Config) -> CaseDir = ?config(case_dir, Config), {ok,Msg} = asn1ct:value('OLD-MEDIA-GATEWAY-CONTROL','MegacoMessage', [{i, CaseDir}]), ?line {ok,Bytes} = asn1_wrapper:encode('OLD-MEDIA-GATEWAY-CONTROL', 'MegacoMessage',Msg), ?line {ok,Msg} = asn1_wrapper:decode('OLD-MEDIA-GATEWAY-CONTROL', 'MegacoMessage', Bytes), ok; main(Mod='MEDIA-GATEWAY-CONTROL',Config) -> ?line DataDir = ?config(data_dir,Config), io:format("DataDir:~p~n",[DataDir]), ?line {ok,FilenameList} = file:list_dir(filename:join([DataDir, megacomessages])), %% remove any junk files that may be in the megacomessage directory Pred = fun(X) -> case lists:reverse(X) of [$l,$a,$v,$.|_R] ->true; _ -> false end end, MegacoMsgFilenameList = lists:filter(Pred,FilenameList), Fun = fun(F) -> M = read_msg(filename:join([DataDir,megacomessages,F])), {ok,B} = asn1_wrapper:encode(Mod,element(1,M),M), {ok,M} = asn1_wrapper:decode(Mod,element(1,M),B) end, ?line lists:foreach(Fun,MegacoMsgFilenameList), ok. read_msg(File) -> case file:read_file(File) of {ok,Bin} -> binary_to_term(Bin); _ -> io:format("couldn't read file ~p~n",[File]) end.