homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author nadeem.vawda
Recipients Adam.Groszer, cjw296, eric.araujo, jaraco, nadeem.vawda, tarek
Date 2012年02月18日.20:50:05
SpamBayes Score 6.1062266e-16
Marked as misclassified No
Message-id <1329598206.78.0.647918833181.issue6884@psf.upfronthosting.co.za>
In-reply-to
Content
Test output:
 test test_distutils failed -- Traceback (most recent call last):
 File "C:\Users\Nadeem\Code\python2\python27\lib\distutils\tests\test_filelist.py", line 230, in test_process_template
 self.assertEqual(file_list.files, ['d/b.py', 'd/d/e.py'])
 AssertionError: Lists differ: [] != ['d/b.py', 'd/d/e.py']
 Second list contains 2 additional elements.
 First extra element 0:
 d/b.py
 - []
 + ['d/b.py', 'd/d/e.py']
Output of sdist:
 C:\Users\Nadeem\Code\keyring>..\python2\python27\PCbuild\python_d setup.py sdist
 C:\Users\Nadeem\Code\python2\python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'extras_require'
 warnings.warn(msg)
 options (after parsing config files):
 options (after parsing command line):
 option dict for 'sdist' command:
 {}
 running sdist
 Distribution.get_command_obj(): creating 'sdist' command object
 running check
 Distribution.get_command_obj(): creating 'check' command object
 Distribution.get_command_obj(): creating 'build_py' command object
 Distribution.get_command_obj(): creating 'build' command object
 reading manifest template 'MANIFEST.in'
[... output omitted - applying other regexes ...]
 include *.txt
 include_pattern: applying regex r'^[^/]*\.txt\Z(?ms)'
 adding CHANGES.txt
 adding CONTRIBUTORS.txt
 adding .hg\last-message.txt
 exclude_pattern: applying regex r'^build\\.*'
 exclude_pattern: applying regex r'^keyring\-0\.8\\.*'
 exclude_pattern: applying regex r'(^|/|\\)(RCS|CVS|\.svn|\.hg|\.git|\.bzr|_darcs)(/|\\).*'
 removing .hg\last-message.txt
 writing manifest file 'MANIFEST'
[... output omitted - creating directories; copying and adding files ...]
 removing 'keyring-0.8' (and everything under it)
As you can see, the "include *.txt" directive still catches ".hg\last-message.txt".
The problem seems to be that while you've fixed the prefix-handling codepath in
translate_pattern(), glob_to_re() is still hardcoded to use "/". I've been able to
get the desired behavior by changing glob_to_re() as follows (note the need to
double-escape os.sep):
 # character except the special characters.
 # XXX currently the "special characters" are just slash -- i.e. this is
 # Unix-only.
 - pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.', r'1円[^/]', pattern_re)
 + pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.',
 + r'1円[^' + re.escape(re.escape(os.sep)) + ']',
 + pattern_re)
 
 return pattern_re
Of course, the comment above should also be updated.
Also, this change results in a different set of test breakages:
 ======================================================================
 FAIL: test_glob_to_re (distutils.tests.test_filelist.FileListTestCase)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
 File "C:\Users\Nadeem\Code\python2\python27\lib\distutils\tests\test_filelist.py", line 42, in test_glob_to_re
 self.assertEqual(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)')
 AssertionError: 'foo[^\\\\]*\\Z(?ms)' != 'foo[^/]*\\Z(?ms)'
 ======================================================================
 FAIL: test_process_template (distutils.tests.test_filelist.FileListTestCase)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
 File "C:\Users\Nadeem\Code\python2\python27\lib\distutils\tests\test_filelist.py", line 182, in test_process_template
 self.assertEqual(file_list.files, ['a.py'])
 AssertionError: Lists differ: ['a.py', 'd/c.py'] != ['a.py']
 First list contains 1 additional elements.
 First extra element 1:
 d/c.py
 - ['a.py', 'd/c.py']
 + ['a.py']
These are both clearly due to the tests using hardcoded Unix paths instead
of os.sep and os.path.join().
History
Date User Action Args
2012年02月18日 20:50:06nadeem.vawdasetrecipients: + nadeem.vawda, jaraco, cjw296, tarek, eric.araujo, Adam.Groszer
2012年02月18日 20:50:06nadeem.vawdasetmessageid: <1329598206.78.0.647918833181.issue6884@psf.upfronthosting.co.za>
2012年02月18日 20:50:06nadeem.vawdalinkissue6884 messages
2012年02月18日 20:50:05nadeem.vawdacreate

AltStyle によって変換されたページ (->オリジナル) /