Hi,
I'm migrating rexbug to redbug 2.x and I already made the changes to get the basics up and running correctly.
The problem I ran into is that while all the tests run correctly, they fail when running the tests with excoveralls - it seems like redbug isn't able to extract the module/function info for Elixir modules that aren't part of the standard library.
Repro here.
With an elixir module Foo.Bar being defined:
defmodule Foo do
@moduledoc false
defmodule Bar do
@moduledoc false
def abc() do
end
def xyz(_a, _b, _c) do
end
end
end
running redbug against it fails:
{:argument_error, :no_matching_functions} = :redbug.start('\'Elixir.Foo.Bar\'')
I verified it's not related the module not being compiled in the test environment or being part of test/support/ as opposed to the main lib/
I suspect that it's caused by coveralls messing with the compilation / code loading, but I don't understand what's happening exactly. I checked that the :cover compile path (as it is used inside coveralls) is included in :code.get_path() and it is - making sure it's the first path in the list doesn't change anything.
If anyone has an idea what can be done (whether is a change to my approach, or patching either coveralls or redbug) so that I can keep the code coverage, I'd appreciate it.
Hi,
I'm migrating rexbug to redbug 2.x and I already made the changes to get the basics up and running correctly.
The problem I ran into is that while all the tests run correctly, they fail when running the tests with excoveralls - it seems like redbug isn't able to extract the module/function info for Elixir modules that aren't part of the standard library.
Repro here.
With an elixir module
Foo.Barbeing defined:running redbug against it fails:
I verified it's not related the module not being compiled in the test environment or being part of
test/support/as opposed to the mainlib/I suspect that it's caused by coveralls messing with the compilation / code loading, but I don't understand what's happening exactly. I checked that the
:covercompile path (as it is used inside coveralls) is included in:code.get_path()and it is - making sure it's the first path in the list doesn't change anything.If anyone has an idea what can be done (whether is a change to my approach, or patching either coveralls or redbug) so that I can keep the code coverage, I'd appreciate it.