diff options
Diffstat (limited to 'contrib/compiler-rt/lib/sanitizer_common/scripts/litlint.py')
-rwxr-xr-x | contrib/compiler-rt/lib/sanitizer_common/scripts/litlint.py | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/contrib/compiler-rt/lib/sanitizer_common/scripts/litlint.py b/contrib/compiler-rt/lib/sanitizer_common/scripts/litlint.py deleted file mode 100755 index 81b89c214438..000000000000 --- a/contrib/compiler-rt/lib/sanitizer_common/scripts/litlint.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python -# -# litlint -# -# Ensure RUN commands in lit tests are free of common errors. -# -# If any errors are detected, litlint returns a nonzero exit code. -# - -import optparse -import re -import sys - -# Compile regex once for all files -runRegex = re.compile(r'(?<!-o)(?<!%run) %t\s') - -def LintLine(s): - """ Validate a line - - Args: - s: str, the line to validate - - Returns: - Returns an error message and a 1-based column number if an error was - detected, otherwise (None, None). - """ - - # Check that RUN command can be executed with an emulator - m = runRegex.search(s) - if m: - start, end = m.span() - return ('missing %run before %t', start + 2) - - # No errors - return (None, None) - - -def LintFile(p): - """ Check that each RUN command can be executed with an emulator - - Args: - p: str, valid path to a file - - Returns: - The number of errors detected. - """ - errs = 0 - with open(p, 'r') as f: - for i, s in enumerate(f.readlines(), start=1): - msg, col = LintLine(s) - if msg != None: - errs += 1 - errorMsg = 'litlint: {}:{}:{}: error: {}.\n{}{}\n' - arrow = (col-1) * ' ' + '^' - sys.stderr.write(errorMsg.format(p, i, col, msg, s, arrow)) - return errs - - -if __name__ == "__main__": - # Parse args - parser = optparse.OptionParser() - parser.add_option('--filter') # ignored - (options, filenames) = parser.parse_args() - - # Lint each file - errs = 0 - for p in filenames: - errs += LintFile(p) - - # If errors, return nonzero - if errs > 0: - sys.exit(1) |