From: SerenaFeng Date: Wed, 8 Jun 2016 03:46:56 +0000 (+0800) Subject: add update opnfv-testapi script in testAPI X-Git-Tag: colorado.1.0~385^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=72be73c1f3b3dc873f3f0a4e2f3bc3c6f47ea032;p=releng.git add update opnfv-testapi script in testAPI add file update_api.py JIRA: FUNCTEST-299 Change-Id: Iea882a12bab2e3a92a31a3a8b59fcd57c488dffa Signed-off-by: SerenaFeng --- diff --git a/utils/test/result_collection_api/update/update_api.py b/utils/test/result_collection_api/update/update_api.py new file mode 100644 index 000000000..db8ad2d90 --- /dev/null +++ b/utils/test/result_collection_api/update/update_api.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corporation +# feng.xiaowei@zte.com.cn +# 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 subprocess + +possible_processes = [ + 'result_collection_api', + 'opnfv-testapi' +] + + +def kill_olds(): + for proc in possible_processes: + query = 'ps -ef | grep {} | grep -v grep'.format(proc) + runnings = execute_with_output(query) + if runnings: + for running in runnings: + kill = 'kill -kill ' + running.split()[1] + execute_with_output(kill) + runnings = execute_with_output(query) + assert len(runnings) == 0, 'kill %s failed'.format(proc) + + +def install_dependencies(): + execute_with_assert('pip install -r ../requirements.txt') + + +def install_new(): + execute_with_assert('cd ../ && python setup.py install') + + +def run_new(): + execute_with_assert('opnfv-testapi &') + + +def execute_with_output(cmd): + return subprocess.Popen(cmd, shell=True, + stdout=subprocess.PIPE).stdout.readlines() + + +def execute_with_assert(cmd): + execute_output = subprocess.call(cmd, shell=True) + assert execute_output == 0 + + +if __name__ == '__main__': + kill_olds() + install_dependencies() + install_new() + run_new()