#!/bin/sh # Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Author: Aleksander Mistewicz export TSP_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)" . "${TSP_DIR}/common.sh" echo "Remove crontab" crontab -r kill_running() { echo "[$@] Kill every running job" for i in $(eval $@ | grep "running" | grep -o "^[0-9]*") do kill "$(eval $@ -p "$i")" done } remove_queued() { echo "[$@] Remove every queued job" for i in $(eval $@ | grep "queued" | grep -o "^[0-9]*") do eval $@ -r "$i" done } echo "Save dispatched SRs" tsmaster | grep "running\|queued" | grep -o "http://.*/" | sort -u >> "${WS_WATCHER}/manual_urls" echo "Stop master queues" for queue in "tsmaster" "tspoll" "tspwb" do remove_queued $queue kill_running $queue echo "[$queue] Kill server" eval $queue -K done echo "Stop runner queues" echo "Queued tests will be lost" for target in ${TARGET_LIST} do remove_queued tsrun_target $target done echo "Wait for last tests to finish and kill server" for target in ${TARGET_LIST} do echo "[$target] wait for running job" tsrun_target $target -w echo "[$target] Kill server" tsrun_target $target -K done