SF #506611, fix sys.setprofile(), sys.settrace() core dumps

when no arguments are passed
This commit is contained in:
Neal Norwitz 2002-03-03 15:12:58 +00:00
parent 54e0eabc2d
commit 290d31e2fc
3 changed files with 12 additions and 2 deletions

View File

@ -1,5 +1,7 @@
from __future__ import generators
from test_support import TestFailed
import pprint
import sys
import unittest
@ -329,6 +331,10 @@ protect_ident = ident(protect)
def capture_events(callable, p=None):
try: sys.setprofile()
except TypeError: pass
else: raise TestFailed, 'sys.setprofile() did not raise TypeError'
if p is None:
p = HookWatcher()
sys.setprofile(p.callback)

View File

@ -471,6 +471,10 @@ sys.settrace(tracer)
adaptgetter("foo", TestClass, (1, ""))
sys.settrace(None)
try: sys.settrace()
except TypeError: pass
else: raise TestFailed, 'sys.settrace() did not raise TypeError'
print "20. eval and exec with free variables"
def f(x):

View File

@ -564,10 +564,10 @@ static PyMethodDef sys_methods[] = {
{"setdlopenflags", sys_setdlopenflags, METH_VARARGS,
setdlopenflags_doc},
#endif
{"setprofile", sys_setprofile, METH_OLDARGS, setprofile_doc},
{"setprofile", sys_setprofile, METH_O, setprofile_doc},
{"setrecursionlimit", sys_setrecursionlimit, METH_VARARGS,
setrecursionlimit_doc},
{"settrace", sys_settrace, METH_OLDARGS, settrace_doc},
{"settrace", sys_settrace, METH_O, settrace_doc},
{NULL, NULL} /* sentinel */
};