[erlang-patches] [erlang-questions] cover & export_all
Fredrik
fredrik@REDACTED
Wed Jul 10 10:11:09 CEST 2013
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
> <http://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%F6-cover-export-all>
> https://github.com/gomoripeti/otp/compare/erlang:maint...pgö-cover-export-all.patch
> <https://github.com/gomoripeti/otp/compare/erlang:maint...pg%F6-cover-export-all.patch>
>
>
> br
> Peter
>
> On Wed, Jul 10, 2013 at 12:34 AM, Peti Gömöri <gomoripeti@REDACTED
> <mailto: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]).
> {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
> <mailto: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 <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
Hello Peti,
I am getting,
<https://github.com/gomoripeti/otp/compare/erlang:maint...pg%C3%B6-cover-export-all.patch>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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20130710/d50c669e/attachment.htm>
More information about the erlang-patches
mailing list