summaryrefslogtreecommitdiff
path: root/inttest/eunit/eunit_rt.erl
diff options
context:
space:
mode:
authorJared Morrow <jared@basho.com>2014-05-19 09:14:03 -0600
committerJared Morrow <jared@basho.com>2014-05-19 09:14:03 -0600
commit93621d0d0c98035f79790ffd24beac94581b0758 (patch)
treecd077666cb93ead01c93fdf57d40a631c2f12fae /inttest/eunit/eunit_rt.erl
parent8a5b9aa29f1e768b8175657a94147d4881c37531 (diff)
parentc996e9878b76567b06c83e41bebbe783cced19b5 (diff)
Merge pull request #251 from mururu/eunit_compile_opts
Make sure that eunit/qc_compile_opts works
Diffstat (limited to 'inttest/eunit/eunit_rt.erl')
-rw-r--r--inttest/eunit/eunit_rt.erl48
1 files changed, 48 insertions, 0 deletions
diff --git a/inttest/eunit/eunit_rt.erl b/inttest/eunit/eunit_rt.erl
new file mode 100644
index 0000000..47f3331
--- /dev/null
+++ b/inttest/eunit/eunit_rt.erl
@@ -0,0 +1,48 @@
+-module(eunit_rt).
+-export([files/0, run/1]).
+
+-include_lib("eunit/include/eunit.hrl").
+
+files() ->
+ [{create, "ebin/foo.app", app(foo)},
+ {copy, "../../rebar", "rebar"},
+ {copy, "src", "src"},
+ {copy, "eunit_src", "eunit_src"},
+ {copy,
+ "rebar-eunit_compile_opts.config",
+ "rebar-eunit_compile_opts.config"}].
+
+run(_Dir) ->
+ ifdef_test(),
+ eunit_compile_opts_test(),
+ ok.
+
+ifdef_test() ->
+ {ok, Output} = retest:sh("./rebar -v eunit"),
+ ?assert(check_output(Output, "foo_test")),
+ ?assertMatch({ok, _}, retest:sh("./rebar clean")).
+
+eunit_compile_opts_test() ->
+ {ok, Output} =
+ retest:sh("./rebar -v -C rebar-eunit_compile_opts.config eunit"),
+ ?assert(check_output(Output, "bar_test")),
+ ?assertMatch(
+ {ok, _},
+ retest:sh("./rebar -C rebar-eunit_compile_opts.config clean")).
+
+check_output(Output, Target) ->
+ lists:any(fun(Line) ->
+ string:str(Line, Target) > 0
+ end, Output).
+
+%%
+%% 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]).