parent
							
								
									01df368d93
								
							
						
					
					
						commit
						b01704cce1
					
				
							
								
								
									
										1
									
								
								AUTHORS
								
								
								
								
							
							
						
						
									
										1
									
								
								AUTHORS
								
								
								
								
							|  | @ -46,6 +46,7 @@ Christian Boelsen | ||||||
| Christian Theunert | Christian Theunert | ||||||
| Christian Tismer | Christian Tismer | ||||||
| Christopher Gilling | Christopher Gilling | ||||||
|  | CrazyMerlyn | ||||||
| Cyrus Maden | Cyrus Maden | ||||||
| Dhiren Serai | Dhiren Serai | ||||||
| Daniel Grana | Daniel Grana | ||||||
|  |  | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called with unknown arguments. | ||||||
|  | @ -2,8 +2,13 @@ import six | ||||||
| import warnings | import warnings | ||||||
| import argparse | import argparse | ||||||
| 
 | 
 | ||||||
|  | from gettext import gettext as _ | ||||||
|  | import sys as _sys | ||||||
|  | 
 | ||||||
| import py | import py | ||||||
| 
 | 
 | ||||||
|  | from ..main import EXIT_USAGEERROR | ||||||
|  | 
 | ||||||
| FILE_OR_DIR = "file_or_dir" | FILE_OR_DIR = "file_or_dir" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -329,6 +334,16 @@ class MyOptionParser(argparse.ArgumentParser): | ||||||
|         # an usage error to provide more contextual information to the user |         # an usage error to provide more contextual information to the user | ||||||
|         self.extra_info = extra_info |         self.extra_info = extra_info | ||||||
| 
 | 
 | ||||||
|  |     def error(self, message): | ||||||
|  |         """error(message: string) | ||||||
|  | 
 | ||||||
|  |         Prints a usage message incorporating the message to stderr and | ||||||
|  |         exits. | ||||||
|  |         Overrides the method in parent class to change exit code""" | ||||||
|  |         self.print_usage(_sys.stderr) | ||||||
|  |         args = {"prog": self.prog, "message": message} | ||||||
|  |         self.exit(EXIT_USAGEERROR, _("%(prog)s: error: %(message)s\n") % args) | ||||||
|  | 
 | ||||||
|     def parse_args(self, args=None, namespace=None): |     def parse_args(self, args=None, namespace=None): | ||||||
|         """allow splitting of positional arguments""" |         """allow splitting of positional arguments""" | ||||||
|         args, argv = self.parse_known_args(args, namespace) |         args, argv = self.parse_known_args(args, namespace) | ||||||
|  |  | ||||||
|  | @ -1061,3 +1061,8 @@ def test_fixture_mock_integration(testdir): | ||||||
|     p = testdir.copy_example("acceptance/fixture_mock_integration.py") |     p = testdir.copy_example("acceptance/fixture_mock_integration.py") | ||||||
|     result = testdir.runpytest(p) |     result = testdir.runpytest(p) | ||||||
|     result.stdout.fnmatch_lines("*1 passed*") |     result.stdout.fnmatch_lines("*1 passed*") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def test_usage_error_code(testdir): | ||||||
|  |     result = testdir.runpytest("-unknown-option-") | ||||||
|  |     assert result.ret == EXIT_USAGEERROR | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue