@@ -4717,6 +4717,27 @@ def bar():
47174717 ]))
47184718 self .assertIn ('break in bar' , stdout )
47194719
4720+ def test_end_of_options_separator (self ):
4721+ # gh-148615: Test parsing when '--' separator is used
4722+ script = "import sys; print(f'ARGS: {sys.argv[1:]}')"
4723+ with open (os_helper .TESTFN , 'w' , encoding = 'utf-8' ) as f :
4724+ f .write (script )
4725+ stdout , _ = self ._run_pdb (['--' , os_helper .TESTFN , '-foo' ], 'c\n q' )
4726+ self .assertIn ("ARGS: ['-foo']" , stdout )
4727+ stdout , _ = self ._run_pdb (['-c' , 'continue' , '--' , os_helper .TESTFN , '-c' , 'foo' ], 'q' )
4728+ self .assertIn ("ARGS: ['-c', 'foo']" , stdout )
4729+ stdout , stderr = self ._run_pdb (['--' ], 'q' , expected_returncode = 2 )
4730+ self .assertIn ("missing script or module to run" , stderr )
4731+ stdout , stderr = self ._run_pdb (['-x' , '--' , os_helper .TESTFN ], 'q' , expected_returncode = 2 )
4732+ self .assertIn ("unrecognized arguments: -x" , stderr )
4733+ stdout , _ = self ._run_pdb ([os_helper .TESTFN , '--' , 'arg' ], 'c\n q' )
4734+ self .assertIn ("ARGS: ['--', 'arg']" , stdout )
4735+ with os_helper .temp_cwd ():
4736+ with open ('mymod.py' , 'w' , encoding = 'utf-8' ) as f :
4737+ f .write (script )
4738+ stdout , _ = self ._run_pdb (['-m' , 'mymod' , '--' , 'arg' ], 'c\n q' )
4739+ self .assertIn ("ARGS: ['--', 'arg']" , stdout )
4740+
47204741 @unittest .skipIf (SKIP_CORO_TESTS , "Coroutine tests are skipped" )
47214742 def test_async_break (self ):
47224743 script = """
@@ -4752,26 +4773,6 @@ def foo(self):
47524773 stdout , stderr = self .run_pdb_script (script , commands )
47534774 self .assertIn ("The specified object 'C.foo' is not a function" , stdout )
47544775
4755- def test_end_of_options_separator (self ):
4756- # gh-148615: Test parsing when '--' separator is used
4757- script = "import sys; print(f'ARGS: {sys.argv[1:]}')"
4758- with open (os_helper .TESTFN , 'w' , encoding = 'utf-8' ) as f :
4759- f .write (script )
4760- stdout , _ = self ._run_pdb (['--' , os_helper .TESTFN , '-foo' ], 'c\n q' )
4761- self .assertIn ("ARGS: ['-foo']" , stdout )
4762- stdout , _ = self ._run_pdb (['-c' , 'continue' , '--' , os_helper .TESTFN , '-c' , 'foo' ], 'q' )
4763- self .assertIn ("ARGS: ['-c', 'foo']" , stdout )
4764- stdout , stderr = self ._run_pdb (['--' ], 'q' , expected_returncode = 2 )
4765- self .assertIn ("missing script or module to run" , stderr )
4766- stdout , stderr = self ._run_pdb (['-x' , '--' , os_helper .TESTFN ], 'q' , expected_returncode = 2 )
4767- self .assertIn ("unrecognized arguments: -x" , stderr )
4768- stdout , _ = self ._run_pdb ([os_helper .TESTFN , '--' , 'arg' ], 'c\n q' )
4769- self .assertIn ("ARGS: ['--', 'arg']" , stdout )
4770- with os_helper .temp_cwd ():
4771- with open ('mymod.py' , 'w' , encoding = 'utf-8' ) as f :
4772- f .write (script )
4773- stdout , _ = self ._run_pdb (['-m' , 'mymod' , '--' , 'arg' ], 'c\n q' )
4774- self .assertIn ("ARGS: ['--', 'arg']" , stdout )
47754776
47764777class ChecklineTests (unittest .TestCase ):
47774778 def setUp (self ):
0 commit comments