Commit Graph

6254 Commits

Author SHA1 Message Date
Mark Dickinson 2bd61a988f Issue #9128: Fix validation of class decorators in parser module. 2010-07-04 16:37:31 +00:00
Brett Cannon 61b14251d3 Make importlib.abc.SourceLoader the primary mechanism for importlib.
This required moving the class from importlib/abc.py into
importlib/_bootstrap.py and jiggering some code to work better with the class.
This included changing how the file finder worked to better meet import
semantics. This also led to fixing importlib to handle the empty string from
sys.path as import currently does (and making me wish we didn't support that
instead just required people to insert '.' instead to represent cwd).

It also required making the new set_data abstractmethod create
any needed subdirectories implicitly thanks to __pycache__ (it was either this
or grow the SourceLoader ABC to gain an 'exists' method and either a mkdir
method or have set_data with no data arg mean to create a directory).

Lastly, as an optimization the file loaders cache the file path where the
finder found something to use for loading (this is thanks to having a
sourceless loader separate from the source loader to simplify the code and
cut out stat calls).
Unfortunately test_runpy assumed a loader would always work for a module, even
if you changed from underneath it what it was expected to work with. By simply
dropping the previous loader in test_runpy so the proper loader can be returned
by the finder fixed the failure.

At this point importlib deviates from import on two points:

1. The exception raised when trying to import a file is different (import does
an explicit file check to print a special message, importlib just says the path
cannot be imported as if it was just some module name).

2. the co_filename on a code object is not being set to where bytecode was
actually loaded from instead of where the marshalled code object originally
came from (a solution for this has already been agreed upon on python-dev but has
not been implemented yet; issue8611).
2010-07-03 21:48:25 +00:00
Senthil Kumaran df022da3d8 Fix Issue5468 - urlencode to handle bytes and other alternate encodings.
(Extensive tests provided). Patch by Dan Mahn.
2010-07-03 17:48:22 +00:00
Victor Stinner bc5c54bca2 Merged revisions 82492 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82492 | victor.stinner | 2010-07-03 15:36:19 +0200 (sam., 03 juil. 2010) | 3 lines

  Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
  ensure that the input string length is a multiple of the frame size
........
2010-07-03 13:44:22 +00:00
Nick Coghlan 5c8b54eb04 Issue 6507: accept source strings directly in dis.dis(). Original patch by Daniel Urban 2010-07-03 07:36:51 +00:00
Brett Cannon 2cab50b937 Make test_import a little bit more robust for cleaning up after itself in the
face of a failure.
2010-07-03 01:32:48 +00:00
Benjamin Peterson e401c6842a Merged revisions 82461 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82461 | benjamin.peterson | 2010-07-02 18:05:27 -0500 (Fri, 02 Jul 2010) | 1 line

  don't require the presence of __getformat__ or __setformat__; use requires_IEEE_754 globally
........
2010-07-02 23:25:44 +00:00
Benjamin Peterson f751bc9c01 fix lookup of __ceil__ 2010-07-02 13:46:42 +00:00
Benjamin Peterson 8bb9cde6c0 correctly lookup __trunc__ and __floor__ 2010-07-01 15:16:55 +00:00
Ezio Melotti 57221d02ba Update PyUnicode_DecodeUTF8 from RFC 2279 to RFC 3629.
1) #8271: when a byte sequence is invalid, only the start byte and all the
   valid continuation bytes are now replaced by U+FFFD, instead of replacing
   the number of bytes specified by the start byte.
   See http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf (pages 94-95);
2) 5- and 6-bytes-long UTF-8 sequences are now considered invalid (no changes
   in behavior);
3) Change the error messages "unexpected code byte" to "invalid start byte"
   and "invalid data" to "invalid continuation byte";
4) Add an extensive set of tests in test_unicode;
5) Fix test_codeccallbacks because it was failing after this change.
2010-07-01 07:32:02 +00:00
Benjamin Peterson 1cc6df97bc Merged revisions 82403 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82403 | benjamin.peterson | 2010-06-30 12:11:08 -0500 (Wed, 30 Jun 2010) | 1 line

  mark test depending on ref counting
........
2010-06-30 17:39:45 +00:00
Michael Foord b3a8984488 Issue 9110. Adding ContextDecorator to contextlib. This enables the creation of APIs that act as decorators as well as context managers. contextlib.contextmanager changed to use ContextDecorator. 2010-06-30 12:17:50 +00:00
Mark Dickinson 50b79a80bd Issue #9011: Tests for Python 3.2's treatment of negated imaginary literals. 2010-06-30 11:13:36 +00:00
Mark Dickinson 3c0b317e36 Merged revisions 82356 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82356 | mark.dickinson | 2010-06-29 08:37:25 +0100 (Tue, 29 Jun 2010) | 1 line

  Spelling.
........
2010-06-29 07:38:37 +00:00
Benjamin Peterson 902d2bd64d Merged revisions 82332 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82332 | benjamin.peterson | 2010-06-28 10:41:06 -0500 (Mon, 28 Jun 2010) | 1 line

  fix skipping condition
........
2010-06-28 15:43:25 +00:00
Benjamin Peterson 17e0bbc30c Merged revisions 82330 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82330 | benjamin.peterson | 2010-06-28 10:36:40 -0500 (Mon, 28 Jun 2010) | 1 line

  testcapi tests are definitely cpython only
........
2010-06-28 15:39:55 +00:00
Benjamin Peterson 02d7806a81 Merged revisions 82303 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82303 | benjamin.peterson | 2010-06-27 17:40:26 -0500 (Sun, 27 Jun 2010) | 1 line

  mark tracking tests as implementation details
........
2010-06-27 22:44:51 +00:00
Benjamin Peterson 5a6214afe2 Merged revisions 81499,81506 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81499 | georg.brandl | 2010-05-24 16:29:07 -0500 (Mon, 24 May 2010) | 1 line

  #8016: add the CP858 codec (approved by Benjamin).  (Also add CP720 to the tests, it was missing there.)
........
  r81506 | benjamin.peterson | 2010-05-24 17:04:53 -0500 (Mon, 24 May 2010) | 1 line

  set svn:eol-style
........
2010-06-27 22:41:29 +00:00
Benjamin Peterson 556d8001df Merged revisions 81380 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81380 | brett.cannon | 2010-05-20 13:37:55 -0500 (Thu, 20 May 2010) | 8 lines

  Turned out that if you used explicit relative import syntax
  (e.g. from .os import sep) and it failed, import would still try the implicit
  relative import semantics of an absolute import (from os import sep). That's
  not right, so when level is negative, only do explicit relative import
  semantics.

  Fixes issue #7902. Thanks to Meador Inge for the patch.
........
2010-06-27 22:37:28 +00:00
Benjamin Peterson 3e5cd1d04e Merged revisions 81465-81466,81468,81679,81735,81760,81868,82183 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81465 | georg.brandl | 2010-05-22 06:29:19 -0500 (Sat, 22 May 2010) | 2 lines

  Issue #3924: Ignore cookies with invalid "version" field in cookielib.
........
  r81466 | georg.brandl | 2010-05-22 06:31:16 -0500 (Sat, 22 May 2010) | 1 line

  Underscore the name of an internal utility function.
........
  r81468 | georg.brandl | 2010-05-22 06:43:25 -0500 (Sat, 22 May 2010) | 1 line

  #8635: document enumerate() start parameter in docstring.
........
  r81679 | benjamin.peterson | 2010-06-03 16:21:03 -0500 (Thu, 03 Jun 2010) | 1 line

  use a set for membership testing
........
  r81735 | michael.foord | 2010-06-05 06:46:59 -0500 (Sat, 05 Jun 2010) | 1 line

  Extract error message truncating into a method (unittest.TestCase._truncateMessage).
........
  r81760 | michael.foord | 2010-06-05 14:38:42 -0500 (Sat, 05 Jun 2010) | 1 line

  Issue 8302. SkipTest exception is setUpClass or setUpModule is now reported as a skip rather than an error.
........
  r81868 | benjamin.peterson | 2010-06-09 14:45:04 -0500 (Wed, 09 Jun 2010) | 1 line

  fix code formatting
........
  r82183 | benjamin.peterson | 2010-06-23 15:29:26 -0500 (Wed, 23 Jun 2010) | 1 line

  cpython only gc tests
........
2010-06-27 21:45:24 +00:00
Benjamin Peterson a82addb5f3 Merged revisions 80712,81651 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80712 | vinay.sajip | 2010-05-03 10:11:53 -0500 (Mon, 03 May 2010) | 1 line

  Issue #8576: logging updated to remove usage of find_unused_port().
........
  r81651 | vinay.sajip | 2010-06-02 05:05:31 -0500 (Wed, 02 Jun 2010) | 1 line

  Logging: improved error reporting for BaseConfigurator.resolve().
........
2010-06-27 20:54:28 +00:00
R. David Murray 76af40296e Merged revisions 82242 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82242 | r.david.murray | 2010-06-25 23:27:32 -0400 (Fri, 25 Jun 2010) | 2 lines

  Fix indentation in recently added test.
........
2010-06-26 03:34:33 +00:00
R. David Murray 809726954c Merged revisions 82233 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82233 | r.david.murray | 2010-06-25 20:06:44 -0400 (Fri, 25 Jun 2010) | 2 lines

  #4640: add a test to optparse that proves issue is invalid.
........
2010-06-26 00:17:12 +00:00
Benjamin Peterson 4fd283a4fe fix typos 2010-06-25 23:24:35 +00:00
Benjamin Peterson c7a7d406c8 Merged revisions 82229 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82229 | benjamin.peterson | 2010-06-25 17:58:47 -0500 (Fri, 25 Jun 2010) | 1 line

  mark implementation detail as such
........
2010-06-25 23:02:11 +00:00
Benjamin Peterson 6e4c68ed7e Merged revisions 82225 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82225 | benjamin.peterson | 2010-06-25 15:34:01 -0500 (Fri, 25 Jun 2010) | 1 line

  mark implementation detail as such
........
2010-06-25 20:37:22 +00:00
Benjamin Peterson 88968ad380 only take into account positional arguments count in related error messages 2010-06-25 19:30:21 +00:00
Ezio Melotti 5a3ef5b22a #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
Victor Stinner 25e8ec4724 Issue #8850: Remove "w" and "w#" formats from PyArg_Parse*() functions, use
"w*" format instead. Add tests for "w*" format.
2010-06-25 00:02:38 +00:00
Victor Stinner 3c9e6e9375 PyArg_Parse*() functions: factorize code for s/z and u/Z formats 2010-06-24 22:31:12 +00:00
Victor Stinner 4aae1ebab2 Issue #8949: "z" format of PyArg_Parse*() functions doesn't accept bytes
objects, as described in the documentation.
2010-06-24 22:08:25 +00:00
Benjamin Peterson 1b1a1a4bce Merged revisions 82189 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82189 | benjamin.peterson | 2010-06-23 19:12:40 -0500 (Wed, 23 Jun 2010) | 1 line

  prevent assignment to set literals
........
2010-06-24 00:17:03 +00:00
Alexander Belopolsky 5e307de6e0 Added more test cases 2010-06-23 22:58:49 +00:00
Alexander Belopolsky 33b94c9fa9 Test future pickle protocols. Thanks Antoine Pitrou for suggestion. 2010-06-23 22:29:48 +00:00
Alexander Belopolsky 1b7046b99e Issue #9051: Instances of timezone class can now be pickled. 2010-06-23 21:40:15 +00:00
Benjamin Peterson 945c579829 Merged revisions 82167 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82167 | benjamin.peterson | 2010-06-22 15:32:02 -0500 (Tue, 22 Jun 2010) | 1 line

  mark ref counting as impl detail
........
2010-06-22 20:34:34 +00:00
Benjamin Peterson 1fa17e65a3 Merged revisions 82165 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82165 | benjamin.peterson | 2010-06-22 15:26:20 -0500 (Tue, 22 Jun 2010) | 1 line

  must force gc here
........
2010-06-22 20:29:32 +00:00
Alexander Belopolsky 1b40292592 Added more test cases 2010-06-22 14:07:33 +00:00
Alexander Belopolsky 75f94c210a Issue #9005: Prevent utctimetuple() from producing year 0 or year 10,000. 2010-06-21 15:21:14 +00:00
Mark Dickinson 6ded1d5687 Merged revisions 82117 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82117 | mark.dickinson | 2010-06-20 19:50:19 +0100 (Sun, 20 Jun 2010) | 1 line

  Merge test_strtod and test_float string-to-float conversion tests.
........
2010-06-20 20:01:04 +00:00
Jean-Paul Calderone 6ed7ac48ec Revert r82089. Commit was intended for a branch. 2010-06-19 19:58:37 +00:00
Jean-Paul Calderone 867c435460 merge forward from the python 2.x branch 2010-06-19 19:54:48 +00:00
Jean-Paul Calderone 1ddd4075bf Merged revisions 82075 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82075 | jean-paul.calderone | 2010-06-18 16:00:17 -0400 (Fri, 18 Jun 2010) | 12 lines

  Revert r60115

  This revision introduced quoting for strings containing | based
  on a misunderstanding of the commonly used quoting rules used
  on Windows.

  | is interpreted by cmd.exe, not by the MS C runtime argv initializer.
  It only needs to be quoted if it is part of an argument passed through
  cmd.exe.

  See issue1300, issue7839, and issue8972.
........
2010-06-18 20:03:54 +00:00
Alexander Belopolsky f568218e7e Issue #6641: Original commit for this issue, r82053, introduced a
regression making datetime subclass' strptime return datetime rather
than subclass instances.  Fixed this bug and a few typos.
2010-06-18 18:44:37 +00:00
Alexander Belopolsky ca94f55758 Issue #6641: The datetime.strptime method now supports the %z directive. 2010-06-17 18:30:34 +00:00
R. David Murray 4155f97699 Don't use os.normcase when the result we are expecting is None.
This worked fine on linux but fails on Windows.  That may or may
not be a but in normcase.
2010-06-17 13:23:18 +00:00
Mark Dickinson d35a32e12e Issue #9011: Remove buggy and unnecessary ST->AST compilation code
dealing with unary minus applied to a constant.  The removed code was
mutating the ST, causing a second compilation to fail.  (The peephole
optimizer already takes care of optimizing this case, so there's no
lost optimization opportunity here.)
2010-06-17 12:33:22 +00:00
R. David Murray a1b3740d04 Merged revisions 82039 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82039 | r.david.murray | 2010-06-16 21:36:52 -0400 (Wed, 16 Jun 2010) | 10 lines

  #8720: fix inspect regression by teaching getsourcefile about linecache.

  The fix for issue 4050 caused a regression:  before that fix, source
  lines in the linecache would eventually be found by inspect.  After the
  fix inspect reports an error earlier, and the source isn't found.
  The fix for the fix is to have getsourcefile look in the linecache for
  the file and return the psuedo-filename if the source is there, just as
  it already returns it if there is a PEP 302 loader.
........
2010-06-17 02:04:29 +00:00
Victor Stinner 554f3f0081 Issue #850997: mbcs encoding (Windows only) handles errors argument: strict
mode raises unicode errors. The encoder only supports "strict" and "replace"
error handlers, the decoder only supports "strict" and "ignore" error handlers.
2010-06-16 23:33:54 +00:00
Alexander Belopolsky 05cc2030e5 Minor changes to the choice of assert methods 2010-06-15 18:40:23 +00:00