diff options
Diffstat (limited to 'run_tests')
| -rwxr-xr-x | run_tests | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/run_tests b/run_tests new file mode 100755 index 00000000..f72b22c5 --- /dev/null +++ b/run_tests | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | #!/usr/bin/python | ||
| 2 | # -*- coding:utf-8 -*- | ||
| 3 | # Copyright 2019 The Android Open Source Project | ||
| 4 | # | ||
| 5 | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 6 | # you may not use this file except in compliance with the License. | ||
| 7 | # You may obtain a copy of the License at | ||
| 8 | # | ||
| 9 | # http://www.apache.org/licenses/LICENSE-2.0 | ||
| 10 | # | ||
| 11 | # Unless required by applicable law or agreed to in writing, software | ||
| 12 | # distributed under the License is distributed on an "AS IS" BASIS, | ||
| 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 14 | # See the License for the specific language governing permissions and | ||
| 15 | # limitations under the License. | ||
| 16 | |||
| 17 | """Wrapper to run pytest with the right settings.""" | ||
| 18 | |||
| 19 | from __future__ import print_function | ||
| 20 | |||
| 21 | import errno | ||
| 22 | import os | ||
| 23 | import subprocess | ||
| 24 | import sys | ||
| 25 | |||
| 26 | |||
| 27 | def run_pytest(cmd, argv): | ||
| 28 | """Run the unittests via |cmd|.""" | ||
| 29 | try: | ||
| 30 | subprocess.check_call([cmd] + argv) | ||
| 31 | return 0 | ||
| 32 | except OSError as e: | ||
| 33 | if e.errno == errno.ENOENT: | ||
| 34 | print('%s: unable to run `%s`: %s' % (__file__, cmd, e), file=sys.stderr) | ||
| 35 | print('%s: Try installing pytest: sudo apt-get install python-pytest' % | ||
| 36 | (__file__,), file=sys.stderr) | ||
| 37 | return 1 | ||
| 38 | else: | ||
| 39 | raise | ||
| 40 | |||
| 41 | |||
| 42 | def main(argv): | ||
| 43 | """The main entry.""" | ||
| 44 | # Add the repo tree to PYTHONPATH as the tests expect to be able to import | ||
| 45 | # modules directly. | ||
| 46 | topdir = os.path.dirname(os.path.realpath(__file__)) | ||
| 47 | pythonpath = os.environ.get('PYTHONPATH', '') | ||
| 48 | os.environ['PYTHONPATH'] = '%s:%s' % (topdir, pythonpath) | ||
| 49 | |||
| 50 | return run_pytest('pytest', argv) | ||
| 51 | |||
| 52 | |||
| 53 | if __name__ == '__main__': | ||
| 54 | sys.exit(main(sys.argv[1:])) | ||
