From be89db5bad4c50fa868c64b22a0b6528042f80a0 Mon Sep 17 00:00:00 2001 From: lethosor Date: Sun, 15 Mar 2015 23:29:08 -0400 Subject: [PATCH] Implement ruby syntax checks --- .travis.yml | 3 ++- travis/luac.py | 24 ------------------------ travis/script-syntax.py | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 25 deletions(-) delete mode 100644 travis/luac.py create mode 100644 travis/script-syntax.py diff --git a/.travis.yml b/.travis.yml index cf88c543f..b93f99312 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,8 @@ before_install: script: - python travis/pr-check-base.py - python travis/lint.py -- python travis/luac.py +- python travis/script-syntax.py --ext=lua --cmd="luac$LUA_VERSION -p" +- python travis/script-syntax.py --ext=rb --cmd="ruby -c" - ./fixTexts.sh --force notifications: email: false diff --git a/travis/luac.py b/travis/luac.py deleted file mode 100644 index d38745896..000000000 --- a/travis/luac.py +++ /dev/null @@ -1,24 +0,0 @@ -import os, sys, subprocess - -def main(): - root_path = os.path.abspath(sys.argv[1] if len(sys.argv) > 1 else '.') - if not os.path.exists(root_path): - print('Nonexistent path: %s' % root_path) - sys.exit(2) - err = False - for cur, dirnames, filenames in os.walk(root_path): - parts = cur.replace('\\', '/').split('/') - if '.git' in parts or 'depends' in parts: - continue - for filename in filenames: - if not filename.endswith('.lua'): - continue - full_path = os.path.join(cur, filename) - try: - assert not subprocess.call(['luac' + os.environ.get('LUA_VERSION', ''), '-p', full_path]) - except (subprocess.CalledProcessError, AssertionError): - err = True - sys.exit(int(err)) - -if __name__ == '__main__': - main() diff --git a/travis/script-syntax.py b/travis/script-syntax.py new file mode 100644 index 000000000..984ff1755 --- /dev/null +++ b/travis/script-syntax.py @@ -0,0 +1,32 @@ +import argparse, os, sys, subprocess + +parser = argparse.ArgumentParser() +parser.add_argument('--path', default='.', help='Root directory') +parser.add_argument('--ext', help='Script extension', required=True) +parser.add_argument('--cmd', help='Command', required=True) +args = parser.parse_args() + +def main(): + root_path = os.path.abspath(args.path) + cmd = args.cmd.split(' ') + ext = '.' + args.ext + if not os.path.exists(root_path): + print('Nonexistent path: %s' % root_path) + sys.exit(2) + err = False + for cur, dirnames, filenames in os.walk(root_path): + parts = cur.replace('\\', '/').split('/') + if '.git' in parts or 'depends' in parts: + continue + for filename in filenames: + if not filename.endswith(ext): + continue + full_path = os.path.join(cur, filename) + try: + subprocess.check_output(cmd + [full_path]) + except subprocess.CalledProcessError: + err = True + sys.exit(int(err)) + +if __name__ == '__main__': + main()