Commit Graph

92 Commits

Author SHA1 Message Date
Andrew Svetlov
a191959849 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:27:16 +02:00
Andrew Svetlov
5b89840d9c Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Andrew Svetlov
737fb89dd1 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:14:22 +02:00
Andrew Svetlov
3438fa496d Get rig of EnvironmentError (#16705) 2012-12-17 23:35:18 +02:00
Andrew Svetlov
6d8a122b9c Issue #16704: Get rid of select.error in stdlib. Use OSError instead. 2012-12-17 22:23:46 +02:00
Christian Heimes
de0b962998 Remove sys.platform == 'riscos' checks from some Python and test files. #16501 2012-11-19 00:59:39 +01:00
Jesus Cea
f01d695ccd Closes #16135: Removal of OS/2 support 2012-10-05 03:36:11 +02:00
Victor Stinner
643cd68ea4 Issue #13964: signal.sigtimedwait() timeout is now a float instead of a tuple
Add a private API to convert an int or float to a C timespec structure.
2012-03-02 22:54:03 +01:00
Charles-François Natali
027f9a3600 Issue #13084: Fix a test_signal failure: the delivery order is only defined for
real-time signals.
2011-10-02 18:36:05 +02:00
Victor Stinner
5dd470ef1d Issue #12469: fix signal order check of test_signal
When signals are unblocked, pending signal ared delivered in the reverse order
of their number (also on Linux, not only on FreeBSD 6).

Don't sort signals by their number if signals were not blocked (test_signum).
2011-07-05 01:32:06 +02:00
Victor Stinner
68757ac884 Issue #12469: test_signal checks wakeup signals order, except on freebsd6
On FreeBSD 6, when signals are unblocked, FreeBSD 6 delivers signals in the
reverse order of their number.
2011-07-05 01:15:08 +02:00
Victor Stinner
87e78ce1c6 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
2011-07-04 22:53:49 +02:00
Victor Stinner
0a01f13af8 Issue #12469: replace assertions by explicit if+raise 2011-07-04 18:06:35 +02:00
Victor Stinner
d554cdf8b9 (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.
2011-07-04 17:49:40 +02:00
Victor Stinner
e40b3aabfb 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.
2011-07-04 17:35:10 +02:00
Victor Stinner
19e5bcdd9c (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).
2011-07-01 15:59:54 +02:00
Victor Stinner
dfde0d4650 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).
2011-07-01 15:58:39 +02:00
Victor Stinner
8d64248c69 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().
2011-07-01 15:24:50 +02:00
Victor Stinner
9e8b82f1e1 Issue #12303: run sig*wait*() tests in a subprocesss
... instead of using fork(): sig*wait*() functions behave differently (not
correctly) after a fork, especially on FreeBSD 6.

Skip also test_sigtimedwait_poll() on FreeBSD 6 because of a kernel bug.
2011-06-29 10:43:02 +02:00
Ross Lagerwall
7f485785dd Fix test_signal on Windows after #12303. 2011-06-25 15:03:52 +02:00
Ross Lagerwall
bc808224b6 Issue #12303: Add sigwaitinfo() and sigtimedwait() to the signal module. 2011-06-25 12:13:40 +02:00
Victor Stinner
e71db4450c Issue #12392: fix thread initialization on FreeBSD 6
On FreeBSD6, pthread_kill() doesn't work on the main thread before the creation
of the first thread. Create therefore a dummy thread (no-op) a startup to
initialize the pthread library.

Add also a test for this use case, test written by Charles-François Natali.
2011-06-24 20:52:27 +02:00
Victor Stinner
4527365ee4 Issue #12363: improve siginterrupt() tests
Add a basic synchronization code between the child and the parent processes:
the child writes "ready" to stdout.
2011-06-22 22:15:51 +02:00
Victor Stinner
d628496323 Close #12363: fix a race condition in siginterrupt() tests
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
2011-06-20 23:28:09 +02:00
Victor Stinner
415007e30d Issue #12316: Fix sigwait() test using threads
Spawn a new process instead of using fork(). Patch written by Charles-François
Natali.
2011-06-13 16:19:06 +02:00
Victor Stinner
7f294d1e19 Issue #8407: skip sigwait() tests if pthread_sigmask() is missing
The new tests now requires pthread_sigmask(). Skip the test if the function is
missing, e.g. if Python is compiled without threads.
2011-06-10 14:02:10 +02:00
Victor Stinner
46591664fa Issue #8407: write error message on sigwait test failure 2011-06-10 13:53:32 +02:00
Victor Stinner
af4946020e Issue #8407: Make signal.sigwait() tests more reliable
Block the signal before calling sigwait(). Use os.fork() to ensure that we have
only one thread.

Initial patch written by Charles-François Natali.
2011-06-10 12:48:13 +02:00
Victor Stinner
10c30d6764 Issue #8407: signal.sigwait() releases the GIL
Initial patch by Charles-François Natali.
2011-06-10 01:39:53 +02:00
Victor Stinner
2082268025 Issue #8407: test_signal doesn't check signal delivery order
Tthe signal delivery order is not portable or reliable.
2011-05-31 22:31:09 +02:00
Victor Stinner
2a12974bca Close #12028: Make threading._get_ident() public, rename it to
threading.get_ident() and document it. This function was used by
_thread.get_ident().
2011-05-30 23:02:52 +02:00
Victor Stinner
c13ef66649 Issue #8407: Fix the signal handler of the signal module: if it is called
twice, it now writes the number of the second signal into the wakeup fd.
2011-05-25 02:35:58 +02:00
Victor Stinner
3a7f0f05c1 Issue #8407: Remove debug code from test_signal
I don't think that we still need it.
2011-05-08 02:10:36 +02:00
Victor Stinner
d49b1f14de Issue #8407: The signal handler writes the signal number as a single byte
instead of a nul byte into the wakeup file descriptor. So it is possible to
wait more than one signal and know which signals were raised.
2011-05-08 02:03:15 +02:00
Victor Stinner
b3e7219abf Issue #8407: Add pthread_kill(), sigpending() and sigwait() functions to the
signal module.
2011-05-08 01:46:11 +02:00
Victor Stinner
35b300c5fd Issue #8407: signal.pthread_sigmask() returns a set instead of a list
Update the doc. Refactor also related tests.
2011-05-04 13:20:35 +02:00
Victor Stinner
6fd49e152a Issue #11998, issue #8407: workaround _tkinter issue in test_signal
The _tkinter module loads the Tcl library which creates a thread waiting events
in select(). This thread receives signals blocked by all other threads. We
cannot test blocked signals if the _tkinter module is loaded.
2011-05-04 12:38:03 +02:00
Victor Stinner
f44ce8748d Issue #8407: disable faulthandler timeout thread on all platforms
The problem is not specific to Mac OS X.
2011-05-03 17:20:31 +02:00
Victor Stinner
d0e516db50 Issue #8407: pthread_sigmask() checks immediatly if signal handlers have been
called. The test checks that SIG_UNBLOCK calls immediatly the signal handler of
the pending SIGUSR1. Improve also the tests using an exception (division by
zero) instead of a flag (a function attribute).
2011-05-03 14:57:12 +02:00
Victor Stinner
2d4a91e0d0 Issue #8407: Fix pthread_sigmask() tests on Mac OS X
Disable faulthandler timeout thread on Mac OS X: it interacts with
pthread_sigmask() tests.
2011-05-03 14:11:22 +02:00
Victor Stinner
a929335961 Issue #8407, issue #11859: Add signal.pthread_sigmask() function to fetch
and/or change the signal mask of the calling thread.

Fix also tests of test_io using threads and an alarm: use pthread_sigmask() to
ensure that the SIGALRM signal is received by the main thread.

Original patch written by Jean-Paul Calderone.
2011-04-30 15:21:58 +02:00
Antoine Pitrou
8189ab85e3 Call reap_children() where appropriate 2011-03-20 17:35:32 +01:00
Ezio Melotti
19f2aeba67 Merged revisions 86596 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line

  #9424: Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 01:30:29 +00:00
Gregory P. Smith
397cd8a1fc Merged revisions 85586-85587,85596-85598 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85586 | gregory.p.smith | 2010-10-16 17:17:24 -0700 (Sat, 16 Oct 2010) | 2 lines

  fix for netbsd.
........
  r85587 | gregory.p.smith | 2010-10-16 17:43:10 -0700 (Sat, 16 Oct 2010) | 3 lines

  applying netbsd-wizs-mod.patch from issue5510 -
   fixes for netbsd (and dragonflybsd?)
........
  r85596 | gregory.p.smith | 2010-10-16 19:14:36 -0700 (Sat, 16 Oct 2010) | 6 lines

  Fix multiprocessing Semaphore's on netbsd5. SEM_VALUE_MAX is defined
  as (~0U) on NetBSD which was causing it to appear as -1 when used as
  a signed int for _multprocessing.SemLock.SEM_VALUE_MAX.  This works
  around the problem by substituting INT_MAX on systems where it appears
  negative when used as an int.
........
  r85597 | gregory.p.smith | 2010-10-16 19:57:19 -0700 (Sat, 16 Oct 2010) | 2 lines

  skip test_itimer_virtual on NetBSD to prevent the test suite from hanging.
........
  r85598 | gregory.p.smith | 2010-10-16 20:09:12 -0700 (Sat, 16 Oct 2010) | 2 lines

  Avoid hanging the test on netbsd5.
........
2010-10-17 04:23:21 +00:00
Brian Curtin
eccd4d910d Merged revisions 85140 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85140 | brian.curtin | 2010-10-01 09:49:24 -0500 (Fri, 01 Oct 2010) | 4 lines

  Fix #10003. Add SIGBREAK to the set of valid signals on Windows.

  This fixes a regression noticed by bzr, introduced by issue #9324.
........
2010-10-01 15:09:53 +00:00
Brian Curtin
912443c861 Merged revisions 84556 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84556 | brian.curtin | 2010-09-06 11:04:10 -0500 (Mon, 06 Sep 2010) | 7 lines

  Clean up the fix to #9324 with some of the suggestions raised on python-dev
  in response to the original checkin.

  Move the validation from the original loop into a switch statement,
  and adjust a platform check in the tests.
........
2010-09-06 16:10:04 +00:00
Brian Curtin
80cd4bff53 Merged revisions 83771 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83771 | brian.curtin | 2010-08-06 22:47:21 -0500 (Fri, 06 Aug 2010) | 3 lines

  Fix an assertRaises situation and typo. Also pass all tests to run_unittest
  rather than do it by platform -- the proper skips are in place already.
........
2010-08-07 03:52:38 +00:00
Brian Curtin
3f004b1cc0 Merged revisions 83763 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83763 | brian.curtin | 2010-08-06 14:27:32 -0500 (Fri, 06 Aug 2010) | 3 lines

  Fix #9324: Add parameter validation to signal.signal on Windows in order
  to prevent crashes.
........
2010-08-06 19:34:52 +00:00
Benjamin Peterson
9b140f650f Merged revisions 81201 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r81201 | benjamin.peterson | 2010-05-15 12:52:12 -0500 (Sat, 15 May 2010) | 9 lines

  Merged revisions 81200 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r81200 | benjamin.peterson | 2010-05-15 12:48:55 -0500 (Sat, 15 May 2010) | 1 line

    use TestCase skip method
  ........
................
2010-05-15 18:00:56 +00:00
Stefan Krah
174ba00050 Merged revisions 81188 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r81188 | stefan.krah | 2010-05-15 11:41:27 +0200 (Sat, 15 May 2010) | 10 lines

  Merged revisions 81185 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r81185 | stefan.krah | 2010-05-15 11:31:08 +0200 (Sat, 15 May 2010) | 4 lines

    If the timeout is exceeded, count the tests as skipped instead of just
    issuing a warning.
  ........
................
2010-05-15 09:45:07 +00:00