[erlang-bugs] eunit multiple calls a test / eunit local works incorrect (?)
systemio systemio
systemio@REDACTED
Thu Jan 12 18:56:44 CET 2012
here is a simple test in fs_tests.erl module
test1_test_() ->
?debugFmt("Test ~p",[self()]) ,
S = fun() -> ?debugFmt("Setup ~p",[self()]) end,
C = fun(_) -> ?debugFmt("Cleanup ~p",[self()]) end,
F = fun(_) -> fun() -> ?debugFmt("Test Check ~p",[self()]) end end,
{foreach,local,S,C,[F]}.
Run test:
eunit:test([{inparallel,fs}],[{report,{eunit_surefire,[{dir,"./Reports"}]}}]).
Got:
./src/fs_tests.erl:85:<0.94.0>: Test <0.94.0>
./src/fs_tests.erl:85:<0.94.0>: Test <0.94.0>
./src/fs_tests.erl:85:<0.94.0>: Test <0.94.0>
./src/fs_tests.erl:86:<0.94.0>: Setup <0.94.0>
./src/fs_tests.erl:88:<0.96.0>: Test Check <0.96.0>
./src/fs_tests.erl:87:<0.94.0>: Cleanup <0.94.0>
Test passed.
ok
1. Why are there 3 Test <0.94.0>, i expect only one?
2. Why does Test Check <0.96.0> have another process id?
My reasoning:
eunit:test([{inparallel,fs}],[... is a general rule while {foreach,local,... is more specific - that is why i expect union process id.
Run test (without inparallel):
eunit:test([fs],[{report,{eunit_surefire,[{dir,"./Reports"}]}}]).
Got:
./src/fs_tests.erl:85:<0.103.0>: Test <0.103.0>
./src/fs_tests.erl:85:<0.103.0>: Test <0.103.0>
./src/fs_tests.erl:86:<0.103.0>: Setup <0.103.0>
./src/fs_tests.erl:88:<0.103.0>: Test Check <0.103.0>
./src/fs_tests.erl:87:<0.103.0>: Cleanup <0.103.0>
Test passed.
ok
Now Test Check has the same process id, but why are there already 2 Test <0.103.0>, i expect only one?
~
Thx
More information about the erlang-bugs
mailing list