Commit Graph

21327 Commits

Author SHA1 Message Date
Hynek Schlawack 9f558ccefd #4489: Use dir_fd in rmdir in _rmtree_safe_fd()
Now that rmdir supports dir_fd, we also use it. Attackers can't even delete
empty directories anymore.
2012-06-28 15:30:47 +02:00
Petri Lehtinen dde8cb0899 #9559: Append data to single-file mailbox files if messages are only added
If messages were only added, a new file is no longer created and
renamed over the old file when flush() is called on an mbox, MMDF or
Babyl mailbox.
2012-06-28 13:56:14 +03:00
Petri Lehtinen f29435f9f0 #9559: Append data to single-file mailbox files if messages are only added
If messages were only added, a new file is no longer created and
renamed over the old file when flush() is called on an mbox, MMDF or
Babyl mailbox.
2012-06-28 13:53:23 +03:00
Eric V. Smith abb755db11 Merge. 2012-06-28 06:15:30 -04:00
Eric V. Smith b10951549b Use assertIsNone. Thanks Terry Reedy. 2012-06-28 06:15:01 -04:00
Hynek Schlawack a75cd1ce73 #4489: Don't follow ever symlinks in rmtree
Also added several regression tests.
2012-06-28 12:07:29 +02:00
Antoine Pitrou 8afc243a76 Avoid using scrdir, it's broken. 2012-06-28 01:20:26 +02:00
Neil Schemenauer 76b931b133 Fix bug in test_tools that prevented building is separate directory.
Use 'srcdir' from sysconfig instead of 'projectbase' to build a
path to the Tools directory.  'projectbase' is the path of the build
directory, not the source directory.
2012-06-27 15:58:37 -06:00
Eric V. Smith faae3adbb9 Changed importlib tests to use assertIs, assertIsInstance, etc., instead of just assertTrue. 2012-06-27 15:26:26 -04:00
David Malcolm 8d37ffa563 Issue #12605: Show information on more C frames within gdb backtraces
The gdb hooks for debugging CPython (within Tools/gdb) have
been enhanced to show information on more C frames relevant to CPython within
the "py-bt" and "py-bt-full" commands:
  * C frames that are waiting on the GIL
  * C frames that are garbage-collecting
  * C frames that are due to the invocation of a PyCFunction
2012-06-27 14:15:34 -04:00
Antoine Pitrou 67a7b06008 Flush stdout and stderr when running tests in parallel
(helps getting results in real-time when stdio is transmitted over a pipe or socket)
2012-06-27 17:41:33 +02:00
Antoine Pitrou 8237258e09 Flush stdout and stderr when running tests in parallel
(helps getting results in real-time when stdio is transmitted over a pipe or socket)
2012-06-27 17:41:07 +02:00
Christian Heimes ab47577993 white space cleanup 2012-06-27 15:37:47 +02:00
Christian Heimes afa2973d7a Issue 10924: Fixed mksalt() to use a RNG that is suitable for cryptographic purpose 2012-06-27 15:36:46 +02:00
Antoine Pitrou 9facaf4f65 Issue #15079: make a test applicable to both C and Python versions of the pickle module.
Patch by Stefan Mihaila.
2012-06-26 23:05:27 +02:00
Antoine Pitrou 79035bd71f Issue #15079: make a test applicable to both C and Python versions of the pickle module.
Patch by Stefan Mihaila.
2012-06-26 23:04:48 +02:00
David Malcolm b83719287d Issue #14443: ensure that brp-python-bytecompile is invoked with the correct
python executable

The __os_install_macro defines some post-processing activities during an rpm
build; one of the scripts it calls is brp-python-bytecompile, which can take
an argument: the python executable with which to byte-compile .py files in the
package payload.

In some older versions of rpm (e.g. in RHEL 6), this invocation doesn't pass
in an argument, and brp-python-bytecompile defaults to using /usr/bin/python,
which can lead to the .py files being byte-compiled for the wrong version of
python.  This has been fixed in later versions of rpm by passing in
%{__python} as an argument to brp-python-bytecompile.

Workaround this by detecting if __os_install_post has a 0-argument invocation
of brp-python-bytecompile, and if so generating an equivalent macro that has
the argument, and explicitly provide the new definition within the specfile.
2012-06-26 14:06:23 -04:00
Georg Brandl d08cec6d62 Bump version to 3.3.0b1. 2012-06-26 09:43:40 +02:00
Georg Brandl 969288e488 Use ValueError, not RuntimeError for a utime flag combination illegal on some systems. 2012-06-26 09:25:44 +02:00
Georg Brandl 3f81ba88ae Update suspicious ignore file and pydoc topics. 2012-06-26 09:12:26 +02:00
Larry Hastings 5b2f9c0aff Issue #15817: Bugfix: remove temporary directories test_shutil was leaving
behind.
2012-06-25 23:50:01 -07:00
Vinay Sajip a57a8e072c Closes #15179: Merged fix from 3.2. 2012-06-25 23:20:27 +01:00
Vinay Sajip 3e6d71d336 Issue #15179: Closed socket on connection failure. Thanks to Kazutaka Morita for the patch. 2012-06-25 23:18:45 +01:00
David Malcolm 555bfc7ed0 Issue #14443: ensure that brp-python-bytecompile is invoked with the correct
python executable

The __os_install_macro defines some post-processing activities during an rpm
build; one of the scripts it calls is brp-python-bytecompile, which can take
an argument: the python executable with which to byte-compile .py files in the
package payload.

In some older versions of rpm (e.g. in RHEL 6), this invocation doesn't pass
in an argument, and brp-python-bytecompile defaults to using /usr/bin/python,
which can lead to the .py files being byte-compiled for the wrong version of
python.  This has been fixed in later versions of rpm by passing in
%{__python} as an argument to brp-python-bytecompile.

Workaround this by detecting if __os_install_post has a 0-argument invocation
of brp-python-bytecompile, and if so generating an equivalent macro that has
the argument, and explicitly provide the new definition within the specfile.
2012-06-25 15:52:24 -04:00
Antoine Pitrou 1dd75a64aa Backport test_nntplib fixes from default. 2012-06-25 18:08:54 +02:00
Larry Hastings c48fe98a7c Issue #15177: Added dir_fd parameter to os.fwalk(). 2012-06-25 04:49:05 -07:00
Jesus Cea 2a193a818a Skip test in freebsd entirely - Kernel bug in freebsd7/8/9 - #10142: Support for SEEK_HOLE/SEEK_DATA 2012-06-25 13:45:38 +02:00
Larry Hastings fdaea06d3c Issue #15176: Clarified behavior, documentation, and implementation
of os.listdir().
2012-06-25 04:42:23 -07:00
Hynek Schlawack 3b52778c74 #4489 Make fd based rmtree work on bytes 2012-06-25 13:27:31 +02:00
Gregory P. Smith 875c1bc522 Backout change e8f44ebacda7052267318cecf5b6f128d35add17. Reverting the test
to using signal.alarm(1) instead of signal.setitimer(signal.ITIMER_REAL, 0.1).

This is an attempt to see if this change is what caused the ubuntu arm buildbot
to hang in test_io's test_interrupted_write_retry_text.
Discussion in Issue #12268.
2012-06-25 01:15:14 -07:00
Gregory P. Smith b5ba203709 Backout change e8f44ebacda7052267318cecf5b6f128d35add17. Reverting the test
to using signal.alarm(1) instead of signal.setitimer(signal.ITIMER_REAL, 0.1).

This is an attempt to see if this change is what caused the ubuntu arm buildbot
to hang in test_io's test_interrupted_write_retry_text.
Discussion in Issue #12268.
2012-06-25 01:13:32 -07:00
Eric V. Smith 714370fad1 Give test directory a more reasonable name. 2012-06-24 19:55:18 -04:00
Vinay Sajip 2895244653 Closes #15173: Tidied up copyright statements and removed pythonv references. 2012-06-25 00:47:46 +01:00
Eric V. Smith e51a36922f Fixes issue 15039: namespace packages are no longer imported in preference to modules of the same name. 2012-06-24 19:13:55 -04:00
Larry Hastings 68386bc0b8 Issue #15164: Change return value of platform.uname() from a
plain tuple to a collections.namedtuple.
2012-06-24 14:30:41 -07:00
Antoine Pitrou ab88803a8a Support Mageia Linux in the platform module. 2012-06-24 22:20:18 +02:00
Georg Brandl 488fccfaaf Closes #11678: support Arch linux in the platform module. 2012-06-24 22:17:23 +02:00
Ezio Melotti 46495182d0 #15156: HTMLParser now uses the new "html.entities.html5" dictionary. 2012-06-24 22:02:56 +02:00
Georg Brandl 87903c14bc Merge with 3.2. 2012-06-24 20:07:40 +02:00
Georg Brandl 26af3b223f Refer test_xmlrpc_net to the new buildbot URL at buildbot.python.org. 2012-06-24 20:06:54 +02:00
Georg Brandl 496660c56b Partial backport of 612f34e31270: fix spacing error in exception message. 2012-06-24 20:01:05 +02:00
Georg Brandl fcbdbf22e3 urllib.request: fix spacing errors in exception/warning messages. 2012-06-24 19:56:31 +02:00
Éric Araujo 56261cff16 Branch merge 2012-06-24 13:54:22 -04:00
Éric Araujo aa789ace66 Restore test that was using pysetup and can now (#15157) use pydoc 2012-06-24 13:51:22 -04:00
Georg Brandl 19c4e5bb39 Fix test__locale on Mac; platform.uname() does not have a structseq-type interface (yet). 2012-06-24 19:29:49 +02:00
Georg Brandl c645c6ada1 Closes #15162: the meaning of "online" has shifted a bit in recent years, use "interactive" instead. 2012-06-24 17:24:26 +02:00
Antoine Pitrou 1f5d2a087c Fix test to really run behind a NNTP virus checker 2012-06-24 16:28:18 +02:00
Hynek Schlawack cf343532a2 Remove debug output from test_shutil 2012-06-24 16:21:22 +02:00
Christian Heimes 6cea65555c Issue #15061: Re-implemented hmac.compare_digest() in C 2012-06-24 13:48:32 +02:00
Larry Hastings 605a62ddb1 Issue #15118: Change return value of os.uname() and os.times() from
plain tuples to immutable iterable objects with named attributes
(structseq objects).
2012-06-24 04:33:36 -07:00
Georg Brandl 306336bcda Closes #15161: add support for giving path as a fd for truncate() and pathconf(). 2012-06-24 12:55:33 +02:00
Mark Dickinson 95aeae01e2 In random's test_seedargs: Make sure to include at least one seed object with a negative hash. 2012-06-24 11:05:30 +01:00
Vinay Sajip 6aed5fe532 Closes #15157: pydoc script added to venvs. 2012-06-24 10:35:40 +01:00
R David Murray 97f43c019f #15160: Extend the new email parser to handle MIME headers.
This code passes all the same tests that the existing RFC mime header
parser passes, plus a bunch of additional ones.

There are a couple of commented out tests where there are issues with the
folding.  The folding doesn't normally get invoked for headers parsed from
source, and the cases are marginal anyway (headers with invalid binary data)
so I'm not worried about them, but will fix them after the beta.

There are things that can be done to make this API even more convenient, but I
think this is a solid foundation worth having.  And the parser is a full RFC
parser, so it handles cases that the current parser doesn't.  (There are also
probably cases where it fails when the current parser doesn't, but I haven't
found them yet ;)

Oh, yeah, and there are some really ugly bits in the parser for handling some
'postel' cases that are unfortunately common.

I hope/plan to to eventually refactor a lot of the code in the parser which
should reduce the line count...but there is no escaping the fact that the
error recovery is welter of special cases.
2012-06-24 05:03:27 -04:00
Hynek Schlawack f841e42a98 Fix whitespace 2012-06-24 09:51:46 +02:00
Éric Araujo ec177c14d3 Packaging removal: also revert introduction of sysconfig.cfg.
We need a discussion to define what should be customized how; this new
config file is premature.  It was added to serve the needs of the
resources system in install_data / packaging.database, so it can be
removed alongside packaging for 3.3.
2012-06-24 03:27:43 -04:00
Gregory P. Smith 853ef47522 merge heads 2012-06-24 00:24:31 -07:00
Gregory P. Smith 990a5feba7 Fixes issue #12268: File readline, readlines and read() or readall() methods
no longer lose data when an underlying read system call is interrupted.
IOError is no longer raised due to a read system call returning EINTR
from within these methods.
2012-06-24 00:23:47 -07:00
Gregory P. Smith 5135992164 Fixes issue #12268: File readline, readlines and read() or readall() methods
no longer lose data when an underlying read system call is interrupted.
IOError is no longer raised due to a read system call returning EINTR
from within these methods.
2012-06-23 23:55:39 -07:00
Gregory P. Smith 8150492f11 Speed up test_io by >2x by reducing the sleep time using setitimer instead of
alarm for the signal tests.
2012-06-23 23:46:37 -07:00
Éric Araujo 859aad6a36 Remove packaging from the standard library.
Distutils2 will live on on PyPI and be included in the stdlib when it
is ready.  See discussion starting at
http://mail.python.org/pipermail/python-dev/2012-June/120430.html
2012-06-24 00:07:41 -04:00
Ezio Melotti dc44f55cc9 #11113: add a new "html5" dictionary containing the named character references defined by the HTML5 standard and the equivalent Unicode character(s) to the html.entities module. 2012-06-24 04:37:41 +02:00
Larry Hastings b698d8e7e9 Issue #15154: Add "dir_fd" parameter to os.rmdir, remove "rmdir"
parameter from os.remove / os.unlink.
Patch written by Georg Brandl.  (I'm really looking forward to George
getting commit privileges so I don't have to keep doing checkins on his
behalf.)
2012-06-23 16:55:07 -07:00
Antoine Pitrou b7eb563a2a Errors in "client" methods in test_socket were ignored because of a bogus except clause.
(this could reveal test failures!)
2012-06-24 01:34:13 +02:00
Ned Deily cbfb9a56e6 Issue #13590: Improve support for OS X Xcode 4:
- Try to avoid building Python or extension modules with problematic
  llvm-gcc compiler.
- Since Xcode 4 removes ppc support, extension module builds now
  check for ppc compiler support and automatically remove ppc and
  ppc64 archs when not available.
- Since Xcode 4 no longer install SDKs in default locations,
  extension module builds now revert to using installed headers
  and libs if the SDK used to build the interpreter is not
  available.
- Update ./configure to use better defaults for universal builds;
  in particular, --enable-universalsdk=yes uses the Xcode default
  SDK and --with-universal-archs now defaults to "intel" if ppc
  not available.
2012-06-23 16:02:19 -07:00
Philip Jenvey 88bc0d2640 small refactor and PEP8 line width/docstring 2012-06-23 15:54:38 -07:00
Antoine Pitrou 110ee34e41 Lower test-skipping threshold in test_reprlib 2012-06-23 22:55:58 +02:00
Antoine Pitrou 4f6e3f74fc Avoid depending on directory iteration order in test_shutil 2012-06-23 22:05:11 +02:00
Antoine Pitrou f3a166d799 Add debug output to test_shutil 2012-06-23 21:32:36 +02:00
Antoine Pitrou 2f8a75c7a7 Proper cleanup in test_shutil, even in case of error. 2012-06-23 21:28:15 +02:00
Hynek Schlawack 2100b42317 #4489: Fix usage of fd-based functions to new api introduced earlier today
Also add an explicit test for safe implementation usage on supported platforms.

As a side effect, this commit adds a module-level attribute 'rmtree_is_safe'
which offers introspection whether the current rmtree implementation is safe
against symlink attacks.
2012-06-23 20:28:32 +02:00
Nick Coghlan 6c6e2545cb Properly test the various builtins lookup cases in inspect.getclosurevars 2012-06-23 20:07:39 +10:00
Hynek Schlawack 67be92bed4 #4489: Add a shutil.rmtree that isn't suspectible to symlink attacks
It is used automatically on platforms supporting the necessary os.openat() and
os.unlinkat() functions. Main code by Martin von Löwis.
2012-06-23 17:58:42 +02:00
Antoine Pitrou 46cb1ef457 Use non-deprecated speling. 2012-06-23 18:11:59 +02:00
Antoine Pitrou d4daa87129 Properly cleanup pep3147 modules in test_import 2012-06-23 18:09:55 +02:00
Antoine Pitrou 06e37587ff Try to further debug occasional buildbot failure 2012-06-23 17:27:56 +02:00
Antoine Pitrou 78157b3f6f On behalf of Nadeem Vawda: issue #10376: micro-optimize reading from a Zipfile.
(patch by Serhiy)
2012-06-23 16:44:48 +02:00
Ezio Melotti 3861d8b271 #15114: the strict mode of HTMLParser and the HTMLParseError exception are deprecated now that the parser is able to parse invalid markup. 2012-06-23 15:27:51 +02:00
Antoine Pitrou 463badf06c Issue #3665: \u and \U escapes are now supported in unicode regular expressions.
Patch by Serhiy Storchaka.
2012-06-23 13:29:19 +02:00
Nick Coghlan 04e2e3f231 Close #15153: Added inspect.getgeneratorlocals to simplify whitebox testing of generator state updates 2012-06-23 19:52:05 +10:00
Nick Coghlan 2f92e54507 Close #13062: Add inspect.getclosurevars to simplify testing stateful closures 2012-06-23 19:39:55 +10:00
Mark Dickinson be4fb69201 Issue #14742: test_unparse now only checks a limited number of files unless the 'cpu' resource is specified. 2012-06-23 09:27:47 +01:00
Brian Curtin dc00f1eba0 Fix #15148. Capitalize PATH, hopefully leading to less confusion 2012-06-22 22:49:12 -05:00
Brian Curtin 2193536e79 Fix #15148. Make the shutil.which docstring more thorough 2012-06-22 22:48:06 -05:00
Larry Hastings dbbc0c8bb3 Issue #14626: Fix buildbot issue on OpenIndiana 3.x machines. (Hopefully.) 2012-06-22 19:50:21 -07:00
Brian Curtin e3f3940fc3 file was the old arg name from an earlier patch. command matches the implementation 2012-06-22 21:14:34 -05:00
Alexander Belopolsky de74de5d5d Issue #15148: Fixed typos in shutil.which() docstring 2012-06-22 21:56:42 -04:00
Alexander Belopolsky 648921371e fixed whitespace 2012-06-22 21:10:50 -04:00
Alexander Belopolsky 8141cc7f88 Issues #11024: Fixes and additional tests for Time2Internaldate. 2012-06-22 21:03:39 -04:00
Jesus Cea 60c13ddd9b Skip the test only if neccesary - Kernel bug in freebsd9 - #10142: Support for SEEK_HOLE/SEEK_DATA 2012-06-23 02:58:14 +02:00
Jesus Cea 9d874866f7 Kernel bug in freebsd9 - #10142: Support for SEEK_HOLE/SEEK_DATA 2012-06-23 02:55:36 +02:00
Antoine Pitrou 310f95b04d A better repr() for FileFinder 2012-06-23 02:12:56 +02:00
Larry Hastings 90867a5aba Issue #14626: Fix buildbot issues on FreeBSD (AMD64). (Fingers crossed.) 2012-06-22 17:01:41 -07:00
Larry Hastings 9cf065cfdc Issue #14626: Large refactoring of functions / parameters in the os module.
Many functions now support "dir_fd" and "follow_symlinks" parameters;
some also support accepting an open file descriptor in place of of a path
string.  Added os.support_* collections as LBYL helpers.  Removed many
functions only previously seen in 3.3 alpha releases (often starting with
"f" or "l", or ending with "at").  Originally suggested by Serhiy Storchaka;
implemented by Larry Hastings.
2012-06-22 16:30:09 -07:00
Antoine Pitrou f0f4742b49 Fix silly mistake in debugging code 2012-06-23 00:49:44 +02:00
Larry Hastings 7c7cbfc00f Issue #15008: Implement PEP 362 "Signature Objects".
Patch by Yury Selivanov.
2012-06-22 15:19:35 -07:00
Guido van Rossum 8e0d25504c Merge 2012-06-22 15:18:38 -07:00
Guido van Rossum 95c1c48fd6 Speed up base64.urlsafe_{en,de}code(). 2012-06-22 15:16:09 -07:00
Antoine Pitrou 541b7c89ff Add debug output for temporary buildbot failures 2012-06-23 00:07:38 +02:00
Antoine Pitrou 07c24d13ed Issue #444582: shutil.which() respects relative paths. 2012-06-22 23:33:05 +02:00