Victor Stinner [Mon, 4 Jul 2011 20:53:49 +0000 (22:53 +0200)]
Issue #12469: partial revert of 024827a9db64, freebsd6 thread initialization
* Don't create a thread at startup anymore to initialize the pthread library:
it changes the behaviour of many functions related to signal handling like
sigwait()
* Reenable test_sigtimedwait_poll() on FreeBSD 6
issue10403 - Let's not use members anymore. Use 'attribute' where it denotes attribute and 'methods' where it denotes methods. Context should clarify usage.
Victor Stinner [Mon, 4 Jul 2011 15:49:40 +0000 (17:49 +0200)]
(merge 3.2) Issue #12469: Run wakeup and pending signal tests in a subprocess
to run the test in a fresh process with only one thread and to not change
signal handling of the parent process.
Victor Stinner [Mon, 4 Jul 2011 15:35:10 +0000 (17:35 +0200)]
Issue #12469: Run "wakeup" signal tests in subprocess to run the test in a
fresh process with only one thread and to not change signal handling of the
parent process.
Victor Stinner [Mon, 4 Jul 2011 11:48:30 +0000 (13:48 +0200)]
Issue #9642: Fix filesystem encoding initialization: use the ANSI code page on
Windows if the mbcs codec is not available, and fail with a fatal error if we
cannot get the locale encoding (if nl_langinfo(CODESET) is not available)
instead of using UTF-8.
Ned Deily [Mon, 4 Jul 2011 05:27:16 +0000 (22:27 -0700)]
Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run
test_tk or test_ttk_guionly under a username that is not currently logged
in to the console windowserver (as may be the case under buildbot or ssh).
Ned Deily [Mon, 4 Jul 2011 04:56:48 +0000 (21:56 -0700)]
Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run
test_tk or test_ttk_guionly under a username that is not currently logged
in to the console windowserver (as may be the case under buildbot or ssh).
Victor Stinner [Mon, 4 Jul 2011 00:09:44 +0000 (02:09 +0200)]
(merge 3.2) Issue #12451: pydoc: importfile() now opens the Python script in
binary mode, instead of text mode using the locale encoding, to avoid encoding
issues.
Victor Stinner [Mon, 4 Jul 2011 00:08:50 +0000 (02:08 +0200)]
Issue #12451: pydoc: importfile() now opens the Python script in binary mode,
instead of text mode using the locale encoding, to avoid encoding issues.
Victor Stinner [Sun, 3 Jul 2011 23:47:40 +0000 (01:47 +0200)]
(merge 3.2) Issue #12451: runpy: run_path() now opens the Python script in
binary mode, instead of text mode using the locale encoding, to support other
encodings than UTF-8 (scripts using the coding cookie).
Victor Stinner [Sun, 3 Jul 2011 23:45:39 +0000 (01:45 +0200)]
Issue #12451: runpy: run_path() now opens the Python script in binary mode,
instead of text mode using the locale encoding, to support other encodings than
UTF-8 (scripts using the coding cookie).
Victor Stinner [Sun, 3 Jul 2011 23:27:37 +0000 (01:27 +0200)]
(merge 3.2) Issue #12451: xml.dom.pulldom: parse() now opens files in binary
mode instead of the text mode (using the locale encoding) to avoid encoding
issues.
Victor Stinner [Fri, 1 Jul 2011 13:59:54 +0000 (15:59 +0200)]
(merge 3.2) Issue #12363: increase the timeout of siginterrupt() tests
Move also the "ready" trigger after the installation of the signal handler and
the call to siginterrupt().
Use a timeout of 5 seconds instead of 3. Two seconds are supposed to be enough,
but some of our buildbots are really slow (especially the FreeBSD 6 VM).
Victor Stinner [Fri, 1 Jul 2011 13:58:39 +0000 (15:58 +0200)]
Issue #12363: increase the timeout of siginterrupt() tests
Move also the "ready" trigger after the installation of the signal handler and
the call to siginterrupt().
Use a timeout of 5 seconds instead of 3. Two seconds are supposed to be enough,
but some of our buildbots are really slow (especially the FreeBSD 6 VM).
Victor Stinner [Fri, 1 Jul 2011 13:24:50 +0000 (15:24 +0200)]
Issue #12363: improve siginterrupt() tests
Backport commits 968b9ff9a059 and aff0a7b0cb12 from the default branch to 3.2
branch. Extract of the changelog messages:
"The previous tests used time.sleep() to synchronize two processes. If the host
was too slow, the test could fail.
The new tests only use one process, but they use a subprocess to:
- have only one thread
- have a timeout on the blocking read (select cannot be used in the test,
select always fail with EINTR, the kernel doesn't restart it)
- not touch signal handling of the parent process"
and
"Add a basic synchronization code between the child and the parent processes:
the child writes "ready" to stdout."
I replaced .communicate(timeout=3.0) by an explicit waiting loop using
Popen.poll().