mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	bpo-40003: test.bisect_cmd copies Python options (GH-19246)
test.bisect_cmd now copies Python command line options like -O or -W. Moreover, emit a warning if test.bisect_cmd is used with -w/--verbose2 option.
This commit is contained in:
		
							parent
							
								
									8d84adcd73
								
							
						
					
					
						commit
						01e743d704
					
				
					 2 changed files with 17 additions and 2 deletions
				
			
		| 
						 | 
					@ -47,8 +47,16 @@ def format_shell_args(args):
 | 
				
			||||||
    return ' '.join(args)
 | 
					    return ' '.join(args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def python_cmd():
 | 
				
			||||||
 | 
					    cmd = [sys.executable]
 | 
				
			||||||
 | 
					    cmd.extend(subprocess._args_from_interpreter_flags())
 | 
				
			||||||
 | 
					    cmd.extend(subprocess._optim_args_from_interpreter_flags())
 | 
				
			||||||
 | 
					    return cmd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def list_cases(args):
 | 
					def list_cases(args):
 | 
				
			||||||
    cmd = [sys.executable, '-m', 'test', '--list-cases']
 | 
					    cmd = python_cmd()
 | 
				
			||||||
 | 
					    cmd.extend(['-m', 'test', '--list-cases'])
 | 
				
			||||||
    cmd.extend(args.test_args)
 | 
					    cmd.extend(args.test_args)
 | 
				
			||||||
    proc = subprocess.run(cmd,
 | 
					    proc = subprocess.run(cmd,
 | 
				
			||||||
                          stdout=subprocess.PIPE,
 | 
					                          stdout=subprocess.PIPE,
 | 
				
			||||||
| 
						 | 
					@ -68,7 +76,8 @@ def run_tests(args, tests, huntrleaks=None):
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        write_tests(tmp, tests)
 | 
					        write_tests(tmp, tests)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cmd = [sys.executable, '-m', 'test', '--matchfile', tmp]
 | 
					        cmd = python_cmd()
 | 
				
			||||||
 | 
					        cmd.extend(['-m', 'test', '--matchfile', tmp])
 | 
				
			||||||
        cmd.extend(args.test_args)
 | 
					        cmd.extend(args.test_args)
 | 
				
			||||||
        print("+ %s" % format_shell_args(cmd))
 | 
					        print("+ %s" % format_shell_args(cmd))
 | 
				
			||||||
        proc = subprocess.run(cmd)
 | 
					        proc = subprocess.run(cmd)
 | 
				
			||||||
| 
						 | 
					@ -100,6 +109,9 @@ def parse_args():
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    args = parse_args()
 | 
					    args = parse_args()
 | 
				
			||||||
 | 
					    if '-w' in args.test_args or '--verbose2' in args.test_args:
 | 
				
			||||||
 | 
					        print("WARNING: -w/--verbose2 option should not be used to bisect!")
 | 
				
			||||||
 | 
					        print()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if args.input:
 | 
					    if args.input:
 | 
				
			||||||
        with open(args.input) as fp:
 | 
					        with open(args.input) as fp:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					``test.bisect_cmd`` now copies Python command line options like ``-O`` or
 | 
				
			||||||
 | 
					``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
 | 
				
			||||||
 | 
					``-w``/``--verbose2`` option.
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue