Victor Stinner [Fri, 10 Jun 2011 14:32:54 +0000 (16:32 +0200)]
Issue #10801: Fix test_unicode_filenames() of test_zipfile
Just try to open files from the ZIP for reading, don't extract them to avoid
UnicodeEncodeError if the filename is not encodable to the filesystem encoding
(e.g. ASCII locale encoding).
Éric Araujo [Fri, 10 Jun 2011 02:29:43 +0000 (04:29 +0200)]
Clean up extra environment variable after packaging tests.
packaging.util.check_environ will define HOME and PLAT if they don’t exist; for
some reason, it does not define PLAT when running the tests from a checkout (so
no regrtest warning) but does when running from an installed Python.
Cleaning up the envvar in test_dist fixes the warning on my machine, but I
suspect that a test runner using a different order to run files or running them
in parallel may have PLAT defined in its environment because of another test.
Quite a lot of code ends up calling check_environ; maybe we should just clean
up PLAT in every test. For now I’m doing this simple fix, we’ll see if we get
bug reports.
Éric Araujo [Fri, 10 Jun 2011 01:53:49 +0000 (03:53 +0200)]
Fix omission in test for packaging install_distinfo command.
The code does not write checksum or file length for .pyc and .pyo in the RECORD
file, in compliance with PEP 376, but the test forgot to take .pyo into
account. This was not caught because there were no .pyo in the checkout, but
after installing there are .pyo files created by compileall, and the test picks
them up.
Rather than wrapping the C _isdir function in a Python function,
just import the C _isdir function directly. Additionally, add in the
docstring which was left out.
Éric Araujo [Thu, 9 Jun 2011 05:47:25 +0000 (07:47 +0200)]
Fix example in packaging test_config.
The example C extension used the “three.fast_taunt” name, but no “three” parent
was defined in the setup.cfg. This did not cause a failure nor even print a
warning, we may want to change that.
Brian Curtin [Wed, 8 Jun 2011 23:43:57 +0000 (18:43 -0500)]
Fix #11583. Changed os.path.isdir to use GetFileAttributes instead of os.stat.
By changing to the Windows GetFileAttributes API in nt._isdir we can figure
out if the path is a directory without opening the file via os.stat. This has
the minor benefit of speeding up os.path.isdir by at least 2x for regular
files and 10-15x improvements were seen on symbolic links (which opened the
file multiple times during os.stat). Since os.path.isdir is used in
several places on interpreter startup, we get a minor speedup in startup time.
Brian Curtin [Wed, 8 Jun 2011 23:17:18 +0000 (18:17 -0500)]
Fix #11583. Changed os.path.isdir to use GetFileAttributes instead of os.stat.
By changing to the Windows GetFileAttributes API in nt._isdir we can figure
out if the path is a directory without opening the file via os.stat. This has
the minor benefit of speeding up os.path.isdir by at least 2x for regular
files and 10-15x improvements were seen on symbolic links (which opened the
file multiple times during os.stat). Since os.path.isdir is used in
several places on interpreter startup, we get a minor speedup in startup time.
Antoine Pitrou [Wed, 8 Jun 2011 15:21:55 +0000 (17:21 +0200)]
Issue #9205: concurrent.futures.ProcessPoolExecutor now detects killed
children and raises BrokenProcessPool in such a situation. Previously it
would reliably freeze/deadlock.
Éric Araujo [Wed, 8 Jun 2011 03:29:39 +0000 (05:29 +0200)]
Fix a few misuses of :option: I missed in r86521.
Extract of the commit message:
Fix usage of :option: in the docs (#9312).
:option: is used to create a link to an option of python, not to mark
up any instance of any arbitrary command-line option. These were
changed to ````.
Brett Cannon [Tue, 7 Jun 2011 03:09:10 +0000 (20:09 -0700)]
When building sqlite3, the directory where sqlite.h was found was
always appended to the include directories regardless of whether it
was already in the list of directories. This could cause issue if
sqlite was installed in the same location as another install of
Python. Now a check is done to make sure the directory is not included
twice.
Antoine Pitrou [Mon, 6 Jun 2011 17:35:31 +0000 (19:35 +0200)]
Issue #12040: Expose a new attribute `sentinel` on instances of
:class:`multiprocessing.Process`. Also, fix Process.join() to not use
polling anymore, when given a timeout.
Victor Stinner [Mon, 6 Jun 2011 10:14:23 +0000 (12:14 +0200)]
Issue #12250: regrtest --timeout displays a warning instead of failing with an
error if faulthandler.dump_tracebacks_later() is missing (e.g. if Python is
compiled without threads).
Martin v. Löwis [Mon, 6 Jun 2011 08:27:56 +0000 (10:27 +0200)]
Drop claim about nasty problem.
It's unclear what this was referring to; most likely, it was about sockets
that the application had already closed, in which case it's not a sockets
problem, but an application problem.