简体   繁体   中英

Rebar eunit runs non native (non Hipe) code

I have compiled my Erlang module using

rebar compile

using the following option in rebar.config

{erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.
{eunit_compile_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.

I see that the code is indeed compiled to native since I see Hipe messages during compilation and the .beam file size are also larger than non-native compilation.

However when I run

rebar eunit

which tests my module I always get false for

 code:is_module_native(?MODULE)

within my module under test.

Why does rebar not run my eunit test as native code?

I have additionally added this line to the reltool.config file,

 {app, hipe, [{incl_cond, include}]},

rebar 2.1.0-pre 17 20140421_192321 git 2.1.0-pre-166-ged88055

Your code is recompiled when you run "rebar eunit" using the compile options defined by

  • {erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.

and modified by the compile options defined by

  • {eunit_compile_opts, [???]}.

Did you check these options?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM