@@ -1811,6 +1811,7 @@ def test_pdb_skip_modules():
18111811    > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module() 
18121812    -> string.capwords('FOO') 
18131813    (Pdb) step 
1814+     [... skipped 1 ignored module(s)] 
18141815    --Return-- 
18151816    > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None 
18161817    -> string.capwords('FOO') 
@@ -1884,6 +1885,7 @@ def test_pdb_skip_modules_with_callback():
18841885    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module() 
18851886    -> mod.foo_pony(callback) 
18861887    (Pdb) step 
1888+     [... skipped 1 ignored module(s)] 
18871889    --Call-- 
18881890    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(2)callback() 
18891891    -> def callback(): 
@@ -1895,6 +1897,7 @@ def test_pdb_skip_modules_with_callback():
18951897    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()->None 
18961898    -> return None 
18971899    (Pdb) step 
1900+     [... skipped 1 ignored module(s)] 
18981901    --Return-- 
18991902    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None 
19001903    -> mod.foo_pony(callback) 
@@ -5134,5 +5137,55 @@ def test_ignore_module_navigation():
51345137    """ 
51355138
51365139
5140+ def  test_ignore_module_stepping ():
5141+     """Test that ignore_module works with step/next commands. 
5142+ 
5143+     >>> def test_stepping(): 
5144+     ...     x = 1 
5145+     ...     import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace() 
5146+     ...     result = ignore_test_middle.middle_func(lambda: x + 1) 
5147+     ...     y = result + 1 
5148+     ...     return y 
5149+ 
5150+     Test step command with ignored modules - should skip into ignored module 
5151+     but show skip message: 
5152+ 
5153+     >>> with PdbTestInput([  # doctest: +ELLIPSIS 
5154+     ...     'ignore_module ignore_test_middle', 
5155+     ...     'step',  # Step to the function call 
5156+     ...     'step',  # Step into call - should skip middle_func 
5157+     ...     'return',  # Return from lambda 
5158+     ...     'step',  # Step to next line 
5159+     ...     'p y', 
5160+     ...     'continue', 
5161+     ... ]): 
5162+     ...     test_stepping() 
5163+     > <doctest test.test_pdb.test_ignore_module_stepping[0]>(3)test_stepping() 
5164+     -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace() 
5165+     (Pdb) ignore_module ignore_test_middle 
5166+     Ignoring module: ignore_test_middle 
5167+     (Pdb) step 
5168+     > <doctest test.test_pdb.test_ignore_module_stepping[0]>(4)test_stepping() 
5169+     -> result = ignore_test_middle.middle_func(lambda: x + 1) 
5170+     (Pdb) step 
5171+     [... skipped 1 ignored module(s)] 
5172+     --Call-- 
5173+     > <doctest test.test_pdb.test_ignore_module_stepping[0]>(4)<lambda>() 
5174+     -> result = ignore_test_middle.middle_func(lambda: x + 1) 
5175+     (Pdb) return 
5176+     --Return-- 
5177+     > <doctest test.test_pdb.test_ignore_module_stepping[0]>(4)<lambda>()->2 
5178+     -> result = ignore_test_middle.middle_func(lambda: x + 1) 
5179+     (Pdb) step 
5180+     [... skipped 1 ignored module(s)] 
5181+     > <doctest test.test_pdb.test_ignore_module_stepping[0]>(5)test_stepping() 
5182+     -> y = result + 1 
5183+     (Pdb) p y 
5184+     *** NameError: name 'y' is not defined 
5185+     (Pdb) continue 
5186+     3 
5187+     """ 
5188+ 
5189+ 
51375190if  __name__  ==  '__main__' :
51385191    unittest .main ()
0 commit comments