Commit Graph

18562 Commits

Author SHA1 Message Date
Victor Stinner 395dc58ee7 (merge 3.2) Issue #12285: multiprocessing.Pool() raises a ValueError if the
number of processes if negative or null.
2011-06-20 17:54:03 +02:00
Victor Stinner 2fae27b735 Issue #12285: multiprocessing.Pool() raises a ValueError if the number of
processes if negative or null.
2011-06-20 17:53:35 +02:00
Victor Stinner fb25ba9b07 Close #12289: Fix "is executable?" test in the CGI server
Use os.access(path, os.X_OK) instead of (os.stat(path).st_mode & 0o111 != 0),
and ignore the test on Windows.
2011-06-20 17:45:54 +02:00
Benjamin Peterson f5ff22329b use a invalid name for the __class__ closure for super() (closes #12370)
This prevents the assignment of __class__ in the class body from breaking
super. (Although a determined person could do locals()["@__class__"] = 4)
2011-06-19 19:42:22 -05:00
Benjamin Peterson 019d0f27a3 merge 3.2 2011-06-19 17:49:22 -05:00
Benjamin Peterson 206cd1c284 fix uglyNamingConvention 2011-06-19 17:49:13 -05:00
Éric Araujo 3e425ac64b packaging: Add the project directory to sys.path to support local setup hooks.
Original patch by Vinay Sajip on #11637.
2011-06-19 21:23:43 +02:00
Éric Araujo 348c572dcf Fix typo 2011-06-19 18:53:31 +02:00
R David Murray afc9a5eaa1 #6771: Move wrapper function into __init__ and eliminate wrapper module
Andrew agreed in the issue that eliminating the module file made sense.
Wrapper has only been exposed as a function, and so there is no (easy)
way to access the wrapper module, which in any case only had the one
function in it.  Since __init__ already contains a couple wrapper
functions, it seems to make sense to just move wrapper there instead of
importing it from a single function module.
2011-06-18 20:21:09 -04:00
R David Murray e76ff4081a merge #11584: make Header and make_header handle binary unknown-8bit input 2011-06-18 13:02:42 -04:00
R David Murray e5e366c856 #11584: make Header and make_header handle binary unknown-8bit input
Analogous to the decode_header fix, this fix makes Header.append and
make_header correctly handle the unknown-8bit charset introduced by email5.1,
when the input to them is binary strings.  Previous to this fix the
make_header(decode_header(x)) == x invariant was broken in the face of the
unknown-8bit charset.
2011-06-18 12:57:28 -04:00
R David Murray 7df08379c6 merge #11584: make decode_header handle Header objects correctly
This updates 12e39cd7a0e4 (merge of b21fdfa0019c), which fixed this bug
incorrectly.
2011-06-18 12:32:27 -04:00
R David Murray 6bdb1769dc #11584: make decode_header handle Header objects correctly
This updates b21fdfa0019c, which fixed this bug incorrectly.
2011-06-18 12:30:55 -04:00
R David Murray 953510560f merge #11700: proxy object close methods can now be called multiple times 2011-06-17 22:25:14 -04:00
R David Murray c88bce1580 #11700: proxy object close methods can now be called multiple times
This makes them work like the close provided by regular file objects.
2011-06-17 22:24:05 -04:00
Éric Araujo 3c8ca089b1 Make decorators used in packaging preserve docstrings 2011-06-17 21:10:21 +02:00
Éric Araujo 980d344ff3 Brange merge 2011-06-17 19:39:18 +02:00
Éric Araujo 74d68135ad Brange merge 2011-06-17 19:38:38 +02:00
R David Murray 4c7d21e2b3 merge #11767: use context manager to close file in __getitem__ to prevent FD leak 2011-06-17 12:56:41 -04:00
R David Murray 05ff990401 #11767: use context manager to close file in __getitem__ to prevent FD leak
All of the other methods in mailbox that create message objects take care to
close the file descriptors they use, so it seems to make sense to have
__getitem__ do so as well.

Patch by Filip Gruszczyński.
2011-06-17 12:54:56 -04:00
Éric Araujo ed5d2f1310 Minor tweaks to packaging tests.
- Move a tearDown method right after setUp
- Use assertRaises instead of reinventing it
- Skip a test instead of commenting it out, as a reminder
2011-06-17 15:47:41 +02:00
Éric Araujo c06f46f74c Packaging tests: don’t let an internal cache grow indefinitely.
Victor Stinner diagnosed on #12167 that some reference leaks came from
util._path_created, a set used for caching; there are two tests that
cause additions to this set, so now they clear it in tearDown, avoiding
17 refleaks.  (My tests show that it’s necessary to clear the set in
only one test, clearing it in both does not stop more refleaks, but
there’s no harm in doing it.)
2011-06-17 15:43:18 +02:00
Victor Stinner e470995eff (Merge 3.2) Issue #10883: test_urllib2net closes socket explicitly 2011-06-17 14:53:41 +02:00
Victor Stinner eaca5c8b95 Issue #10883: test_urllib2net closes socket explicitly 2011-06-17 14:53:02 +02:00
Victor Stinner f073dc286c (Merge 3.2) Issue #12133: fix a ResourceWarning in urllib.request
AbstractHTTPHandler.do_open() of urllib.request closes the HTTP connection if
its getresponse() method fails with a socket error. Patch written by Ezio
Melotti.
2011-06-17 14:02:18 +02:00
Victor Stinner a4c45d73cf Issue #12133: fix a ResourceWarning in urllib.request
AbstractHTTPHandler.do_open() of urllib.request closes the HTTP connection if
its getresponse() method fails with a socket error. Patch written by Ezio
Melotti.
2011-06-17 14:01:18 +02:00
Victor Stinner 723993983a Issue #12333: run tests on the new module in a subprocess
It is not possible to unload a module written in C, so use a subprocess to run
the tests on the module compiled by test_build_ext(). Using a subprocess, we
don't have to unload the module, save/restore sys.path, and the test can be run
more than once.

This commit fixes also an access error on rmtree() on Windows: because the
module was not really unloaded, it was not possible to remove the temporary
directory (it is not possible to remove a directory on Windows if it still
contains an open file).
2011-06-17 13:52:56 +02:00
Victor Stinner 0f270b2c37 Issue #12333: close files before removing the directory
packaging.tests.support.TempdirManager: rmtree() fails on Windows if there are
still open files in the directory.
2011-06-17 13:25:53 +02:00
Éric Araujo d2c7e3fe96 Minor tweaks in packaging’s test_dist.
- Use different Metadata objects to write and read a PKG-INFO (METADATA)
  file, to make sure the tested values come from the file

- No need to restore methods on an instance after monkey-patching them:
  the methods are still the same on the class

- Harmonize dedent calls
2011-06-17 13:24:33 +02:00
Victor Stinner 3bcc0170bd (Merge 3.2) Issue #12310: finalize the old process after _run_after_forkers()
multiprocessing: Process._bootstrap() keeps a reference to the old process to
delay its finalization until after _run_after_forkers() as been executed. This
change should fix a crash on Mac OS X Tiger when a lock is released after a
fork.

Patch written by Charles-François Nataliv and Antoine Pitrou.
2011-06-17 12:36:26 +02:00
Victor Stinner 0f83b1511c Issue #12310: finalize the old process after _run_after_forkers()
multiprocessing: Process._bootstrap() keeps a reference to the old process to
delay its finalization until after _run_after_forkers() as been executed. This
change should fix a crash on Mac OS X Tiger when a lock is released after a
fork.

Patch written by Charles-François Nataliv and Antoine Pitrou.
2011-06-17 12:31:49 +02:00
Victor Stinner ac6602bdc1 Issue #12333: restore the previous dir before removing the current directory
packaging.tests.support.TempdirManager: removing the current directory is not
allowed on Windows or Solaris. Store the current directory and restore it
before removing the temporary directory (which is used as the working directory
during the tests).
2011-06-17 12:20:46 +02:00
Éric Araujo 3e85e54274 Remove unused code in packaging.pypi.dist 2011-06-16 23:50:17 +02:00
Éric Araujo 6f67765389 Stop binding sys.path as default parameter value in packaging.
The two public functions in database default to sys.path if the given
*paths* argument is None; the private functions don’t have default
values for their arguments anymore, which is fine as the public
functions that call them pass their arguments down.  Likewise in
install, the functions will pass down their *paths* arguments down to
database functions.

A one-line unneeded function in install was removed instead of being
changed, and the few remaining tests that used brute-force restoration
of sys.path have been cleaned up to use sys.path.remove.
2011-06-16 23:43:15 +02:00
Éric Araujo b6be20ca33 Packaging: remove last mentions and uses of setup.py in the code.
Now only the compatibility layer (in create, util and install) talk
about setup.py.
2011-06-16 23:34:55 +02:00
Éric Araujo 434812d569 Clean up packaging.tests.test_mixin2to3 2011-06-16 23:21:01 +02:00
Victor Stinner 4e97abce2d Issue #12167: Fix a reafleak in packaging.tests.PyPIServer constructor
Don't modify mutable default arguments...
2011-06-15 23:58:57 +02:00
Brian Curtin a87d586fd6 branch merge? 2011-06-13 16:10:32 -05:00
Brian Curtin c9d6a501db branch merge 2011-06-13 16:03:01 -05:00
Brian Curtin 3e86c99f90 Merge from 3.2 for Issue #12084. 2011-06-13 16:00:35 -05:00
Brian Curtin d25aef55c8 Fix #12084. os.stat on Windows wasn't working properly with relative symlinks.
Use of DeviceIoControl to obtain the symlink path via the reparse tag was
removed. The code now uses GetFinalPathNameByHandle in the case of a
symbolic link and works properly given the added test which creates a symbolic
link and calls os.stat on it from multiple locations.

Victor Stinner also noticed an issue with os.lstat following the os.stat
code path when being passed bytes. The posix_lstat function was adjusted to
properly hook up win32_lstat instead of the previous STAT macro (win32_stat).
2011-06-13 15:16:04 -05:00
Victor Stinner 415007e30d Issue #12316: Fix sigwait() test using threads
Spawn a new process instead of using fork(). Patch written by Charles-François
Natali.
2011-06-13 16:19:06 +02:00
Éric Araujo 8d233f2cb0 Also specify encoding when reading setup.cfg (#12320) 2011-06-12 23:02:57 +02:00
Éric Araujo 043f5ae697 Specify the encoding of the setup.cfg in one packaging test (#12320) 2011-06-12 22:04:58 +02:00
Benjamin Peterson 3bbb722654 allow __dir__ to return any sequence 2011-06-11 16:12:08 -05:00
Benjamin Peterson 703f7c4bf5 merge 3.2 (#9284) 2011-06-11 15:56:46 -05:00
Benjamin Peterson 9620cc0463 allow "fake" filenames in findsource (closes #9284)
This allows findsource() to work in doctests.

A patch from Dirkjan Ochtman.
2011-06-11 15:53:11 -05:00
Éric Araujo bc18532eee Branch merge 2011-06-11 19:56:09 +02:00
Charles-François Natali a529308348 Issue #12287: In ossaudiodev, check that the device isn't closed in several
methods.
2011-06-11 18:58:24 +02:00
Éric Araujo 6280606a57 Adjust logging in packaging.util.spawn (related to #11599) 2011-06-11 09:46:07 +02:00