summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_sys_setprofile.py
diff options
context:
space:
mode:
authorjdemeyer <jdemeyer@cage.ugent.be>2018-07-21 08:30:59 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2018-07-21 08:30:59 (GMT)
commit56868f940e0cc0b35d33c0070107ff3bed2d8766 (patch)
treecf89ed80def829ba86fee5c2c2db623db134fc34 /Lib/test/test_sys_setprofile.py
parenta692efe4733f98831cb51a9683877b152f754d14 (diff)
downloadcpython-56868f940e0cc0b35d33c0070107ff3bed2d8766.zip
cpython-56868f940e0cc0b35d33c0070107ff3bed2d8766.tar.gz
cpython-56868f940e0cc0b35d33c0070107ff3bed2d8766.tar.bz2
bpo-34126: Fix crashes while profiling invalid calls. (GH-8300)
Diffstat (limited to 'Lib/test/test_sys_setprofile.py')
-rw-r--r--Lib/test/test_sys_setprofile.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/test/test_sys_setprofile.py b/Lib/test/test_sys_setprofile.py
index a3e1d31..16467e7 100644
--- a/Lib/test/test_sys_setprofile.py
+++ b/Lib/test/test_sys_setprofile.py
@@ -334,6 +334,22 @@ class ProfileSimulatorTestCase(TestCaseBase):
(1, 'return', j_ident),
])
+ # Test an invalid call (bpo-34126)
+ def test_unbound_method_no_args(self):
+ def f(p):
+ dict.get()
+ f_ident = ident(f)
+ self.check_events(f, [(1, 'call', f_ident),
+ (1, 'return', f_ident)])
+
+ # Test an invalid call (bpo-34126)
+ def test_unbound_method_invalid_args(self):
+ def f(p):
+ dict.get(print, 42)
+ f_ident = ident(f)
+ self.check_events(f, [(1, 'call', f_ident),
+ (1, 'return', f_ident)])
+
def ident(function):
if hasattr(function, "f_code"):