[erlang-questions] cover & export_all
Wed Jul 10 03:19:16 CEST 2013
Hi OTP team,
here is a patch that addresses the problem Yuri described.
(I haven't added any tests or docs though)
is it true that now you also accept pull requests?
git fetch git://github.com/gomoripeti/otp.git pgö-cover-export-all
On Wed, Jul 10, 2013 at 12:34 AM, Peti Gömöri <gomoripeti@REDACTED> wrote:
> 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]).
> > cover_test:test().
> (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
> 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:
>> 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]).
>> 2> cover_test:test().
>> 3> cover:compile_beam(cover_test).
>> 4> cover_test:test().
>> ** exception error: undefined function cover_test:test/0
>> 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
>> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions