concurrencytest
concurrencytest copied to clipboard
Resource warning due to unclosed IO stream
Hello and thanks for this useful tool. I am trying to integrate it into psutil here: https://github.com/giampaolo/psutil/pull/1709. After running the parallel suite I get a bunch of resource warnings (as many as the number of workers):
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=11>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=10>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=9>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=7>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=6>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=5>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=12>
return self.run(*args, **kwds)
/home/giampaolo/.local/lib/python3.6/site-packages/unittest2/suite.py:87: ResourceWarning: unclosed file <_io.BufferedReader name=8>
return self.run(*args, **kwds)
I was able to fix the problem by adding atexit.register(stream.close)
after this line but am not sure if it's the best solution:
https://github.com/cgoldberg/concurrencytest/blob/edf88b19d3fa3b9add89dde9e69c53bde1239163/concurrencytest.py#L96