summaryrefslogtreecommitdiff
path: root/inttest
diff options
context:
space:
mode:
authorLuis Rascão <luis.rascao@gmail.com>2016-03-18 18:55:32 +0000
committerLuis Rascão <luis.rascao@gmail.com>2016-03-18 18:55:32 +0000
commitef73556df92dd3b31daaf1cc6d97fb220dfcaa0c (patch)
treeefd7efcd5a5d185d147fb6829f48f34bec5a34b9 /inttest
parent88b67f3a5c635eb00d33d47281d58b7f1b03093c (diff)
parent4802c0a6cac1aae2a6fc43a57d6cbd5c09fc4050 (diff)
downloadrebar-ef73556df92dd3b31daaf1cc6d97fb220dfcaa0c.tar.gz
Merge pull request #588 from lrascao/fix/look_for_ct_spec_files_only_in_test_dir
Look for ct .spec files in the ct_dir that was specified
Diffstat (limited to 'inttest')
-rw-r--r--inttest/ct4/ct4_rt.erl44
-rw-r--r--inttest/ct4/deps/bar.test.spec1
-rw-r--r--inttest/ct4/foo.test.spec1
-rw-r--r--inttest/ct4/foo_SUITE.erl11
-rw-r--r--inttest/ct4/rebar.config2
5 files changed, 59 insertions, 0 deletions
diff --git a/inttest/ct4/ct4_rt.erl b/inttest/ct4/ct4_rt.erl
new file mode 100644
index 0000000..bc010e8
--- /dev/null
+++ b/inttest/ct4/ct4_rt.erl
@@ -0,0 +1,44 @@
+%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
+%% ex: ts=4 sw=4 et
+-module(ct4_rt).
+
+-compile(export_all).
+
+setup([Target]) ->
+ retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
+ ok.
+
+files() ->
+ [
+ {create, "ebin/foo.app", app(foo)},
+ {copy, "rebar.config", "rebar.config"},
+ {copy, "foo.test.spec", "test/foo.test.spec"},
+ {copy, "deps/bar.test.spec", "deps/bar.test.spec"},
+ {copy, "deps/bar.test.spec", "baz.test.spec"},
+ {copy, "foo_SUITE.erl", "test/foo_SUITE.erl"}
+ ] ++ inttest_utils:rebar_setup().
+
+run(_Dir) ->
+ Ref = retest:sh("./rebar compile ct -vvv", [async]),
+ {ok, [[CTRunCmd]]} = retest:sh_expect(Ref, "^\"ct_run.*",
+ [global, {capture, first, binary}]),
+ {match, _} = re:run(CTRunCmd, "foo.test.spec", [global]),
+ %% deps/bar.test.spec should be ignored by rebar_ct:collect_glob/3
+ nomatch = re:run(CTRunCmd, "bar.test.spec", [global]),
+ %% baz.test.spec should be also ignored by rebar_ct:collect_glob/3
+ %% since we specified in rebar.config that we want to search for
+ %% ct specs from the test dir
+ nomatch = re:run(CTRunCmd, "baz.test.spec", [global]),
+ ok.
+
+%%
+%% Generate the contents of a simple .app file
+%%
+app(Name) ->
+ App = {application, Name,
+ [{description, atom_to_list(Name)},
+ {vsn, "1"},
+ {modules, []},
+ {registered, []},
+ {applications, [kernel, stdlib]}]},
+ io_lib:format("~p.\n", [App]).
diff --git a/inttest/ct4/deps/bar.test.spec b/inttest/ct4/deps/bar.test.spec
new file mode 100644
index 0000000..a16610c
--- /dev/null
+++ b/inttest/ct4/deps/bar.test.spec
@@ -0,0 +1 @@
+%% this test spec should be ignored
diff --git a/inttest/ct4/foo.test.spec b/inttest/ct4/foo.test.spec
new file mode 100644
index 0000000..1850410
--- /dev/null
+++ b/inttest/ct4/foo.test.spec
@@ -0,0 +1 @@
+{suites, "../", [foo_SUITE]}.
diff --git a/inttest/ct4/foo_SUITE.erl b/inttest/ct4/foo_SUITE.erl
new file mode 100644
index 0000000..fb4f56a
--- /dev/null
+++ b/inttest/ct4/foo_SUITE.erl
@@ -0,0 +1,11 @@
+-module(foo_SUITE).
+
+-include_lib("common_test/include/ct.hrl").
+
+-compile(export_all).
+
+all() -> [simple].
+
+simple(Config) ->
+ io:format("Test: ~p\n", [Config]),
+ ok.
diff --git a/inttest/ct4/rebar.config b/inttest/ct4/rebar.config
new file mode 100644
index 0000000..387f8c3
--- /dev/null
+++ b/inttest/ct4/rebar.config
@@ -0,0 +1,2 @@
+{ct_dir, "test"}.
+{ct_search_specs_from_test_dir, true}.