Commit Graph

14810 Commits

Author SHA1 Message Date
Michael Foord c653ce313f Fix error message for comparing single line strings in unittest.TestCase.assertEqual.
Issue 9174.
2010-07-10 13:52:22 +00:00
R. David Murray 0425a8ea72 Fix 'refleak' introduced by fnmatch cache purge tests.
This introduces a 'purge' function for the fnmatch module analogous
to the 'purge' function in the re module.
2010-07-10 13:52:13 +00:00
Georg Brandl 297d97241a #1434090: properly append child in expatbuilder doctype handler. 2010-07-10 11:40:13 +00:00
Georg Brandl 0310a83e7f #3071: tell how many values were expected when unpacking too many. 2010-07-10 10:32:36 +00:00
Jeffrey Yasskin 61c061a8b3 Oops. Fix distutils tests that r82746 broke. 2010-07-09 19:55:05 +00:00
Benjamin Peterson b669221bd1 be more robust across platforms 2010-07-09 19:37:00 +00:00
Benjamin Peterson 34d17debb7 remove SocketIO.__del__; close() can handle it 2010-07-09 18:28:25 +00:00
Jeffrey Yasskin d4fcdb1ea8 Issue #9189: Allow users to set $CFLAGS, $CPPFLAGS, and $LDFLAGS when running
configure to append to Python's default values for those variables, and
similarly allow users to set $XXFLAGS on the make command line to append to the
values set by configure.

In the makefile, this renames the variables that used to be $XXFLAGS to
$PY_XXFLAGS, and renames the old $PY_CFLAGS to $PY_CORE_CFLAGS.  To compensate,
sysconfig now aliases $XXFLAGS=$PY_XXFLAGS so that scripts using it keep
working.  I see that as the right interface, not a backward-compatibility hack,
since these are logically the $XXFLAGS variables; we just use a different name
in the makefile to deal with make's semantics.
2010-07-09 16:30:58 +00:00
Brian Curtin 74e4561a3c Re-flow several long lines from #1578269. 2010-07-09 15:58:59 +00:00
Brian Curtin 16633fa497 Fix the breakage of Lib/tarfile.py on non-Windows platforms due to
using WindowsError in a try/except. Only add WindowsError to the list of
exceptions to catch when we are actually running on Windows.

Additionally, add a call that was left out in test_posixpath.

Thanks Amaury, Antoine, and Jason.
2010-07-09 13:54:27 +00:00
Benjamin Peterson 4b83af9576 wrap 2010-07-09 13:31:11 +00:00
Benjamin Peterson a04a32d586 allow more exceptions 2010-07-09 13:28:42 +00:00
Benjamin Peterson ccbcf53865 OverflowError is fine 2010-07-09 13:20:40 +00:00
R. David Murray ea340a317a 7846: limit fnmatch pattern cache to _MAXCACHE=100 entries.
Patch by Andrew Clegg.
2010-07-09 12:23:21 +00:00
Benjamin Peterson 8b0ef21c15 use assert method 2010-07-09 01:58:26 +00:00
Benjamin Peterson d02441ea2f fix repr of complicated structseqs #9206 2010-07-08 22:33:03 +00:00
Benjamin Peterson 8c567c540d assert tuple inheritance 2010-07-08 22:16:05 +00:00
Brian Curtin 808e1ada94 Undo inadvertant checkin. 2010-07-08 22:13:25 +00:00
Brian Curtin d40e6f70a5 Implement #1578269. Patch by Jason R. Coombs.
Added Windows support for os.symlink when run on Windows 6.0 or greater,
aka Vista. Previous Windows versions will raise NotImplementedError
when trying to symlink.

Includes numerous test updates and additions to test_os, including
a symlink_support module because of the fact that privilege escalation
is required in order to run the tests to ensure that the user is able
to create symlinks. By default, accounts do not have the required
privilege, so the escalation code will have to be exposed later (or
documented on how to do so). I'll be following up with that work next.

Note that the tests use ctypes, which was agreed on during the PyCon
language summit.
2010-07-08 21:39:08 +00:00
Mark Dickinson 0dd8f7890a Issue #9136: Profiling Decimal gave 'dictionary changed size during iteration'.
Remove the use of locals() that caused this error.
2010-07-08 21:15:36 +00:00
Mark Dickinson e42f1bb354 Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__. 2010-07-08 19:09:16 +00:00
Mark Dickinson a123631a5c Fix a performance issue in Decimal.pow. Thanks Stefan Krah for finding this. 2010-07-08 19:03:34 +00:00
Antoine Pitrou f48ea7c2a9 Issue #8605: Skip test_gdb if Python is compiled with optimizations. 2010-07-08 18:51:30 +00:00
Mark Dickinson 247900ce47 In test_decimal, convert heuristic for skipping tests into an explicit skiplist. 2010-07-08 17:23:40 +00:00
Benjamin Peterson 6ef08a0ebe ValueError in this case is also acceptable 2010-07-07 22:45:06 +00:00
Benjamin Peterson de73c4587f don't ignore exceptions from PyObject_IsTrue 2010-07-07 18:54:59 +00:00
Benjamin Peterson c937dc2ccb this needn't be in the loop 2010-07-07 18:44:05 +00:00
Mark Dickinson be64d95169 Issue #9186: log1p(-1.0) should raise ValueError, not OverflowError. 2010-07-07 16:21:29 +00:00
Alexander Belopolsky a11d8c03a4 Issue #9000: datetime.timezone objects now have eval-friendly repr. 2010-07-06 23:19:45 +00:00
Brett Cannon c84dc9d018 Fix test_xmlrpc_net to no longer fail since there are no more buildbots for trunk. 2010-07-05 22:11:16 +00:00
Alexander Belopolsky d87e932f51 Added two more test cases for datetime 2010-07-05 17:57:31 +00:00
Benjamin Peterson 97c694b90b looking up on the type is correct, so this isn't an XXX 2010-07-05 17:11:05 +00:00
Alexander Belopolsky f34e82ef49 Added more tests for utctimetuple() 2010-07-05 15:05:33 +00:00
Benjamin Peterson 335d2c757d pydoc still has a silly encoding 2010-07-05 14:59:40 +00:00
Mark Dickinson 45a26b9b18 Revert -r82559; it's not clear that this is the right thing to do, and the change obscures the original intentions. 2010-07-04 20:07:09 +00:00
Mark Dickinson 30b570bb4b Re-encode shlex.py in UTF-8, and remove coding cookie. 2010-07-04 19:27:12 +00:00
Mark Dickinson b4a17a8440 Remove coding cookie from heapq.py. 2010-07-04 19:23:49 +00:00
Mark Dickinson feb3b75818 Issue #9130: Validate ellipsis tokens in relative imports. 2010-07-04 18:38:57 +00:00
Mark Dickinson 3445b482b3 Fix symbol numbers in test_parser test. 2010-07-04 18:15:26 +00:00
Mark Dickinson 2cc8a5e490 Issue #9130: Fix validation of relative imports in parser module. 2010-07-04 18:11:51 +00:00
Alexander Belopolsky 2e733c9625 Issue #9118: help(None) will now return NoneType doc instead of
starting interactive help.
2010-07-04 17:00:20 +00:00
Benjamin Peterson 766f5d9d73 Merged revisions 81478,82530-82531 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
  r81478 | benjamin.peterson | 2010-05-22 13:47:39 -0500 (Sat, 22 May 2010) | 1 line

  ensure doctests have some future_features
........
  r82530 | benjamin.peterson | 2010-07-04 11:11:41 -0500 (Sun, 04 Jul 2010) | 1 line

  simplify ignore star imports from itertools #8892
........
  r82531 | benjamin.peterson | 2010-07-04 11:13:20 -0500 (Sun, 04 Jul 2010) | 1 line

  wrap with parenthesis not \
........
2010-07-04 16:44:15 +00:00
Mark Dickinson 2bd61a988f Issue #9128: Fix validation of class decorators in parser module. 2010-07-04 16:37:31 +00:00
Brett Cannon 418182e18b 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 22:32:41 +00:00
Brett Cannon d71bed3d76 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 22:18:47 +00:00
Brett Cannon 2cf1585499 Fix a spelling mistake in a comment. 2010-07-03 22:03:16 +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
Alexander Belopolsky 60c762b77a Issue #9094: Make python -m pickletools disassemble pickles given in
the command line.
2010-07-03 20:35:53 +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