You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@eproxus has any work been done on this? Am interested to know the updates as I don't think there's anything for this right now. Also, the links to the issues on wiki are pointing to incorrect links and have to include meck in the url. I believe this is the way to make it possible to run tests in parallel even if they are mocking the same modules.
I would be interested to look at this by looking at how it is right now and what can be done but might need some assistance.
@techgaun No, no work has been done so far. The only way to current achieve this is to create your own fun which checks the calling process (the fun runs in the process that calls the mock, so it should be able to use self() and then do something special, otherwise call meck:passthrough()).
As for an official solution, I see two options:
Deal with this in the mock process (i.e. the official solution of the workaround above)
Actually change the calling module, which is much trickier and needs it's own management (monitoring process, backup, etc.).
(2) of course then limits the calls to only work from a certain module, but I think this is the better option anyway. This is also the only reliable way to mock "system" and ENIF/driver modules such as gen_tcp etc. It is way more complex than (1), but I'm also not keen on implementing (1) since it can be implemented quite easily manually anyway (it might be a good candidate for an external helper library for Meck).
(Thanks for notifying be about the broken links, I've fixed them)
It should be possible to mock a module so that a set of processes sees the mocked module and all other processes sees the original module.
The text was updated successfully, but these errors were encountered: