diff options
Diffstat (limited to 'lib/tools/test')
-rw-r--r-- | lib/tools/test/Makefile | 7 | ||||
-rw-r--r-- | lib/tools/test/lcnt_SUITE.erl | 154 | ||||
-rw-r--r-- | lib/tools/test/lcnt_SUITE_data/big_bang_40.lcnt | bin | 0 -> 226100 bytes | |||
-rw-r--r-- | lib/tools/test/xref_SUITE.erl | 24 |
4 files changed, 173 insertions, 12 deletions
diff --git a/lib/tools/test/Makefile b/lib/tools/test/Makefile index a846a3a6f4..3a59be758a 100644 --- a/lib/tools/test/Makefile +++ b/lib/tools/test/Makefile @@ -26,6 +26,7 @@ MODULES = \ fprof_SUITE \ cprof_SUITE \ instrument_SUITE \ + lcnt_SUITE \ make_SUITE \ tools_SUITE \ xref_SUITE \ @@ -49,7 +50,8 @@ RELSYSDIR = $(RELEASE_PATH)/tools_test # FLAGS # ---------------------------------------------------- ERL_MAKE_FLAGS += -ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include +ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include \ + -I$(ERL_TOP)/lib/percept/include EBIN = . @@ -68,10 +70,11 @@ tests debug opt: make_emakefile clean: rm -f $(EMAKEFILE) rm -f $(TARGET_FILES) - rm -f core + rm -f core *~ docs: + # ---------------------------------------------------- # Release Target # ---------------------------------------------------- diff --git a/lib/tools/test/lcnt_SUITE.erl b/lib/tools/test/lcnt_SUITE.erl new file mode 100644 index 0000000000..e6866f721d --- /dev/null +++ b/lib/tools/test/lcnt_SUITE.erl @@ -0,0 +1,154 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2010. 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(lcnt_SUITE). +-include("test_server.hrl"). + +%% Test server specific exports +-export([all/1]). +-export([init_per_suite/1, end_per_suite/1]). +-export([init_per_testcase/2, end_per_testcase/2]). + +%% Test cases +-export([ + load_v1/1, + conflicts/1, + locations/1, + swap_keys/1 + ]). + +%% Default timetrap timeout (set in init_per_testcase) +-define(default_timeout, ?t:minutes(2)). + +init_per_suite(Config) when is_list(Config) -> + Config. + +end_per_suite(Config) when is_list(Config) -> + Config. + +init_per_testcase(_Case, Config) -> + Dog = ?t:timetrap(?default_timeout), + [{watchdog,Dog} | Config]. + +end_per_testcase(_Case, Config) -> + Dog = ?config(watchdog, Config), + ?t:timetrap_cancel(Dog), + ok. + +all(suite) -> + % Test cases + [load_v1, conflicts, locations, swap_keys]. + +%%---------------------------------------------------------------------- +%% Tests +%%---------------------------------------------------------------------- + +load_v1(suite) -> + []; +load_v1(doc) -> + ["Load data from file."]; +load_v1(Config) when is_list(Config) -> + ?line {ok, _} = lcnt:start(), + ?line Path = ?config(data_dir, Config), + ?line File = filename:join([Path,"big_bang_40.lcnt"]), + ?line ok = lcnt:load(File), + ?line ok = lcnt:stop(), + ok. + +conflicts(suite) -> + []; +conflicts(doc) -> + ["API: conflicts"]; +conflicts(Config) when is_list(Config) -> + ?line {ok, _} = lcnt:start(), + ?line Path = ?config(data_dir, Config), + ?line File = filename:join([Path,"big_bang_40.lcnt"]), + ?line ok = lcnt:load(File), + ?line ok = lcnt:conflicts(), + THs = [-1, 0, 100, 1000], + Print = [name , id , type , entry , tries , colls , ratio , time , duration], + Opts = [ + [{sort, Sort}, {reverse, Rev}, {max_locks, ML}, {combine, Combine}, {thresholds, [TH]}, {print, [Print]}] || + Sort <- [name , id , type , tries , colls , ratio , time , entry], + ML <- [none, 1 , 32, 4096], + Combine <- [true, false], + TH <- [{tries, Tries} || Tries <- THs] ++ [{colls, Colls} || Colls <- THs] ++ [{time, Time} || Time <- THs], + Rev <- [true, false] + ], + ?line ok = test_conflicts_opts(Opts), + ?line ok = lcnt:stop(), + ok. + +test_conflicts_opts([]) -> ok; +test_conflicts_opts([Opt|Opts]) -> + ?line ok = lcnt:conflicts(Opt), + test_conflicts_opts(Opts). + +locations(suite) -> + []; +locations(doc) -> + ["API: locations"]; +locations(Config) when is_list(Config) -> + ?line {ok, _} = lcnt:start(), + ?line Path = ?config(data_dir, Config), + ?line File = filename:join([Path,"big_bang_40.lcnt"]), + ?line ok = lcnt:load(File), + ?line ok = lcnt:locations(), + THs = [-1, 0, 100, 1000], + Print = [name , id , type , entry , tries , colls , ratio , time , duration], + Opts = [ + [{full_id, Id}, {sort, Sort}, {max_locks, ML}, {combine, Combine}, {thresholds, [TH]}, {print, Print}] || + Sort <- [name , id , type , tries , colls , ratio , time , entry], + ML <- [none, 1 , 64], + Combine <- [true, false], + TH <- [{tries, Tries} || Tries <- THs] ++ [{colls, Colls} || Colls <- THs] ++ [{time, Time} || Time <- THs], + Id <- [true, false] + ], + ?line ok = test_locations_opts(Opts), + ?line ok = lcnt:stop(), + ok. + +test_locations_opts([]) -> ok; +test_locations_opts([Opt|Opts]) -> + ?line ok = lcnt:locations(Opt), + test_locations_opts(Opts). + +swap_keys(suite) -> + []; +swap_keys(doc) -> + ["Test interchanging port/process id with class"]; +swap_keys(Config) when is_list(Config) -> + ?line {ok, _} = lcnt:start(), + ?line Path = ?config(data_dir, Config), + ?line File = filename:join([Path,"big_bang_40.lcnt"]), + ?line ok = lcnt:load(File), + ?line ok = lcnt:conflicts(), + ?line ok = lcnt:swap_pid_keys(), + ?line ok = lcnt:conflicts(), + ?line ok = lcnt:stop(), + ok. + + +%%---------------------------------------------------------------------- +%% Auxiliary tests +%%---------------------------------------------------------------------- + +%%---------------------------------------------------------------------- +%% Auxiliary +%%---------------------------------------------------------------------- diff --git a/lib/tools/test/lcnt_SUITE_data/big_bang_40.lcnt b/lib/tools/test/lcnt_SUITE_data/big_bang_40.lcnt Binary files differnew file mode 100644 index 0000000000..6087f6f37e --- /dev/null +++ b/lib/tools/test/lcnt_SUITE_data/big_bang_40.lcnt diff --git a/lib/tools/test/xref_SUITE.erl b/lib/tools/test/xref_SUITE.erl index 0bbb3ba0f1..b4684140ca 100644 --- a/lib/tools/test/xref_SUITE.erl +++ b/lib/tools/test/xref_SUITE.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. 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(xref_SUITE). @@ -1067,9 +1067,7 @@ read_expected(Version) -> {POS13+3,{FF,{'$M_EXPR','$F_EXPR',-1}}}, {POS14+8,{{read,bi,0},{'$M_EXPR','$F_EXPR',1}}}], - O1 = [{0,{FF,{modul,'$F_EXPR',179}}}, - {0,{FF,{read,'$F_EXPR',178}}}, - {20,{{read,lc,0},{ets,new,0}}}, + O1 = [{20,{{read,lc,0},{ets,new,0}}}, {21,{{read,lc,0},{ets,tab2list,1}}}, {POS1+1,{FF,{erlang,spawn,1}}}, {POS1+1,{FF,{mod17,fun17,0}}}, @@ -1168,13 +1166,19 @@ read_expected(Version) -> [{POS8+3, {FF,{erlang,apply,3}}}, {POS10+1, {FF,{erlang,apply,3}}}, {POS10+6, {FF,{erlang,apply,3}}}] - ++ O1; + ++ + [{0,{FF,{read,'$F_EXPR',178}}}, + {0,{FF,{modul,'$F_EXPR',179}}}] + ++ O1; _ -> % [{POS15+2,{{read,bi,0},{foo,t,0}}}, % {POS15+3,{{read,bi,0},{bar,t,0}}}, % {POS15+6,{{read,bi,0},{read,local,0}}}, % {POS15+8,{{read,bi,0},{foo,t,0}}}, % {POS15+10,{{read,bi,0},{bar,t,0}}}] ++ + [{16,{FF,{read,'$F_EXPR',178}}}, + {17,{FF,{modul,'$F_EXPR',179}}}] + ++ O1 end, @@ -1649,7 +1653,7 @@ abstract_modules(Conf) when is_list(Conf) -> %% The compiler will no longer allow us to have a mismatch between %% the module name and the output file, so we must use a trick. ?line {ok, param, BeamCode} = compile:file(File, [binary,debug_info]), - ?line ok = file:write_file(filename:join(Dir, Beam), BeamCode), + ?line ok = file:write_file(Beam, BeamCode), ?line {ok, _} = xref:start(s), ?line {ok, param} = xref:add_module(s, MFile, {warnings,false}), |