Commit 290d31e2 authored by Neal Norwitz's avatar Neal Norwitz

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

when no arguments are passed
parent 54e0eabc
from __future__ import generators from __future__ import generators
from test_support import TestFailed
import pprint import pprint
import sys import sys
import unittest import unittest
...@@ -329,6 +331,10 @@ protect_ident = ident(protect) ...@@ -329,6 +331,10 @@ protect_ident = ident(protect)
def capture_events(callable, p=None): 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: if p is None:
p = HookWatcher() p = HookWatcher()
sys.setprofile(p.callback) sys.setprofile(p.callback)
......
...@@ -471,6 +471,10 @@ sys.settrace(tracer) ...@@ -471,6 +471,10 @@ sys.settrace(tracer)
adaptgetter("foo", TestClass, (1, "")) adaptgetter("foo", TestClass, (1, ""))
sys.settrace(None) 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" print "20. eval and exec with free variables"
def f(x): def f(x):
......
...@@ -564,10 +564,10 @@ static PyMethodDef sys_methods[] = { ...@@ -564,10 +564,10 @@ static PyMethodDef sys_methods[] = {
{"setdlopenflags", sys_setdlopenflags, METH_VARARGS, {"setdlopenflags", sys_setdlopenflags, METH_VARARGS,
setdlopenflags_doc}, setdlopenflags_doc},
#endif #endif
{"setprofile", sys_setprofile, METH_OLDARGS, setprofile_doc}, {"setprofile", sys_setprofile, METH_O, setprofile_doc},
{"setrecursionlimit", sys_setrecursionlimit, METH_VARARGS, {"setrecursionlimit", sys_setrecursionlimit, METH_VARARGS,
setrecursionlimit_doc}, setrecursionlimit_doc},
{"settrace", sys_settrace, METH_OLDARGS, settrace_doc}, {"settrace", sys_settrace, METH_O, settrace_doc},
{NULL, NULL} /* sentinel */ {NULL, NULL} /* sentinel */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment