diff options
Diffstat (limited to 'scripts/run.py')
-rwxr-xr-x | scripts/run.py | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/scripts/run.py b/scripts/run.py deleted file mode 100755 index 85871fab..00000000 --- a/scripts/run.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python -# -# grakiss.wanglei@huawei.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -# - - -import click -import yaml -import os -import time - -import utils.dovetail_logger as dt_logger -import utils.dovetail_utils as dt_utils - - -from container import Container -from testcase import * -from report import * -from conf.dovetail_config import * - -logger = dt_logger.Logger('run.py').getLogger() - -def load_scenario(scenario): - Scenario.load() - return Scenario.get(SCENARIO_NAMING_FMT % scenario) - -def load_testcase(): - Testcase.load() - -def run_test(scenario): - for testcase_name in scenario['testcase_list']: - logger.info('>>[testcase]: %s' % (testcase_name)) - testcase = Testcase.get(testcase_name) - run_testcase = True - - if testcase.exceed_max_retry_times(): - run_testcase = False - - if testcase.script_result_acquired(): - run_testcase = False - - if run_testcase: - Container.pull_image(testcase.script_type()) - container_id = Container.create(testcase.script_type()) - logger.debug('container id:%s' % container_id) - - if not Testcase.prepared(testcase.script_type()): - cmds = Testcase.pre_condition(testcase.script_type())['cmds'] - if cmds: - for cmd in cmds: - Container.exec_cmd(container_id, cmd) - Testcase.prepared(testcase.script_type(),True) - - if not testcase.prepare_cmd(): - logger.error('failed to prepare testcase:%s' % testcase.name()) - else: - for cmd in testcase.cmds: - Container.exec_cmd(container_id, cmd) - - #testcase.post_condition() - - Container.clean(container_id) - - db_result = Report.get_result(testcase) - Report.check_result(testcase, db_result) - -@click.command() -@click.option('--scenario', default='basic', help='certification scenario') -def main(scenario): - """Dovetail certification test entry!""" - logger.info('=======================================') - logger.info('Dovetail certification: %s!' % scenario) - logger.info('=======================================') - load_testcase() - scenario_yaml = load_scenario(scenario) - run_test(scenario_yaml) - Report.generate(scenario_yaml) - -if __name__ == '__main__': - main() |