openstack-ansible-memcached.../run_tests.sh
Jesse Pretorius 4762f178d3 Used cached git sources and enable depends-on
Many, many patches have gone into the master branch to
enable the use of depends-on for role tests and to make
use of the git clones put into place by zuul. This patch
ensures that this functionality is now available for this
branch too.

The primary benefit for doing this would be to make use
of the cached git clones provided by zuul to improve test
reliability.

The secondary benefit would be to have the ability to
use depends-on to test patches together.

However, this will come at the cost of requiring a tox
configuration change, and the implementation of the
tests/tests-repo-clone.sh and run_tests.sh scripts
across all repositories.

Change-Id: I46a0307fdf223ec21ad3a8477a73853df729da7d
Depends-On: Ia806f19e00703c53f03a2420dbac1da4ba68db6c
2017-11-06 18:20:58 +00:00

61 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright 2015, Rackspace US, Inc.
#
# 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.
#
# Note:
# This file is maintained in the openstack-ansible-tests repository.
# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/run_tests.sh
# If you need to modify this file, update the one in the openstack-ansible-tests
# repository and then update this file as well. The purpose of this file is to
# prepare the host and then execute all the tox tests.
#
## Shell Opts ----------------------------------------------------------------
set -xeu
## Vars ----------------------------------------------------------------------
export WORKING_DIR=${WORKING_DIR:-$(pwd)}
## Main ----------------------------------------------------------------------
source /etc/os-release || source /usr/lib/os-release
install_pkg_deps() {
pkg_deps="git"
# Prefer dnf over yum for CentOS.
which dnf &>/dev/null && RHT_PKG_MGR='dnf' || RHT_PKG_MGR='yum'
case ${ID,,} in
*suse*) pkg_mgr_cmd="zypper -n in" ;;
centos|rhel) pkg_mgr_cmd="${RHT_PKG_MGR} install -y" ;;
fedora) pkg_mgr_cmd="dnf -y install" ;;
ubuntu|debian) pkg_mgr_cmd="apt-get install -y" ;;
*) echo "unsupported distribution: ${ID,,}"; exit 1 ;;
esac
eval sudo $pkg_mgr_cmd $pkg_deps
}
# Install the host distro package dependencies
install_pkg_deps
# Clone the tests repo for access to the common test script
source tests/tests-repo-clone.sh
# Execute the common test script
source tests/common/run_tests_common.sh