[issue4943] trace.CoverageResults.write_results can't write results file for modules loaded by __path__ manipulation

Matt McClure report at bugs.python.org
Wed Jan 14 05:16:07 CET 2009


New submission from Matt McClure <mlm at aya.yale.edu>:

The function trace.CoverageResults.write_results() can't write coverage
results on Windows for modules loaded by using the __path__ feature of
PEP 302.

For example, Bazaar uses the __path__ feature to load plugins from
directories specified by the BZR_PLUGIN_PATH environment variable.

The attached zip file contains a test case.  If it is unpacked so that
tracebug.py is in C:\, it will fail to produce a coverage results file
for C:\tracebug\dir2\hello.py.  Instead it will produce an empty file
named C:\tracebug\out\C .

The bug appears to be that trace.fullmodname() returns
C:.tracebug.dir2.hello .  Since the result contains a colon (:), it
can't be used as the filename of the output file produced by
trace.CoverageResults.write_results().

----------
components: Library (Lib)
files: tracebug.zip
messages: 79826
nosy: matthewlmcclure
severity: normal
status: open
title: trace.CoverageResults.write_results can't write results file for modules loaded by __path__ manipulation
versions: Python 2.4, Python 2.5, Python 2.6
Added file: http://bugs.python.org/file12734/tracebug.zip

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4943>
_______________________________________


More information about the Python-bugs-list mailing list