mirror of
https://github.com/valitydev/yandex-tank.git
synced 2024-11-07 10:49:00 +00:00
97 lines
2.6 KiB
Python
Executable File
97 lines
2.6 KiB
Python
Executable File
#! /usr/bin/env python2
|
|
from consoleworker import ConsoleTank, CompletionHelperOptionParser
|
|
from optparse import OptionParser
|
|
import logging
|
|
import sys
|
|
import traceback
|
|
|
|
|
|
def main():
|
|
parser = OptionParser()
|
|
parser.add_option(
|
|
'-c',
|
|
'--config',
|
|
action='append',
|
|
help="Path to INI file containing run options, multiple options accepted"
|
|
)
|
|
parser.add_option(
|
|
'-f',
|
|
'--fail-lock',
|
|
action='store_true',
|
|
dest='lock_fail',
|
|
help="Don't wait for lock to release, fail test instead")
|
|
parser.add_option(
|
|
'-i',
|
|
'--ignore-lock',
|
|
action='store_true',
|
|
dest='ignore_lock',
|
|
help="Ignore lock files from concurrent instances, has precedence before --lock-fail"
|
|
)
|
|
parser.add_option(
|
|
'-k',
|
|
'--lock-dir',
|
|
action='store',
|
|
dest='lock_dir',
|
|
type="string",
|
|
help="Directory for lock file")
|
|
parser.add_option(
|
|
'-l',
|
|
'--log',
|
|
action='store',
|
|
default="tank.log",
|
|
help="Tank log file location")
|
|
parser.add_option(
|
|
'-m',
|
|
'--manual-start',
|
|
action='store_true',
|
|
dest='manual_start',
|
|
help="Wait for Enter key to start the test")
|
|
parser.add_option(
|
|
'-n',
|
|
'--no-rc',
|
|
action='store_true',
|
|
dest='no_rc',
|
|
help="Don't load config files from /etc/yandex-tank and ~/.yandex-tank"
|
|
)
|
|
parser.add_option(
|
|
'-o',
|
|
'--option',
|
|
action='append',
|
|
help="Set config option, multiple options accepted, example: -o 'shellexec.start=pwd'"
|
|
)
|
|
parser.add_option(
|
|
'-q',
|
|
'--quiet',
|
|
action='store_true',
|
|
help="Less console output, only errors and warnings"
|
|
)
|
|
parser.add_option(
|
|
'-s',
|
|
'--scheduled-start',
|
|
action='store',
|
|
dest='scheduled_start',
|
|
help="Start test at specified time, format 'YYYY-MM-DD hh:mm:ss', date part is optional"
|
|
)
|
|
parser.add_option(
|
|
'-v',
|
|
'--verbose',
|
|
action='store_true',
|
|
help="More console output, +debug messages"
|
|
)
|
|
|
|
completion_helper = CompletionHelperOptionParser()
|
|
completion_helper.handle_request(parser)
|
|
|
|
options, ammofile = parser.parse_args()
|
|
|
|
worker = ConsoleTank(options, ammofile)
|
|
worker.init_logging()
|
|
try:
|
|
worker.configure()
|
|
rc = worker.perform_test()
|
|
sys.exit(rc)
|
|
except Exception, ex:
|
|
logging.error("Exception: %s", ex)
|
|
logging.debug("Exception: %s", traceback.format_exc(ex))
|
|
sys.exit(1)
|