@@ -4643,6 +4643,27 @@ def bar():
46434643 ]))
46444644 self .assertIn ('break in bar' , stdout )
46454645
4646+ def test_end_of_options_separator (self ):
4647+ # gh-148615: Test parsing when '--' separator is used
4648+ script = "import sys; print(f'ARGS: {sys.argv[1:]}')"
4649+ with open (os_helper .TESTFN , 'w' , encoding = 'utf-8' ) as f :
4650+ f .write (script )
4651+ stdout , _ = self ._run_pdb (['--' , os_helper .TESTFN , '-foo' ], 'c\n q' )
4652+ self .assertIn ("ARGS: ['-foo']" , stdout )
4653+ stdout , _ = self ._run_pdb (['-c' , 'continue' , '--' , os_helper .TESTFN , '-c' , 'foo' ], 'q' )
4654+ self .assertIn ("ARGS: ['-c', 'foo']" , stdout )
4655+ stdout , stderr = self ._run_pdb (['--' ], 'q' , expected_returncode = 2 )
4656+ self .assertIn ("missing script or module to run" , stderr )
4657+ stdout , stderr = self ._run_pdb (['-x' , '--' , os_helper .TESTFN ], 'q' , expected_returncode = 2 )
4658+ self .assertIn ("unrecognized arguments: -x" , stderr )
4659+ stdout , _ = self ._run_pdb ([os_helper .TESTFN , '--' , 'arg' ], 'c\n q' )
4660+ self .assertIn ("ARGS: ['--', 'arg']" , stdout )
4661+ with os_helper .temp_cwd ():
4662+ with open ('mymod.py' , 'w' , encoding = 'utf-8' ) as f :
4663+ f .write (script )
4664+ stdout , _ = self ._run_pdb (['-m' , 'mymod' , '--' , 'arg' ], 'c\n q' )
4665+ self .assertIn ("ARGS: ['--', 'arg']" , stdout )
4666+
46464667 def test_issue_59000 (self ):
46474668 script = """
46484669 def foo():
0 commit comments