diff options
author | Anders Svensson <anders@erlang.org> | 2011-07-22 12:09:53 +0200 |
---|---|---|
committer | Anders Svensson <anders@erlang.org> | 2011-09-26 17:11:05 +0200 |
commit | c75c5a530c10158d4a586a372a165835835bba1b (patch) | |
tree | 263cd55f204f2596760668b3f48a960eec06ee71 /lib/diameter/test/diameter_codec_SUITE.erl | |
parent | 60bf2967f81dd51b5da10d8a9e8502b9026d543a (diff) | |
download | erlang-c75c5a530c10158d4a586a372a165835835bba1b.tar.gz |
Add codec suite based on pure ct
Diffstat (limited to 'lib/diameter/test/diameter_codec_SUITE.erl')
-rw-r--r-- | lib/diameter/test/diameter_codec_SUITE.erl | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/lib/diameter/test/diameter_codec_SUITE.erl b/lib/diameter/test/diameter_codec_SUITE.erl new file mode 100644 index 0000000000..07e2a705c3 --- /dev/null +++ b/lib/diameter/test/diameter_codec_SUITE.erl @@ -0,0 +1,76 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2010-2011. 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% +%% + +%% +%% Test encode/decode of dictionary-related modules. Each test case +%% runs multiple tests in parallel since many of the tests are just +%% the same code with different in-data: implementing each test as a +%% single testcase would make for much duplication with ct's +%% requirement of one function per testcase. (Instead of allowing a +%% testcase to be an MFA instead of function name, say.) +%% + +-module(diameter_codec_SUITE). + +-export([suite/0, + all/0, + init_per_testcase/2, + end_per_testcase/2]). + +%% testcases +-export([base/1, + gen/1, + lib/1]). + +-define(APP, diameter). +-define(L, atom_to_list). + +%% =========================================================================== + +suite() -> + [{timetrap, {seconds, 10}}]. + +all() -> + [base, gen, lib]. + +init_per_testcase(gen, Config) -> + {ok, App} = diameter_util:appfile(?APP), + {modules, Ms} = lists:keyfind(modules, 1, App), + [_|_] = Gs = lists:filter(fun(M) -> + lists:prefix("diameter_gen_", ?L(M)) + end, + Ms), + [{dicts, Gs} | Config]; + +init_per_testcase(_Name, Config) -> + Config. + +end_per_testcase(_, _) -> + ok. + +%% =========================================================================== + +base(_Config) -> + diameter_codec_test:base(). + +gen([{dicts, Ms} | _]) -> + lists:foreach(fun diameter_codec_test:gen/1, Ms). + +lib(_Config) -> + diameter_codec_test:lib(). |