diff options
| author | Julian Lettner <jlettner@apple.com> | 2019-10-14 23:43:18 +0000 |
|---|---|---|
| committer | Julian Lettner <jlettner@apple.com> | 2019-10-14 23:43:18 +0000 |
| commit | 98aa3c1de985ad42e999bae0264979d293274a91 (patch) | |
| tree | 9fdf7285efc6a569e60b6e0a7a8adff7adf42f75 /llvm | |
| parent | ed57fb7665e5d42d516b6705c51700e4292cb977 (diff) | |
| download | bcm5719-llvm-98aa3c1de985ad42e999bae0264979d293274a91.tar.gz bcm5719-llvm-98aa3c1de985ad42e999bae0264979d293274a91.zip | |
[lit] Add argument check: --timeout must be non-negative integer
llvm-svn: 374847
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/utils/lit/lit/cl_arguments.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/llvm/utils/lit/lit/cl_arguments.py b/llvm/utils/lit/lit/cl_arguments.py index bf44a31513d..8d4bf06939f 100644 --- a/llvm/utils/lit/lit/cl_arguments.py +++ b/llvm/utils/lit/lit/cl_arguments.py @@ -121,7 +121,7 @@ def parse_args(): dest="maxIndividualTestTime", help="Maximum time to spend running a single test (in seconds). " "0 means no time limit. [Default: 0]", - type=int, + type=_non_negative_int, default=None) execution_group.add_argument("--max-failures", dest="maxFailures", @@ -202,14 +202,20 @@ def parse_args(): return opts def _positive_int(arg): - desc = "requires positive integer, but found '{}'" + return _int(arg, 'positive', lambda i: i > 0) + +def _non_negative_int(arg): + return _int(arg, 'non-negative', lambda i: i >= 0) + +def _int(arg, kind, pred): + desc = "requires {} integer, but found '{}'" try: - n = int(arg) + i = int(arg) except ValueError: - raise _error(desc, arg) - if n <= 0: - raise _error(desc, arg) - return n + raise _error(desc, kind, arg) + if not pred(i): + raise _error(desc, kind, arg) + return i def _case_insensitive_regex(arg): import re |

