Commit graph

38144 commits

Author SHA1 Message Date
Brett Cannon
11faa21843 Merge from 3.5 for issue #25188. 2015-10-02 16:20:49 -07:00
Brett Cannon
be7c1638e2 Issue #25188: Add a -P/--pgo flag to regrtest to silence error output.
Since PGO building doesn't care about test failures, silence them when
running the test suite for performance reasons. Initial patch by
Alecsandru Patrascu of Intel.
2015-10-02 16:16:44 -07:00
Victor Stinner
5f9d3acc5e Issue #22806: Add `python -m test --list-tests` command to list tests. 2015-10-03 00:21:12 +02:00
Victor Stinner
076fc872bc Issue #18174: "python -m test --huntrleaks ..." now also checks for leak of
file descriptors. Patch written by Richard Oudkerk.
2015-10-03 00:20:56 +02:00
Victor Stinner
6661d885a3 Issue #25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not
supported. Check if it is supported, it may not be supported on OpenBSD for
example.
2015-10-02 23:00:39 +02:00
Yury Selivanov
d763909885 asyncio: Make ensure_future() accept all kinds of awaitables. (Merge 3.5) 2015-10-02 15:09:51 -04:00
Yury Selivanov
43d71e2512 asyncio: Make ensure_future() accept all kinds of awaitables. 2015-10-02 15:05:59 -04:00
Yury Selivanov
620279b9ac asyncio: ensure_future() now understands awaitables 2015-10-02 15:00:19 -04:00
Serhiy Storchaka
29e68edbf4 Issue #24848: Fixed bugs in UTF-7 decoding of misformed data:
1. Non-ASCII bytes were accepted after shift sequence.
2. A low surrogate could be emitted in case of error in high surrogate.
3. In some circumstances the '\xfd' character was produced instead of the
replacement character '\ufffd' (due to a bug in _PyUnicodeWriter).
2015-10-02 13:14:03 +03:00
Serhiy Storchaka
58c8f2bb6d Issue #24848: Fixed bugs in UTF-7 decoding of misformed data:
1. Non-ASCII bytes were accepted after shift sequence.
2. A low surrogate could be emitted in case of error in high surrogate.
3. In some circumstances the '\xfd' character was produced instead of the
replacement character '\ufffd' (due to a bug in _PyUnicodeWriter).
2015-10-02 13:13:14 +03:00
Serhiy Storchaka
28b21e50c8 Issue #24848: Fixed bugs in UTF-7 decoding of misformed data:
1. Non-ASCII bytes were accepted after shift sequence.
2. A low surrogate could be emitted in case of error in high surrogate.
2015-10-02 13:07:28 +03:00
Victor Stinner
01ada3996b Issue #25267: The UTF-8 encoder is now up to 75 times as fast for error
handlers: ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``.
Patch co-written with Serhiy Storchaka.
2015-10-01 21:54:51 +02:00
Vinay Sajip
29a1445136 Closes #24884: refactored WatchedFileHandler file reopening into a separate method, based on a suggestion and patch by Marian Horban. 2015-10-01 20:54:41 +01:00
Vinay Sajip
14b1b486ca Fixes #25097: Merged fix from 3.5. 2015-10-01 20:39:30 +01:00
Vinay Sajip
d5963e615d Fixes #25097: Merged fi from 3.4. 2015-10-01 20:38:53 +01:00
Vinay Sajip
223349cfb8 Fixes #25097: Windows test is skipped if there are insufficient privileges, rather than failing. 2015-10-01 20:37:54 +01:00
Victor Stinner
98f223dfa0 Issue #25277: Set a timeout of 10 minutes in test_eintr using faulthandler to
try to debug a hang on the FreeBSD 9 buildbot.

Run also eintr_tester.py with python "-u" command line option to try to get the
full output on hang/crash.
2015-10-01 13:16:43 +02:00
Vinay Sajip
2c6ea295ba Closes #25185: merged fix from 3.5. 2015-10-01 11:28:34 +01:00
Vinay Sajip
2934fd66ae Closes #25185: merged fix from 3.4. 2015-10-01 11:27:57 +01:00
Vinay Sajip
f223c53218 Closes #25185: Use UTF-8 encoding when reading pyvenv.cfg. 2015-10-01 11:27:00 +01:00
Serhiy Storchaka
f22d8080ae Issue #25280: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.
2015-10-01 11:55:52 +03:00
Serhiy Storchaka
0b40aab6f0 Issue #25280: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.
2015-10-01 11:40:22 +03:00
Serhiy Storchaka
f731bc09fa Issue #25280: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.
2015-10-01 11:08:50 +03:00
Victor Stinner
bae2d6203f Issue #25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
2015-10-01 09:47:30 +02:00
Victor Stinner
4241bcd4e1 (Merge 3.5) Issue #25274: test_recursionlimit_recovery() of test_sys now checks
sys.gettrace() when the test is executed, not when the module is loaded.

sys.settrace() may be after after the test is loaded.
2015-10-01 08:56:54 +02:00
Victor Stinner
87bddbac9d (Merge 3.4) Issue #25274: test_recursionlimit_recovery() of test_sys now checks
sys.gettrace() when the test is executed, not when the module is loaded.

sys.settrace() may be after after the test is loaded.
2015-10-01 08:56:27 +02:00
Victor Stinner
3f18f10f39 Issue #25274: test_recursionlimit_recovery() of test_sys now checks
sys.gettrace() when the test is executed, not when the module is loaded.

sys.settrace() may be after after the test is loaded.
2015-10-01 08:55:33 +02:00
Victor Stinner
a53a818c3c Fix regrtest --coverage on Windows
Issue #25260: Fix ``python -m test --coverage`` on Windows. Remove the list of
ignored directories.
2015-10-01 00:53:09 +02:00
Victor Stinner
9a14214aee Issue #25220: Fix "-m test --forever"
* Fix "-m test --forever": replace _test_forever() with self._test_forever()
* Add unit test for --forever
* Add unit test for a failing test
* Fix also some pyflakes warnings in libregrtest
2015-09-30 13:51:17 +02:00
Victor Stinner
17f9716676 Issue #25220, libregrtest: more verbose output for -jN
When the -jN command line option is used, display tests running since at least
30 seconds every minute.
2015-09-30 03:05:43 +02:00
Victor Stinner
b40843546b Issue #25220, libregrtest: Cleanup
No need to support.verbose in Regrtest.run_tests(), it's always set in
runtest().
2015-09-30 02:39:22 +02:00
Victor Stinner
6f20a2e01f Issue #25220, libregrtest: Pass directly ns to runtest()
* Remove runtest_ns(): pass directly ns to runtest().
* Create also Regrtest.rerun_failed_tests() method.
* Inline again Regrtest.run_test(): it's no more justified to have a method
2015-09-30 02:32:11 +02:00
Victor Stinner
a204502dbf Issue #25220, libregrtest: Set support.use_resources in setup_tests()
* Rename setup_python() to setup_tests()
* Remove use_resources parameter of runtest()
2015-09-30 02:17:28 +02:00
Victor Stinner
00b8f9bb9e Issue #25274: Workaround test_sys crash just to keep buildbots usable 2015-09-30 02:02:49 +02:00
Victor Stinner
ecef622fec Issue #25220, libregrtest: Call setup_python(ns) in the slaves
Slaves (child processes running tests for regrtest -jN) now inherit
--memlimit/-M, --threshold/-t and --nowindows/-n options.

* -M, -t and -n are now supported with -jN
* Factorize code to run tests.
* run_test_in_subprocess() now pass the whole "ns" namespace to the child
  process.
2015-09-30 01:39:28 +02:00
Victor Stinner
8bb19f094b Issue #25220, libregrtest: Add runtest_ns() function
* Factorize code to run tests.
* run_test_in_subprocess() now pass the whole "ns" namespace to the child
  process.
2015-09-30 01:32:39 +02:00
Victor Stinner
234cbef39f Issue #25220, libregrtest: Move setup_python() to a new submodule 2015-09-30 01:13:53 +02:00
Victor Stinner
c7eab0528c Issue #25220, libregrtest: Cleanup setup code 2015-09-30 00:59:35 +02:00
Victor Stinner
f33536c430 Issue #25220: Use print(flush=True) in libregrtest 2015-09-30 00:48:27 +02:00
Victor Stinner
76f756d934 Issue #25220: Enhance regrtest -jN
Running the Python test suite with -jN now:

- Display the duration of tests which took longer than 30 seconds
- Display the tests currently running since at least 30 seconds
- Display the tests we are waiting for when the test suite is interrupted

Clenaup also run_test_in_subprocess() code.
2015-09-30 00:33:29 +02:00
Victor Stinner
02319804ea Don't strip refcount in libregrtest/runtest_mp.py
Python doesn't display the refcount anymore by default. It only displays it
when -X showrefcount command line option is used, which is not the case here.
regrtest can be run with -X showrefcount, the option is not inherited by child
processes.
2015-09-29 23:52:33 +02:00
Victor Stinner
86e8c31b8d Issue #25220, libregrtest: Remove unused import 2015-09-29 23:50:19 +02:00
Victor Stinner
6448b8041a Issue #25220: truncate some long lines in libregrtest/*.py 2015-09-29 23:43:33 +02:00
Victor Stinner
37554525aa Issue #25220: regrtest setups Python after parsing command line options 2015-09-29 23:37:14 +02:00
Victor Stinner
bd1a72c455 Issue #25220: Enhance regrtest --coverage
Add a new Regrtest.run_test() method to ensure that --coverage pass the same
options to the runtest() function.
2015-09-29 23:36:27 +02:00
Victor Stinner
56e05dd0b0 Issue #25220: Create libregrtest/runtest_mp.py
Move the code to run tests in multiple processes using threading and subprocess
to a new submodule.

Move also slave_runner() (renamed to run_tests_slave()) and
run_test_in_subprocess() (renamed to run_tests_in_subprocess()) there.
2015-09-29 23:15:38 +02:00
Serhiy Storchaka
f1c780870a Issue #22958: Constructor and update method of weakref.WeakValueDictionary
now accept the self and the dict keyword arguments.
2015-09-29 23:52:42 +03:00
Serhiy Storchaka
b5102e3550 Issue #22958: Constructor and update method of weakref.WeakValueDictionary
now accept the self and the dict keyword arguments.
2015-09-29 23:52:09 +03:00
Victor Stinner
dad20e4876 Issue #25220: Split the huge main() function of libregrtest.main into a class
with attributes and methods.

The --threshold command line option is now ignored if the gc module is missing.

* Convert main() variables to Regrtest attributes, document some attributes
* Convert accumulate_result() function to a method
* Create setup_python() function and setup_regrtest() method.
* Import gc at top level
* Move resource.setrlimit() and the code to make the module paths absolute into
  the new setup_python() function. So this code is no more executed when the
  module is imported, only when main() is executed. We have a better control on
  when the setup is done.
* Move textwrap import from printlist() to the top level.
* Some other minor cleanup.
2015-09-29 22:48:52 +02:00
Serhiy Storchaka
b27232949d Issue #22958: Constructor and update method of weakref.WeakValueDictionary
now accept the self and the dict keyword arguments.
2015-09-29 23:53:25 +03:00