1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env python3
- from __future__ import print_function
- import argparse
- import os
- import re
- import subprocess
- import sys
- SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
- def main():
- args = parse_args()
- chromedriver_name = {
- 'darwin': 'chromedriver',
- 'win32': 'chromedriver.exe',
- 'linux': 'chromedriver',
- 'linux2': 'chromedriver'
- }
- chromedriver_path = os.path.join(
- args.source_root, args.build_dir, chromedriver_name[sys.platform])
- proc = subprocess.Popen([chromedriver_path],
- stdout=subprocess.PIPE, universal_newlines=True)
- try:
- output = proc.stdout.readline()
- except KeyboardInterrupt:
- returncode = 0
- finally:
- proc.terminate()
- returncode = 0
- match = re.search(
- '^Starting ChromeDriver [0-9]+.[0-9]+.[0-9]+.[0-9]+ .* on port [0-9]+$',
- output
- )
- if match is None:
- returncode = 1
- if returncode == 0:
- print('ok ChromeDriver is able to be initialized.')
- return returncode
- def parse_args():
- parser=argparse.ArgumentParser(description='Test ChromeDriver')
- parser.add_argument('--source-root',
- default=SOURCE_ROOT,
- required=False)
- parser.add_argument('--build-dir',
- default=None,
- required=True)
- return parser.parse_args()
- if __name__ == '__main__':
- sys.exit(main())
|