Skip to content

Redbug conflicting with cover/excoveralls #30

Description

@nietaki

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions