Skip to content

Commit f748779

Browse files
authored
Merge pull request #480 from pytest-dev/funny-arg-validation
Improve argument validation a bit.
2 parents f62c9eb + d976cde commit f748779

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/pytest_cov/plugin.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,23 @@ def validate_report(arg):
5656

5757
def validate_fail_under(num_str):
5858
try:
59-
return int(num_str)
59+
value = int(num_str)
6060
except ValueError:
61-
return float(num_str)
61+
try:
62+
value = float(num_str)
63+
except ValueError:
64+
raise argparse.ArgumentTypeError('An integer or float value is required.')
65+
if value > 100:
66+
raise argparse.ArgumentTypeError('Your desire for over-achievement is admirable but misplaced. '
67+
'The maximum value is 100. Perhaps write more integration tests?')
68+
return value
6269

6370

6471
def validate_context(arg):
6572
if coverage.version_info <= (5, 0):
6673
raise argparse.ArgumentTypeError('Contexts are only supported with coverage.py >= 5.x')
6774
if arg != "test":
68-
raise argparse.ArgumentTypeError('--cov-context=test is the only supported value')
75+
raise argparse.ArgumentTypeError('The only supported value is "test".')
6976
return arg
7077

7178

0 commit comments

Comments
 (0)