[erlang-questions] cover & export_all

Peti Gömöri gomoripeti@REDACTED
Wed Jul 10 01:34:29 CEST 2013


Hi Yuri,

You are right, while cover compiling from source works (you can use this as
a workaround):
> cover:compile(cover_test, UserOptions = [export_all, debug_info]).
{ok,cover_test}
> cover_test:test().
ok

(because UserOptions from the arguments is taken when cover recompiles the
instrumented forms)
when cover compiling from beam UserOptions = [] is taken.
This could be fixed in cover by taking the compile options from the beam
file as you assumed how it works.

Actually the documentation still says that "Only options defining include
file directories and macros are passed to compile:file/2, everything else
is ignored." apparently a patch from Tobias Schlager added export_all to
the allowed options of cover:compile for the exact same use case as you
had. But this is missing from cover:compile_beam.

May be I try to come up with a patch

br
Peter



On Tue, Jul 9, 2013 at 11:56 AM, Yuri Lukyanov <y.snaky@REDACTED> wrote:

> It seems that there is no way to cover-compile modules with export_all.
> Here is a simple example:
>
> cover_test.erl:
>
> -module(cover_test).
> test() -> ok.
>
>
> $ erl
> Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4]
> [async-threads:0] [hipe] [kernel-poll:false]
>
> Eshell V5.9.1  (abort with ^G)
> 1> c(cover_test, [debug_info,export_all]).
> {ok,cover_test}
> 2> cover_test:test().
> ok
> 3> cover:compile_beam(cover_test).
> {ok,cover_test}
> 4> cover_test:test().
> ** exception error: undefined function cover_test:test/0
> 5>
>
>
> Could someone explain why it is like this? Is it done on purpose?
> Maybe it's a bug?
> The reason I want modules to be cover-compiled with +export_all is
> that it is sometimes convinient to have unit tests outside of a
> module. Before unit tests are run the modules get compiled with
> +export_all for tests to be able to access private functions. But the
> situation is that it is not possibe in this case to enable coverage
> analysys.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130710/e6453791/attachment.htm>


More information about the erlang-questions mailing list