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