-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiprocessing cleanup broken upgrading to pyfakefs 3.4 #356
Comments
I can recreate the issue with this: import unittest
import multiprocessing
from pyfakefs.fake_filesystem_unittest import Patcher
class TestMultiprocessing(unittest.TestCase):
def test_fakefs(self):
with Patcher() as patcher:
patcher.fs.CreateFile('/mytempfile', contents='abcd')
def test_value(self):
v = multiprocessing.Value('I', 0)
self.assertEqual(v.value, 0)
if __name__ == '__main__':
unittest.main() |
Thanks for the report - I will have a look in the evening. Must be some side effect / missing cleanup in the dynamic patcher... |
- avoids them to still reference the fake file system - see #356
Ok, found the problem - there was indeed a missing cleanup in the dynamic patcher for reloaded modules. @mjstevens777 - please check if your problem is fixed in master now. |
Thanks for the quick fix! The master branch is working for me now. |
Thanks for the report! I will make a bug fix release in about a week, if nothing else comes up. |
My tests are failing with the error:
The tests that are failing do not use the
pyfakefs
library. If I dopip install pyfakefs==3.3
my errors go away, so it looks like something about the upgrade to 3.4 broke my tests. Do you have any idea what the error might be or how to get more information?I am running on python 3.6, ubuntu 16.04, inside a docker container. I am using the multiprocessing package from pytorch instead of the standard library, but it doesn't look like that's where the failure is coming from.
The text was updated successfully, but these errors were encountered: