Commit graph

21458 commits

Author SHA1 Message Date
Victor Stinner
be59d1489b Issue #26146: enhance ast.Constant error message
Mention the name of the invalid type in error message of AST validation for
constants.

Suggestion made by Joseph Jevnik on a review.
2016-01-27 00:39:12 +01:00
Raymond Hettinger
906d82db6d Fix typo 2016-01-25 23:00:21 -08:00
Victor Stinner
f2c1aa1661 Add ast.Constant
Issue #26146: Add a new kind of AST node: ast.Constant. It can be used by
external AST optimizers, but the compiler does not emit directly such node.

An optimizer can replace the following AST nodes with ast.Constant:

* ast.NameConstant: None, False, True
* ast.Num: int, float, complex
* ast.Str: str
* ast.Bytes: bytes
* ast.Tuple if items are constants too: tuple
* frozenset

Update code to accept ast.Constant instead of ast.Num and/or ast.Str:

* compiler
* docstrings
* ast.literal_eval()
* Tools/parser/unparse.py
2016-01-26 00:40:57 +01:00
Victor Stinner
1aa78938b0 Issue #26146: marshal.loads() now uses the empty frozenset singleton 2016-01-23 14:15:48 +01:00
Victor Stinner
5ebe2c89fe Cleanup test_dict
* Write one import per line
* Sort imports by name
* Add an empty line: 2 empty lines between code blocks at the module level (PEP 8)
2016-01-23 13:52:05 +01:00
Victor Stinner
843a1fb1e7 test_gc: remove unused imports 2016-01-23 13:29:02 +01:00
Brett Cannon
9fa812668f Issue #18018: Raise an ImportError if a relative import is attempted
with no known parent package.

Previously SystemError was raised if the parent package didn't exist
(e.g., __package__ was set to '').
Thanks to Florent Xicluna and Yongzhi Pan for reporting the issue.
2016-01-22 16:39:02 -08:00
Brett Cannon
4b18dd339a Issue #25234: Skip test_eintr.test_open() under OS X to avoid hanging 2016-01-22 15:55:56 -08:00
Brett Cannon
b0db3718d4 whitespace cleanup 2016-01-22 15:26:56 -08:00
Brett Cannon
849113af6b Issue #25791: Warn when __package__ != __spec__.parent.
In a previous change, __spec__.parent was prioritized over
__package__. That is a backwards-compatibility break, but we do
eventually want __spec__ to be the ground truth for module details. So
this change reverts the change in semantics and instead raises an
ImportWarning when __package__ != __spec__.parent to give people time
to adjust to using spec objects.
2016-01-22 15:25:50 -08:00
Victor Stinner
5a701f0304 Issue #25876: Fix also test_set() of test_gdb when -E command line is used 2016-01-22 15:04:27 +01:00
Victor Stinner
22756f18bc Issue #25876: test_gdb: use subprocess._args_from_interpreter_flags() to test
Python with more options.
2016-01-22 14:16:47 +01:00
Victor Stinner
efb2413ce8 code_richcompare() now uses the constants types
Issue #25843: When compiling code, don't merge constants if they are equal but
have a different types. For example, "f1, f2 = lambda: 1, lambda: 1.0" is now
correctly compiled to two different functions: f1() returns 1 (int) and f2()
returns 1.0 (int), even if 1 and 1.0 are equal.

Add a new _PyCode_ConstantKey() private function.
2016-01-22 12:33:12 +01:00
Serhiy Storchaka
5ccbf79eae Issue #26147: xmlrpc now works with strings not encodable with used
non-UTF-8 encoding.
2016-01-20 10:41:33 +02:00
Serhiy Storchaka
aebb6d3682 Issue #26147: xmlrpc now works with strings not encodable with used
non-UTF-8 encoding.
2016-01-20 10:34:27 +02:00
Serhiy Storchaka
4918b47c64 Issue #25935: Garbage collector now breaks reference loops with OrderedDict. 2016-01-19 14:48:42 +02:00
Serhiy Storchaka
d205d0145c Issue #25935: Garbage collector now breaks reference loops with OrderedDict. 2016-01-19 14:46:25 +02:00
Victor Stinner
70c6a13613 Merge 3.5 2016-01-19 08:50:56 +01:00
Victor Stinner
47b91b0a81 Fix BytecodeTestCase.assertNotInBytecode()
Issue #11816: Fix bytecode_helper to handle correctly errors. Don't use
unassigned variables.
2016-01-19 08:48:48 +01:00
Benjamin Peterson
2c028492d4 merge 3.5 (#25731) 2016-01-18 21:18:35 -08:00
Benjamin Peterson
9ad11544bf set tp_new from the class in the hierarchy that actually owns the descriptor (closes #25731)
Debugging by Eryk Sun.
2016-01-18 21:11:18 -08:00
Martin Panter
f12dc26c66 Issue #25859: Merge NNTP test server from 3.5 2016-01-19 01:35:44 +00:00
Martin Panter
8f19e8e1c5 Issue #25859: Reimplement NNTP test_starttls() using local server
The previous test relied on a remote server, which currently seems to be
shutting the connection down once TLS has been set up, causing an EOFError.
Now the test is implemented using a minimal NNTP server running in a
background thread.
2016-01-19 01:10:58 +00:00
Berker Peksag
99132051bf Issue #25366: Skip test_with_pip when threading module is not available
Some dependencies of pip import threading module unconditionally so
we need to skip the test to make buildbots happy.
2016-01-19 02:02:13 +02:00
Berker Peksag
1b25eff76e Issue #25366: Skip test_with_pip when threading module is not available
Some dependencies of pip import threading module unconditionally so
we need to skip the test to make buildbots happy.
2016-01-19 02:01:53 +02:00
Serhiy Storchaka
9d4f3d81c7 Added exceptins for testing non-reversible import mapping for Issue #26013. 2016-01-18 22:34:19 +02:00
Serhiy Storchaka
5c1d9d2ff7 Added exceptins for testing non-reversible import mapping for Issue #26013. 2016-01-18 22:33:44 +02:00
Serhiy Storchaka
75ed708285 Issue #9006: Added tests for XML RPC with non-UTF-8 encoding. 2016-01-18 19:40:23 +02:00
Serhiy Storchaka
084f7e4012 Issue #9006: Added tests for XML RPC with non-UTF-8 encoding. 2016-01-18 19:39:26 +02:00
Serhiy Storchaka
9cc4ed5c7a Issue #26129: Deprecated accepting non-integers in grp.getgrgid(). 2016-01-18 18:49:57 +02:00
Victor Stinner
9def284387 subprocess._optim_args_from_interpreter_flags()
Issue #26100:

* Add subprocess._optim_args_from_interpreter_flags()
* Add test.support.optim_args_from_interpreter_flags()
* Use new functions in distutils, test_cmd_line_script, test_compileall and
  test_inspect

The change enables test_details() test of test_inspect when -O or -OO command
line option is used.
2016-01-18 12:15:08 +01:00
Victor Stinner
c437d0cb4e Fix test_compilepath() of test_compileall
Issue #26101: Exclude Lib/test/ from sys.path in test_compilepath(). The
directory contains invalid Python files like Lib/test/badsyntax_pep3120.py,
whereas the test ensures that all files can be compiled.
2016-01-18 11:25:50 +01:00
Martin Panter
5318d1048f Issue #23883: grp and pwd are None on Windows 2016-01-16 11:01:14 +00:00
Serhiy Storchaka
2c1d3e320f Issue #23883: Removed redundant names from blacklists. 2016-01-16 11:05:11 +02:00
Martin Panter
104dcdab59 Issue #23883: Add missing APIs to tarfile.__all__
Patch by Joel Taddei and Jacek Kołodziej.
2016-01-16 06:59:13 +00:00
Martin Panter
4eb376c441 Issue #23883: Add missing APIs to calendar.__all__
Patch by Joel Taddei and Jacek Kołodziej.
2016-01-16 06:49:30 +00:00
Martin Panter
7978e10441 Issue #23883: Missing fileinput.__all__ APIs; patch by Mauro SM Rodrigues 2016-01-16 06:26:54 +00:00
Martin Panter
2033f41c35 Issue #26127: Merge test_gdb fix from 3.5 2016-01-16 05:20:57 +00:00
Martin Panter
7a5fe6d5d1 Issue #14771: Redirect GDB's stdin to avoid messing the terminal settings
Otherwise, GDB seems to affect the terminal's foreground process group,
interfering with test_ioctl, which does not expect the foreground process to
change during the test. This change also solves the problem of the tests
being stopped in the shell if test_gdb is run twice in parallel.
2016-01-16 05:18:47 +00:00
Gregory P. Smith
d7a815b115 Make the error message regex more lenient so that it matches both
"certificate verify failed " and "CERTIFICATE_VERIFY_FAILED " as
some SSL libraries use different text than OpenSSL.
2016-01-15 17:30:42 -08:00
Gregory P. Smith
a3a58331a5 Make the error message regex more lenient so that it matches both
"certificate verify failed " and "CERTIFICATE_VERIFY_FAILED " as
some SSL libraries use different text than OpenSSL.
2016-01-15 17:30:24 -08:00
Gregory P. Smith
c7b05a409d Make the error message regex more lenient so that it matches both
"certificate verify failed " and "CERTIFICATE_VERIFY_FAILED " as
some SSL libraries use different text than OpenSSL.
2016-01-15 17:29:45 -08:00
Ethan Furman
ccf44b0445 branch merge 2016-01-15 15:03:12 -08:00
Ethan Furman
60255b67b9 revert change 87a9dff5106c: pure Enum members again evaluate to True;
update Finer Points section of docs to cover boolean evaluation;
add more tests for pure and mixed boolean evaluation
2016-01-15 15:01:33 -08:00
Brett Cannon
63b8505281 Issue #25791: Raise an ImportWarning when __spec__ or __package__ are
not defined for a relative import.

This is the start of work to try and clean up import semantics to rely
more on a module's spec than on the myriad attributes that get set on
a module. Thanks to Rose Ames for the patch.
2016-01-15 13:33:03 -08:00
Brett Cannon
43cfd8240c Merge for issue #17633 2016-01-15 11:23:46 -08:00
Brett Cannon
56aae8f304 Issue #17633: Improve support for namespace packages with zipimport.
Previously zipimport mistakenly limited namespace support to only the
top-level of the zipfile when it should have supported an arbitrary
depth.

Thanks to Phil Connel for the bug report and initial patch and Mike
Romberg for the final patch.
2016-01-15 11:22:19 -08:00
Martin Panter
4edc0e8407 Issue #25940: Merge ETIMEDOUT fix from 3.5 2016-01-15 02:37:21 +00:00
Martin Panter
a8b43b5fc3 Issue #25940: Merge ETIMEDOUT fix from 3.4 into 3.5 2016-01-15 02:28:59 +00:00
Martin Panter
3f2240ccb6 Issue #25940: Merge ETIMEDOUT fix from 3.3 into 3.4 2016-01-15 02:18:31 +00:00