yandex-tank/tank.py
2014-05-02 04:02:36 +04:00

42 lines
2.2 KiB
Python
Executable File

#! /usr/bin/env python2
from Tank.ConsoleWorker import ConsoleTank, CompletionHelperOptionParser
from optparse import OptionParser
import logging
import os
import sys
import traceback
if __name__ == "__main__":
sys.path.append(os.path.dirname(__file__))
parser = OptionParser()
parser.add_option('-c', '--config', action='append', help="Path to INI file containing run options, multiple options accepted")
parser.add_option( '--lock-dir', action='store', dest='lock_dir', type="string", help="Directory for lock file")
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('-f', '--fail-lock', action='store_true', dest='lock_fail', help="Don't wait for lock to release, fail test instead")
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()
exit(rc)
except Exception, ex:
logging.error("Exception: %s", ex)
logging.debug("Exception: %s", traceback.format_exc(ex))
exit(1)