Open
Description
Originally reported by Tibor (Bitbucket: tibor_arpas, GitHub: Unknown)
Subprocesses in test suits are a common occurence. coverage.py has an execellent way to measure their coverage but the set-up instructions are quite scary: http://nedbatchelder.com/code/coverage/subprocess.html
Also in the time of tox, continuous integration, virtualizations and containerizations, the manual process is quite beside the point.
What could we do to completely automate the described process?
There is an article by Ned http://nedbatchelder.com/blog/201001/running_code_at_python_startup.html
and a suggestion from @geoffbache
#!python
# sitecustomize.py
import os, sys
currDir = os.path.dirname(__file__)
sys.path.remove(currDir)
del sys.modules["sitecustomize"]
try:
import sitecustomize
finally:
sys.path.insert(0, currDir)
That script fails on my machine (MacOS, Python 2.7) with
#!stacktrace
Traceback (most recent call last):
File "/Users/tibor/.virtualenvs/tmon/bin/../lib/python2.7/site.py", line 703, in <module>
main()
File "/Users/tibor/.virtualenvs/tmon/bin/../lib/python2.7/site.py", line 694, in main
execsitecustomize()
File "/Users/tibor/.virtualenvs/tmon/bin/../lib/python2.7/site.py", line 548, in execsitecustomize
import sitecustomize
File "/Users/tibor/tmonworkspace/testmon/sitecustomize.py", line 8, in <module>
sys.path.insert(0, currDir)
AttributeError: 'NoneType' object has no attribute 'path'
But I would hope that it's the best approach.