Staging
v0.8.1
https://github.com/python/cpython
Revision 1742f3331fd5c6286e308db6681f9d6abcddb77c authored by Tim Peters on 12 August 2006, 04:42:47 UTC, committed by Tim Peters on 12 August 2006, 04:42:47 UTC
appears to be utterly insane.  Plug some theoretical
insecurities in the test script:

- Verify that the SIGALRM handler was actually installed.

- Don't call alarm() before the handler is installed.

- Move everything that can fail inside the try/finally,
  so the test cleans up after itself more often.

- Try sending all the expected signals in
  force_test_exit(), not just SIGALRM.  Since that was
  fixed to actually send SIGALRM (instead of invisibly
  dying with an AttributeError), we've seen that sending
  SIGALRM alone does not stop this from hanging.

- Move the "kill the child" business into the finally
  clause, so the child doesn't survive test failure
  to send SIGALRM to other tests later (there are also
  baffling SIGALRM-related failures in test_socket).

- Cancel the alarm in the finally clause -- if the
  test dies early, we again don't want SIGALRM showing
  up to confuse a later test.

Alas, this still relies on timing luck wrt the spawned
script that sends the test signals, but it's hard to see
how waiting for seconds can so often be so unlucky.

test_threadedsignals:  curiously, this test never fails
on Tru64, but doesn't normally signal SIGALRM.  Anyway,
fixed an obvious (but probably inconsequential) logic
error.
1 parent ebcf875
History
Tip revision: 1742f3331fd5c6286e308db6681f9d6abcddb77c authored by Tim Peters on 12 August 2006, 04:42:47 UTC
test_signal: Signal handling on the Tru64 buildbot
Tip revision: 1742f33
File Mode Size
Python-ast.h -rw-r--r-- 15.3 KB
Python.h -rw-r--r-- 4.1 KB
abstract.h -rw-r--r-- 37.4 KB
asdl.h -rw-r--r-- 1.1 KB
ast.h -rw-r--r-- 230 bytes
bitset.h -rw-r--r-- 792 bytes
boolobject.h -rw-r--r-- 914 bytes
bufferobject.h -rw-r--r-- 924 bytes
cStringIO.h -rw-r--r-- 2.0 KB
cellobject.h -rw-r--r-- 653 bytes
ceval.h -rw-r--r-- 4.8 KB
classobject.h -rw-r--r-- 2.8 KB
cobject.h -rw-r--r-- 1.7 KB
code.h -rw-r--r-- 3.2 KB
codecs.h -rw-r--r-- 4.9 KB
compile.h -rw-r--r-- 1.0 KB
complexobject.h -rw-r--r-- 1.4 KB
datetime.h -rw-r--r-- 8.1 KB
descrobject.h -rw-r--r-- 2.1 KB
dictobject.h -rw-r--r-- 5.4 KB
enumobject.h -rw-r--r-- 253 bytes
errcode.h -rw-r--r-- 1.3 KB
eval.h -rw-r--r-- 557 bytes
fileobject.h -rw-r--r-- 2.2 KB
floatobject.h -rw-r--r-- 4.1 KB
frameobject.h -rw-r--r-- 2.8 KB
funcobject.h -rw-r--r-- 2.9 KB
genobject.h -rw-r--r-- 823 bytes
graminit.h -rw-r--r-- 1.8 KB
grammar.h -rw-r--r-- 2.0 KB
import.h -rw-r--r-- 2.0 KB
intobject.h -rw-r--r-- 2.1 KB
intrcheck.h -rw-r--r-- 274 bytes
iterobject.h -rw-r--r-- 526 bytes
listobject.h -rw-r--r-- 2.5 KB
longintrepr.h -rw-r--r-- 2.1 KB
longobject.h -rw-r--r-- 4.7 KB
marshal.h -rw-r--r-- 713 bytes
metagrammar.h -rw-r--r-- 253 bytes
methodobject.h -rw-r--r-- 3.1 KB
modsupport.h -rw-r--r-- 4.7 KB
moduleobject.h -rw-r--r-- 611 bytes
node.h -rw-r--r-- 890 bytes
object.h -rw-r--r-- 31.5 KB
objimpl.h -rw-r--r-- 12.1 KB
opcode.h -rw-r--r-- 4.2 KB
osdefs.h -rw-r--r-- 942 bytes
parsetok.h -rw-r--r-- 1.3 KB
patchlevel.h -rw-r--r-- 1.3 KB
pgen.h -rw-r--r-- 253 bytes
pgenheaders.h -rw-r--r-- 1.1 KB
py_curses.h -rw-r--r-- 4.1 KB
pyarena.h -rw-r--r-- 2.6 KB
pydebug.h -rw-r--r-- 1.0 KB
pyerrors.h -rw-r--r-- 11.3 KB
pyexpat.h -rw-r--r-- 1.9 KB
pyfpe.h -rw-r--r-- 8.3 KB
pygetopt.h -rw-r--r-- 306 bytes
pymactoolbox.h -rw-r--r-- 7.2 KB
pymem.h -rw-r--r-- 3.7 KB
pyport.h -rw-r--r-- 23.7 KB
pystate.h -rw-r--r-- 6.0 KB
pystrtod.h -rw-r--r-- 359 bytes
pythonrun.h -rw-r--r-- 6.3 KB
pythread.h -rw-r--r-- 1.3 KB
rangeobject.h -rw-r--r-- 648 bytes
setobject.h -rw-r--r-- 2.6 KB
sliceobject.h -rw-r--r-- 1.3 KB
stringobject.h -rw-r--r-- 6.5 KB
structmember.h -rw-r--r-- 2.5 KB
structseq.h -rw-r--r-- 862 bytes
symtable.h -rw-r--r-- 3.8 KB
sysmodule.h -rw-r--r-- 819 bytes
timefuncs.h -rw-r--r-- 442 bytes
token.h -rw-r--r-- 1.7 KB
traceback.h -rw-r--r-- 624 bytes
tupleobject.h -rw-r--r-- 2.0 KB
ucnhash.h -rw-r--r-- 861 bytes
unicodeobject.h -rw-r--r-- 43.1 KB
weakrefobject.h -rw-r--r-- 2.4 KB

back to top