Commit Graph

58302 Commits

Author SHA1 Message Date
Andrew Svetlov ef9a43b2c9 Rename test module names for #16421 to don't clash with other tests. 2012-12-15 17:22:59 +02:00
Benjamin Peterson 5cb8a31dc4 cleanup and fix refleaks 2012-12-15 00:05:16 -05:00
Ezio Melotti e0a908290c #16683: merge with 3.3. 2012-12-14 20:20:07 +02:00
Ezio Melotti 30505413df #16683: merge with 3.2. 2012-12-14 20:19:49 +02:00
Ezio Melotti e0035a212b #16683: restore alphabetical order in audioop docs. Patch by Serhiy Storchaka. 2012-12-14 20:18:46 +02:00
Ezio Melotti 752f5dd0f7 #16681: merge with 3.3. 2012-12-14 20:14:17 +02:00
Ezio Melotti 11def426c0 #16681: merge with 3.2. 2012-12-14 20:13:39 +02:00
Ezio Melotti e3d7e54b11 #16681: use "bidirectional class" instead of "bidirectional category" in the docstring too. 2012-12-14 20:12:25 +02:00
Ezio Melotti 1e5c9b70b4 #16681: use "bidirectional class" instead of "bidirectional category". 2012-12-14 20:06:43 +02:00
Andrew Svetlov 22f36eed4d Cleanup filecmp: starting from 3.3 os.error is alias for OSError 2012-12-14 18:02:27 +02:00
Andrew Svetlov 6b2cbeba58 Issue #16421: allow to load multiple modules from the same shared object.
Patch by Václav Šmilauer.
2012-12-14 17:04:59 +02:00
Philip Jenvey f76f0eea5c compile doesn't accept code objects 2012-12-13 15:44:18 -08:00
Andrew Svetlov b67596d815 Issue #16049: add abc.ABC helper class.
Patch by Bruno Dupuis.
2012-12-13 19:09:33 +02:00
Ross Lagerwall 174bc1e309 Merge with 3.3 for #16661 2012-12-13 15:21:16 +00:00
Ross Lagerwall a0b315f5f7 Issue #16661: Fix the os.getgrouplist() test by not assuming that it
gives the same output as "id -G".
2012-12-13 15:20:26 +00:00
Benjamin Peterson 57b667261c expose TCP_FASTOPEN and MSG_FASTOPEN 2012-12-12 22:24:47 -05:00
Christian Heimes b92c40ef9b Cross compiling needs host and build settings. configure no longer
creates a broken PYTHON_FOR_BUILD variable when --build is missing.
2012-12-12 13:10:32 +01:00
Christian Heimes 954ac03a44 Cross compiling needs host and build settings. configure no longer
creates a broken PYTHON_FOR_BUILD variable when --build is missing.
2012-12-12 13:10:21 +01:00
Christian Heimes e6f228011e Just to be sure, initialize with a copy of the compiler's lib and inc dirs. 2012-12-12 12:57:03 +01:00
Christian Heimes d783261e99 Just to be sure, initialize with a copy of the compiler's lib and inc dirs. 2012-12-12 12:56:51 +01:00
Christian Heimes bf5fcc7fc8 Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are
defined in cross compiling mode, too.
2012-12-12 12:41:50 +01:00
Christian Heimes f19529cfd6 Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are
defined in cross compiling mode, too.
2012-12-12 12:41:00 +01:00
Gregory P. Smith 370bc2f7ee Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:22:55 -08:00
Gregory P. Smith 08d5ca6cd4 Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:22:31 -08:00
Gregory P. Smith 9504b13145 Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:20:20 -08:00
Gregory P. Smith 27dc02e8c5 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done.  I added the comment that my change in 3.2 added so that the
code would match up.  Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.  We could work to get rid of the -fwrapv requirement
in 3.4 but that requires more planning.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 19:51:29 -08:00
Gregory P. Smith a82fe52acc null merge, no change needed in 3.3. 2012-12-10 18:34:29 -08:00
Gregory P. Smith a6be61ec71 Keep y a Py_hash_t instead of Py_uhash_t as it is compared with == -1 and the
compiler logic will do the right thing with just x as a Py_uhash_t.  This
matches what was already done in the 3.3 version.

cleanup only - no functionality or hash values change.
2012-12-10 18:34:09 -08:00
Gregory P. Smith c2176e46d7 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done.  I added the comment that my change in 3.2 added so that the
code would match up.  Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 18:32:53 -08:00
Gregory P. Smith 27cbcd6241 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 18:15:46 -08:00
Gregory P. Smith e348c8d154 Using 'long double' to force this structure to be worst case aligned is no
longer required as of Python 2.5+ when the gc_refs changed from an int (4
bytes) to a Py_ssize_t (8 bytes) as the minimum size is 16 bytes.

The use of a 'long double' triggered a warning by Clang trunk's
Undefined-Behavior Sanitizer as on many platforms a long double requires
16-byte alignment but the Python memory allocator only guarantees 8 byte
alignment.

So our code would allocate and use these structures with technically improper
alignment.  Though it didn't matter since the 'dummy' field is never used.
This silences that warning.

Spelunking into code history, the double was added in 2001 to force better
alignment on some platforms and changed to a long double in 2002 to appease
Tru64.  That issue should no loner be present since the upgrade from int to
Py_ssize_t where the minimum structure size increased to 16 (unless anyone
knows of a platform where ssize_t is 4 bytes?) or 24 bytes depending on if the
build uses 4 or 8 byte pointers.

We can probably get rid of the double and this union hack all together today.
That is a slightly more invasive change that can be left for later.

A more correct non-hacky alternative if any alignment issues are still found
would be to use a compiler specific alignment declaration on the structure and
determine which value to use at configure time.
2012-12-10 18:05:05 -08:00
Gregory P. Smith 60112ae319 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:45:16 -08:00
Gregory P. Smith c0dd80e439 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:45:03 -08:00
Gregory P. Smith 90555d0f0d 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:44:44 -08:00
Hynek Schlawack 6c722c6df4 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots have also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:35:16 +01:00
Hynek Schlawack c474c4e749 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots behave also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:33:41 +01:00
Hynek Schlawack 87f9b46f15 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots behave also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:29:57 +01:00
Hynek Schlawack 99d28ce0cd #15872: Be flexible with appending *.* in shutil.rmtree test case
The Windows buildbots seem to be unable to agree whether they need them or not.
2012-12-10 12:05:45 +01:00
Hynek Schlawack f29b4937f7 #15872: Be flexible with appending *.* in shutil.rmtree test case
The Windows buildbots seem to be unable to agree whether they need them or not.
2012-12-10 12:02:26 +01:00
Hynek Schlawack b9e9f3e70d #15872: Be flexible with appending *.* in shutil.rmtree test case
The Windows buildbots seem to be unable to agree whether they need them or not.
2012-12-10 12:01:28 +01:00
Hynek Schlawack 8ade268c6b #15872: More shutil test fixes for Windows
This one is different from 3.2 and 3.3.  Windows ceased using *.* since 3.4
apparently.
2012-12-10 11:12:57 +01:00
Senthil Kumaran 5962cce050 Fix Issue15701 : add .headers attribute to urllib.error.HTTPError 2012-12-10 02:09:35 -08:00
Hynek Schlawack 9d5e0cca85 #15872: More shutil test fixes for Windows 2012-12-10 11:08:59 +01:00
Hynek Schlawack 9a4a750673 #15872: More shutil test fixes for Windows 2012-12-10 11:08:09 +01:00
Hynek Schlawack 8e5a8296cc #15872: Fix shutil.rmtree error tests for Windows 2012-12-10 10:10:40 +01:00
Hynek Schlawack b57b094077 #15872: Fix shutil.rmtree error tests for Windows 2012-12-10 10:08:41 +01:00
Hynek Schlawack 9e8ac56e35 #15872: Fix shutil.rmtree error tests for Windows 2012-12-10 10:07:11 +01:00
Hynek Schlawack ae9a9e9a2d #15872: Fix 3.3 regression introduced by the new fd-based shutil.rmtree
It caused rmtree to not ignore certain errors when ignore_errors was set.

Patch by Alessandro Moura and Serhiy Storchaka.
2012-12-10 09:15:23 +01:00
Hynek Schlawack b550110f64 #15872: Fix 3.3 regression introduced by the new fd-based shutil.rmtree
It caused rmtree to not ignore certain errors when ignore_errors was set.

Patch by Alessandro Moura and Serhiy Storchaka.
2012-12-10 09:11:25 +01:00
Hynek Schlawack d16eacba48 #15872: Add tests for a 3.3 regression in the new fd-based shutil.rmtree
It cause shutil.rmtree not ignore all errors. Also add a test ensuring that
rmtree fails when being called on a symlink. Patch by Serhiy Storchaka.
2012-12-10 09:00:09 +01:00