diff options
author | Anthony Sottile <asottile@umich.edu> | 2019-03-13 03:57:09 (GMT) |
---|---|---|
committer | Lisa Roach <lisaroach14@gmail.com> | 2019-03-13 03:57:09 (GMT) |
commit | 86900a49000c4a96ad1dc34e49d8af4245b08843 (patch) | |
tree | ca1872877872403bc9eb861ecdc602a7051962b9 /Lib | |
parent | 839b925f6347222de560cdb767924c502b4039aa (diff) | |
download | cpython-86900a49000c4a96ad1dc34e49d8af4245b08843.zip cpython-86900a49000c4a96ad1dc34e49d8af4245b08843.tar.gz cpython-86900a49000c4a96ad1dc34e49d8af4245b08843.tar.bz2 |
Fix stepping into a frame without a __name__ (GH-12064)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/bdb.py | 2 | ||||
-rw-r--r-- | Lib/test/test_bdb.py | 7 |
2 files changed, 9 insertions, 0 deletions
@@ -190,6 +190,8 @@ class Bdb: def is_skipped_module(self, module_name): "Return True if module_name matches any skip pattern." + if module_name is None: # some modules do not have names + return False for pattern in self.skip: if fnmatch.fnmatch(module_name, pattern): return True diff --git a/Lib/test/test_bdb.py b/Lib/test/test_bdb.py index 751dd9f..6e82cce 100644 --- a/Lib/test/test_bdb.py +++ b/Lib/test/test_bdb.py @@ -730,6 +730,13 @@ class StateTestCase(BaseTestCase): with TracerRun(self, skip=skip) as tracer: tracer.runcall(tfunc_import) + def test_skip_with_no_name_module(self): + # some frames have `globals` with no `__name__` + # for instance the second frame in this traceback + # exec(compile('raise ValueError()', '', 'exec'), {}) + bdb = Bdb(skip=['anything*']) + self.assertIs(bdb.is_skipped_module(None), False) + def test_down(self): # Check that set_down() raises BdbError at the newest frame. self.expect_set = [ |