summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_sys.py3
-rw-r--r--Python/sysmodule.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 5c1a8e9..a8c19ee 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -166,6 +166,9 @@ class SysModuleTest(unittest.TestCase):
self.assert_(isinstance(v[3], int))
self.assert_(isinstance(v[4], str))
+ def test_call_tracing(self):
+ self.assertRaises(TypeError, sys.call_tracing, type, 2)
+
def test_dlopenflags(self):
if hasattr(sys, "setdlopenflags"):
self.assert_(hasattr(sys, "getdlopenflags"))
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 10a8761..952f7e5 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -783,7 +783,7 @@ static PyObject *
sys_call_tracing(PyObject *self, PyObject *args)
{
PyObject *func, *funcargs;
- if (!PyArg_UnpackTuple(args, "call_tracing", 2, 2, &func, &funcargs))
+ if (!PyArg_ParseTuple(args, "OO!:call_tracing", &func, &PyTuple_Type, &funcargs))
return NULL;
return _PyEval_CallTracing(func, funcargs);
}