Open binarytemple opened 1 year ago
Hi. Thank you for the report. Do you think it's possible to share example?
has meck
dependency, but mix coveralls
task is working at my environment.
$ MIX_ENV=test mix deps | egrep "(cover|meck|mock)"
...
* excoveralls (Hex package) (mix)
locked at 0.14.4 (excoveralls) e3ab02f2
* meck 0.9.2 (Hex package) (rebar3)
locked at 0.9.2 (meck) 81344f56
I don't understand the inner workings of excoveralls enough to see if it's related, but just in case.
I'm running into a similar issue, where tests run through excoveralls fail, while they succeed when run with mix test
, but in my case the conflict isn't with Erlang's meck, but redbug. Redbug uses Erlang's :code
infrastructure which could possibly be affected by how excoveralls works (?)
This is not a specific issue with excoveralls, rather I failed to follow the guidance of the jj42/mock library author.
Specifically, I neglected to set the option use ExUnit.Case, async: false
in my unit test.
Just running mix test
didn't provoke the error, but the cleanup must have gone wrong and something (EctoProbe.Git.GitUtils.ConfReader_meck_original) hanging around for excoveralls to crash on.
From the jjh42/mock README ...
Currently, mocking modules cannot be done asynchronously, so make sure that you are not using async: true in any module where you are testing.
In case you are interested, I've included a minimal failing case (well, with 99% of extraneous code cut out).
ecto_probe.poc_excoveralls.zip
Thanks, Bryan
use ExUnit.Case, async: false
in my test cases the issue goes away).
Version information.
It seems from reading through the project issues that there might be an incompatibility between excoveralls, erlang cover module, and meck?
Running with
mix coveralls
:Running with
mix test