diff options
author | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 |
commit | e573b3020c032400eed60b649a2cbf55266e6bb0 (patch) | |
tree | 8f572394ac8433529c7a8e70d160a2fbe8268b4e /vim/bundle/YouCompleteMe/run_tests.py | |
parent | b8c667bd64b3edd38d56c63c5bd1db53a23b4499 (diff) | |
download | myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.gz myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.bz2 myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.zip |
Add current configurations from old repository
Diffstat (limited to 'vim/bundle/YouCompleteMe/run_tests.py')
-rwxr-xr-x | vim/bundle/YouCompleteMe/run_tests.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vim/bundle/YouCompleteMe/run_tests.py b/vim/bundle/YouCompleteMe/run_tests.py new file mode 100755 index 0000000..c837b9f --- /dev/null +++ b/vim/bundle/YouCompleteMe/run_tests.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +import os +import subprocess +import os.path as p +import sys + +DIR_OF_THIS_SCRIPT = p.dirname( p.abspath( __file__ ) ) +DIR_OF_THIRD_PARTY = p.join( DIR_OF_THIS_SCRIPT, 'third_party' ) +DIR_OF_YCMD_THIRD_PARTY = p.join( DIR_OF_THIRD_PARTY, 'ycmd', 'third_party' ) + +python_path = [] +for folder in os.listdir( DIR_OF_THIRD_PARTY ): + python_path.append( p.abspath( p.join( DIR_OF_THIRD_PARTY, folder ) ) ) +for folder in os.listdir( DIR_OF_YCMD_THIRD_PARTY ): + # We skip python-future because it needs to be inserted in sys.path AFTER + # the standard library imports but we can't do that with PYTHONPATH because + # the std lib paths are always appended to PYTHONPATH. We do it correctly in + # prod in ycmd/utils.py because we have access to the right sys.path. + # So for dev, we rely on python-future being installed correctly with + # pip install -r test_requirements.txt + # + # Pip knows how to install this correctly so that it doesn't matter where in + # sys.path the path is. + if folder == 'python-future': + continue + python_path.append( p.abspath( p.join( DIR_OF_YCMD_THIRD_PARTY, folder ) ) ) +if os.environ.get( 'PYTHONPATH' ): + python_path.append( os.environ[ 'PYTHONPATH' ] ) +os.environ[ 'PYTHONPATH' ] = os.pathsep.join( python_path ) + +sys.path.insert( 1, p.abspath( p.join( DIR_OF_YCMD_THIRD_PARTY, + 'argparse' ) ) ) + +import argparse + + +def RunFlake8(): + print( 'Running flake8' ) + subprocess.check_call( [ + 'flake8', + p.join( DIR_OF_THIS_SCRIPT, 'python' ) + ] ) + + +def ParseArguments(): + parser = argparse.ArgumentParser() + parser.add_argument( '--skip-build', action = 'store_true', + help = 'Do not build ycmd before testing.' ) + parser.add_argument( '--no-flake8', action = 'store_true', + help = 'Do not run flake8' ) + + return parser.parse_known_args() + + +def BuildYcmdLibs( args ): + if not args.skip_build: + subprocess.check_call( [ + sys.executable, + p.join( DIR_OF_THIS_SCRIPT, 'third_party', 'ycmd', 'build.py' ) + ] ) + + +def NoseTests( extra_args ): + subprocess.check_call( [ + 'nosetests', + '-v', + '-w', + p.join( DIR_OF_THIS_SCRIPT, 'python' ) + ] + extra_args ) + + +def Main(): + ( parsed_args, extra_args ) = ParseArguments() + if not parsed_args.no_flake8: + RunFlake8() + BuildYcmdLibs( parsed_args ) + NoseTests( extra_args ) + +if __name__ == "__main__": + Main() |