-
-
Notifications
You must be signed in to change notification settings - Fork 29.2k
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
regrtest.py -T broken #54750
Comments
|
Running regrtest.py with coverage option seems to be broken for the py3k branch at the moment. Run the following commands on the shell: wget http://svn.python.org/snapshots/python3k.tar.bz2 This gives the following output: [1/1] test_urllib
Not printing coverage data for 'Lib/test/regrtest.py': [Errno 2] No such file or directory: 'Lib/test/regrtest.py'
Traceback (most recent call last):
File "Lib/test/regrtest.py", line 1502, in <module>
main()
File "Lib/test/regrtest.py", line 698, in main
r.write_results(show_missing=True, summary=True, coverdir=coverdir)
File "/Users/walter/x/pybug/python/Lib/trace.py", line 331, in write_results
with open(filename, 'rb') as fp:
IOError: [Errno 2] No such file or directory: 'Lib/test/regrtest.py'
[123146 refs]I'm testing on Mac OS X 10.6.5. Attached is the complete log of the shell session. This bug might be related to bpo-10329, as the failing line was introduced in r86303. |
|
Apparently something in the test changes the cwd. Both of the following invocations work: $ ./python.exe `pwd`/Lib/test/regrtest.py -T -N test_urllib
$ ./python.exe -m test.regrtest -T -N test_urllibI would suggest changing the coverage target in the Makefile. |
|
|
|
I would like to investigate this some more. In theory, regrtest should restore cwd before coverage results are written. |
|
OK, I reran the test with:: ./python -mtest.regrtest -T -N test_urllib and this does indeed produce coverage files (for _abcoll, _weakrefset, abc, base64, codecs, collections, contextlib, functools, genericpath, hashlib, locale, mimetypes, os, posixpath, quopri, random, re, sre_compile, sre_parse, ssl, stat, tempfile, textwrap, trace, uu, warnings). However running the complete test suite via:: ./python -mtest.regrtest -T -N -uurlfetch,largefile,network,decimal fails with:: Not printing coverage data for '/tmp/tmp0fdr9o/t4/sub/subsub/__init__.py': [Errno 2] No such file or directory: '/tmp/tmp0fdr9o/t4/sub/subsub/__init__.py'
Traceback (most recent call last):
File "/home/coverage/python/Lib/runpy.py", line 160, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/home/coverage/python/Lib/runpy.py", line 73, in _run_code
exec(code, run_globals)
File "/home/coverage/python/Lib/test/regrtest.py", line 1502, in <module>
main()
File "/home/coverage/python/Lib/test/regrtest.py", line 698, in main
r.write_results(show_missing=True, summary=True, coverdir=coverdir)
File "/home/coverage/python/Lib/trace.py", line 331, in write_results
with open(filename, 'rb') as fp:
IOError: [Errno 2] No such file or directory: '/tmp/tmp0fdr9o/t4/sub/subsub/__init__.py'
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' encoding='ANSI_X3.4-1968'>(attached is the complete output of running the test suite (build2.log).) |
|
Here is a simpler invocation that produces a similar error: $ ./python.exe -m test.regrtest -T test_trace test_pkg
...IOError: [Errno 2] No such file or directory: '/var/folders/qs/qsqFUI2xFUKG+9CTf4z7pU+++TI/-Tmp-/tmpy1iyp7/t4/sub/init.py' |
|
I am attaching a patch that fixes write_results() and makes test_trace tests restore the tracefunc after they run. This fixes generation off the coverage files, but many tests still fail when traced. |
|
At least the test_trace fix for preventing the complete destruction of any preset trace should be looked at and possibly applied separately (prevents coverage.py from covering the entire test suite as well). Should probably add a test to regrtest to make sure that the trace function is not mutated after a test file runs. |
|
Alexander's patch LGTM |
|
New changeset 10cf594ace4b by Alexander Belopolsky in branch 'default': |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: