From 286a2a88a4d769b702529d184661c4166854f27e Mon Sep 17 00:00:00 2001 From: Tim Watson Date: Sun, 18 Sep 2011 13:38:31 +0100 Subject: [PATCH] Add support for customising common test directory This patch allows users to specify the directory in which common_test source files can be found. Most common_test suites are integration, rather than unit tests and keeping the sources apart from test sources for other frameworks such as eunit and PropEr is a useful feature. --- inttest/ct1/ct1_rt.erl | 3 ++- inttest/ct1/rebar.config | 2 ++ rebar.config.sample | 3 +++ src/rebar_ct.erl | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 inttest/ct1/rebar.config diff --git a/inttest/ct1/ct1_rt.erl b/inttest/ct1/ct1_rt.erl index 1028a0f..f173d3f 100644 --- a/inttest/ct1/ct1_rt.erl +++ b/inttest/ct1/ct1_rt.erl @@ -6,7 +6,8 @@ files() -> [{create, "ebin/a1.app", app(a1)}, {copy, "../../rebar", "rebar"}, - {copy, "test_SUITE.erl", "test/test_SUITE.erl"}]. + {copy, "rebar.config", "rebar.config"}, + {copy, "test_SUITE.erl", "itest/test_SUITE.erl"}]. run(_Dir) -> {ok, _} = retest:sh("./rebar compile ct"), diff --git a/inttest/ct1/rebar.config b/inttest/ct1/rebar.config new file mode 100644 index 0000000..839fe4b --- /dev/null +++ b/inttest/ct1/rebar.config @@ -0,0 +1,2 @@ + +{ct_dir, "itest"}. diff --git a/rebar.config.sample b/rebar.config.sample index 23c3c70..731a3e5 100644 --- a/rebar.config.sample +++ b/rebar.config.sample @@ -86,6 +86,9 @@ %% == Common Test == +%% Override the default "test" directory in which SUITEs are located +{ct_dir, "itest"}. + %% Option to pass extra parameters when launching Common Test {ct_extra_params, "-boot start_sasl -s myapp"}. diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index 54e97e9..70524af 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -46,7 +46,8 @@ %% =================================================================== ct(Config, File) -> - run_test_if_present("test", Config, File). + TestDir = rebar_config:get_local(Config, ct_dir, "test"), + run_test_if_present(TestDir, Config, File). %% =================================================================== %% Internal functions