covertool / covertool

Tool to convert Erlang cover data files into Cobertura XML reports
Other
75 stars 56 forks source link

undefined function elixir_erl:debug_info/4 #59

Open rlipscombe opened 4 years ago

rlipscombe commented 4 years ago

Googling for the above error gets me to https://github.com/josefs/Gradualizer/issues/73#issuecomment-439918392, which suggests that I "didn't link in the Elixir library location".

This makes some kind of sense: I'm compiling a mixed Erlang/Elixir project, and covertool is dying on the Elixir part with the above error. How do I tell covertool about the "Elixir library location"?

rlipscombe commented 4 years ago

I worked around it with the following:

ERL_LIBS=$(elixir --eval 'IO.puts(Path.dirname(Path.dirname(:code.which(:elixir_erl))))') covertool ...
nalundgaard commented 4 years ago

Not sure what the right patch for this would be—is there a way to detect that once you've started covertool? seems like no. Maybe we should just add a README section on putting that snippet in a make target in your mixed Erlang/Elixir projects?

rlipscombe commented 4 years ago

Not sure what the right patch for this would be

Me neither.

is there a way to detect that once you've started covertool?

I can't think of a clean way, no. And even if you could, how would covertool know where the Elixir libs are? Is there a way to detect that it's an Elixir module and to skip it? Not sure, and I'm not sure that's the correct answer -- I haven't proved that this happens with all Elixir modules.

Maybe we should just add a README section

Seems like the best option.

Alternatively, I was kinda thinking that just by having this issue here, Google would find it for the next person.