[erlang-patches] [erlang-questions] cover & export_all

Peti Gömöri <>
Tue Sep 10 21:51:45 CEST 2013


Hi Yuri,

apparently the fix got a bit forgotten because of my typo,
I created the below pull request to avoid further confusion
https://github.com/erlang/otp/pull/74

Fredrik, could you consider it for inclusion?

thanks
Peter




On Fri, Aug 30, 2013 at 7:50 AM, Yuri Lukyanov <> wrote:

> Hi Peti,
>
> Did you have a chance to push your fix to the main repo?
>
> On Wed, Jul 10, 2013 at 12:34 PM, Peti Gömöri <>
> wrote:
> > Hi Fredrik,
> >
> > sorry, what about this one (maybe it was a wrong ö)
> >
> > git fetch git://github.com/gomoripeti/otp.git pgö-cover-export-all
> >
> > On Wed, Jul 10, 2013 at 9:11 AM, Fredrik <> wrote:
> >>
> >> On 07/10/2013 03:19 AM, Peti Gömöri wrote:
> >>
> >> 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
> >>
> >>
> >>
> https://github.com/gomoripeti/otp/compare/erlang:maint...pgö-cover-export-all
> >>
> >>
> https://github.com/gomoripeti/otp/compare/erlang:maint...pgö-cover-export-all.patch
> >>
> >>
> >> br
> >> Peter
> >>
> >> On Wed, Jul 10, 2013 at 12:34 AM, Peti Gömöri <>
> >> 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]).
> >>> {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 <>
> 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
> >>>> 
> >>>> http://erlang.org/mailman/listinfo/erlang-questions
> >>>
> >>>
> >>
> >>
> >>
> >> _______________________________________________
> >> erlang-patches mailing list
> >> 
> >> http://erlang.org/mailman/listinfo/erlang-patches
> >>
> >> Hello Peti,
> >> I am getting, fatal: Couldn't find remote ref pgö-cover-export-all when
> I
> >> am trying to fetch.
> >> Yes pull requests are accepted.
> >>
> >> --
> >>
> >> BR Fredrik Gustafsson
> >> Erlang OTP Team
> >
> >
> >
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://erlang.org/mailman/listinfo/erlang-questions
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20130910/d6d03099/attachment-0001.html>


More information about the erlang-patches mailing list