Commit graph

81247 commits

Author SHA1 Message Date
Brett Cannon
58f5680462 Issue #18810: Be optimistic with stat calls when seeing if a directory
exists when checking for a package.

Before there was an isdir check and then various isfile checks for
possible __init__ files when looking for a package.
This change drops the isdir check by leaning
on the assumption that a directory will not contain something named
after the module being imported which is not a directory. If the module
is a package then it saves a stat call. If there is nothing in the
directory with the potential package name it also saves a stat call.
Only if there is something in the directory named the same thing as
the potential package will the number of stat calls increase
(due to more wasteful __init__ checks).

Semantically there is no change as the isdir check moved
down so that namespace packages continue to have no chance of
accidentally collecting non-existent directories.
2013-10-18 13:24:13 -04:00
Guido van Rossum
2546a17765 Important race condition fix for Tulip. 2013-10-18 10:10:36 -07:00
Benjamin Peterson
559ae0fb1c merge 3.3 2013-10-18 12:58:17 -04:00
Benjamin Peterson
910a66566a fix description of super() behavior on descriptors 2013-10-18 12:57:55 -04:00
Richard Oudkerk
48df60c847 Update more configurations in pcbuild.sln. 2013-10-18 17:04:31 +01:00
Brett Cannon
bb9e481efa Issue #18416: Fix various os calls in importlib.machinery.FileFinder
now that self.path is no longer forced to '.'.
2013-10-18 12:01:06 -04:00
Brett Cannon
af002e6482 merge 2013-10-18 11:39:32 -04:00
Brett Cannon
27e27f7ee1 Issue #18416: Have importlib.machinery.PathFinder treat '' as the cwd
and stop importlib.machinery.FileFinder treating '' as '.'.

Previous PathFinder transformed '' into '.' which led to __file__ for
modules imported from the cwd to always be relative paths. This meant
the values of the attribute were wrong as soon as the cwd changed.
This change now means that as long as the site module is run (which
makes all entries in sys.path absolute) then all values for __file__
will also be absolute unless it's for __main__ when specified by file
path in a relative way (modules imported by runpy will have an
absolute path).

Now that PathFinder is no longer treating '' as '.' it only makes
sense for FileFinder to stop doing so as well. Now no transformation
is performed for the directory given to the __init__ method.

Thanks to Madison May for the initial patch.
2013-10-18 11:39:04 -04:00
Richard Oudkerk
44455e8dba Update pcbuild.sln to build _overlapped. 2013-10-18 16:23:01 +01:00
Guido van Rossum
57497ad181 Rename Transport.pause/resume to pause_reading/pause_writing. Also relax timeout in test_call_later(). 2013-10-18 07:58:20 -07:00
Brett Cannon
40b22d0661 Issue #16803: test.test_importlib.test_api now runs under frozen and
source.
2013-10-18 10:45:59 -04:00
Serhiy Storchaka
87efae2d16 Remove redundant empty lines. 2013-10-18 17:17:31 +03:00
Serhiy Storchaka
90b41f0281 Remove redundant empty lines. 2013-10-18 17:16:40 +03:00
Serhiy Storchaka
b39d247ad7 Remove a duplicate. 2013-10-18 17:05:41 +03:00
Nick Coghlan
3321fb8e3a Issue #16129: this should appease the buildbots 2013-10-18 23:59:58 +10:00
Richard Oudkerk
8acc3c574a Remove test_sigterm(). 2013-10-18 14:42:56 +01:00
Nick Coghlan
1805a62f1f Issue #16129: Py_SetStandardStreamEncoding cleanups
- don't call PyErr_NoMemory with interpreter is not initialised
- note that it's OK to call _PyMem_RawStrDup here
- don't include this in the limited API
- capitalise "IO"
- be explicit that a non-zero return indicates an error
- include versionadded marker in docs
2013-10-18 23:11:47 +10:00
Nick Coghlan
ac1a248968 Close #19284: Handle -R properly in flag helper
Previously, the -R option would be specified multiple times
if PYTHONHASHSEED was set.
2013-10-18 22:39:50 +10:00
Serhiy Storchaka
ef23f1875d Fix markup. 2013-10-18 11:55:30 +03:00
Serhiy Storchaka
335331311f Fix markup. 2013-10-18 11:55:02 +03:00
Ethan Furman
a8b0707d91 Issue #19030: special-cased __dict__ as the actual dict is not returned, a proxy is. 2013-10-18 01:22:08 -07:00
Ethan Furman
2498d9e968 Issue #19272: slight clarification of pickle docs with regard to lambda. 2013-10-18 00:45:40 -07:00
Ethan Furman
63c141cacd Close #19030: inspect.getmembers and inspect.classify_class_attrs
Order of search is now:
  1. Try getattr
  2. If that throws an exception, check __dict__ directly
  3. If still not found, walk the mro looking for the eldest class that has
     the attribute (e.g. things returned by __getattr__)
  4. If none of that works (e.g. due to a buggy __dir__, __getattr__, etc.
     method or missing __slot__ attribute), ignore the attribute entirely.
2013-10-18 00:27:39 -07:00
Ethan Furman
0e0cd46227 Catching up on NEWS entries.
I'll make sure and include them in future patches.
2013-10-17 19:34:12 -07:00
Ned Deily
3c97e46f63 Issue #19262: Install asyncio and test_asyncio directories. 2013-10-17 18:08:00 -07:00
Guido van Rossum
fc29e0f37e Rename the logger to plain "logger". 2013-10-17 15:39:45 -07:00
Ned Deily
b795aa8547 Issue #19275: Fix test_site failure on OS X due to typo. 2013-10-17 15:21:40 -07:00
Guido van Rossum
5ea7f93dcd Make asyncio tests run on Windows. 2013-10-17 14:23:17 -07:00
Guido van Rossum
27b7c7ebf1 Initial checkin of asyncio package (== Tulip, == PEP 3156). 2013-10-17 13:40:50 -07:00
Serhiy Storchaka
5b37f97ea5 Issue #19276: Fixed the wave module on 64-bit big-endian platforms. 2013-10-17 23:05:19 +03:00
Serhiy Storchaka
d3b750516f Issue #19276: Fixed the wave module on 64-bit big-endian platforms. 2013-10-17 23:04:04 +03:00
Georg Brandl
2bb0ac0ace merge with 3.3 2013-10-17 19:52:33 +02:00
Georg Brandl
9ff06dcfad Fix inaccurate versionchanged tag for compressobj(): most parameter were there, just got kwarg support. 2013-10-17 19:51:34 +02:00
Nick Coghlan
8f9571e70e Skip #16129 test until I debug cross-platform issues 2013-10-18 01:46:19 +10:00
Nick Coghlan
6508dc5f06 Try to debug overspecified test :( 2013-10-18 01:44:22 +10:00
Richard Oudkerk
cc5c728513 Fix signal handler in test. 2013-10-17 15:22:10 +01:00
Nick Coghlan
240f86d7dd Close #19266: contextlib.ignore -> contextlib.suppress
Patch by Zero Piraeus.
2013-10-17 23:40:57 +10:00
Richard Oudkerk
1eb509a585 Merge. 2013-10-17 14:31:51 +01:00
Nick Coghlan
a0f074f398 Issue #16129: Move Py_SetStandardStreamEncoding declaration 2013-10-17 23:27:17 +10:00
Richard Oudkerk
1e2f67c05f Try doing a raw test of os.fork()/os.kill(). 2013-10-17 14:24:06 +01:00
Nick Coghlan
7d270ee05d Issue #16129: Add Py_SetStandardStreamEncoding
This new pre-initialization API allows embedding
applications like Blender to force a particular
encoding and error handler for the standard IO streams.

Also refactors Modules/_testembed.c to let us start
testing multiple embedding scenarios.

(Initial patch by Bastien Montagne)
2013-10-17 22:35:35 +10:00
Richard Oudkerk
26f92680da Stop trying to use strace, but add a sleep before terminate(). 2013-10-17 13:56:18 +01:00
Christian Heimes
86823a52fc Issue #19275: Fix test_site on AMD64 Snow Leopard 2013-10-17 13:40:00 +02:00
Richard Oudkerk
e4508eebb4 Try strace instead of gdb to see what wedged child is doing. 2013-10-17 12:10:45 +01:00
Serhiy Storchaka
a3cf1aa864 Merge heads 2013-10-17 12:48:32 +03:00
Serhiy Storchaka
b5f8a5e134 Issue 19276: Fix tests for wave files on big-endian platforms.
Skip tests for 24-bit wave file on big-endian platforms.
2013-10-17 12:46:53 +03:00
Serhiy Storchaka
c955291a05 Issue 19276: Fix tests for wave files on big-endian platforms.
Skip tests for 24-bit wave file on big-endian platforms.
2013-10-17 12:46:00 +03:00
Richard Oudkerk
d44500affe Try to print a backtrace of wedged child process in test. 2013-10-17 10:38:37 +01:00
R David Murray
3da240fd01 #18891: Complete new provisional email API.
This adds EmailMessage and, MIMEPart subclasses of Message
with new API methods, and a ContentManager class used by
the new methods.  Also a new policy setting, content_manager.

Patch was reviewed by Stephen J. Turnbull and Serhiy Storchaka,
and reflects their feedback.

I will ideally add some examples of using the new API to the
documentation before the final release.
2013-10-16 22:48:40 -04:00
Ethan Furman
1a16288197 Close #19252: better test coverage for Enum. Thanks, CliffM 2013-10-16 19:09:31 -07:00