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 | |
| 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
| -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  | 

