diff options
author | Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> | 2014-03-25 12:01:00 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-09-02 10:43:21 +0200 |
commit | 3ce85a5f5264e7118beb6524e120fd8b53a13da4 (patch) | |
tree | ec46ff937a47518ff9ed0f4dd67ebf2157fbc4bf /contrib/ci/deps.sh | |
parent | 6b5044001e4b0a0caf971a2cf5f27674e0d270f4 (diff) | |
download | sssd-3ce85a5f5264e7118beb6524e120fd8b53a13da4.tar.gz sssd-3ce85a5f5264e7118beb6524e120fd8b53a13da4.tar.xz sssd-3ce85a5f5264e7118beb6524e120fd8b53a13da4.zip |
Add basic support for CI test execution
Add basic support for executing continuous integration (CI) tests on
RHEL6, RHEL7, Fedora 20, Fedora Rawhide and Debian Testing.
This adds two front-end scripts which can be executed either locally by
developers, or on a CI server: contrib/ci/run and contrib/ci/clean.
The first one will run the tests and the second will wipe out the
artifacts.
See contrib/ci/README.md for further details.
Reviewed-by: Michal Židek <mzidek@redhat.com>
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'contrib/ci/deps.sh')
-rw-r--r-- | contrib/ci/deps.sh | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/ci/deps.sh b/contrib/ci/deps.sh new file mode 100644 index 000000000..ba59f7848 --- /dev/null +++ b/contrib/ci/deps.sh @@ -0,0 +1,119 @@ +# +# Dependency management. +# +# Copyright (C) 2014 Red Hat +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +if [ -z ${_DEPS_SH+set} ]; then +declare -r _DEPS_SH= + +. distro.sh + +# Dependency list +declare -a DEPS_LIST=( + lcov + valgrind + xqilla +) + +# True, if all test dependencies are satisfied by the package list +declare DEPS_TESTS_SATISFIED=true + +if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then + declare _DEPS_LIST_SPEC + DEPS_LIST+=( + clang-analyzer + mock + rpm-build + ) + _DEPS_LIST_SPEC=` + sed -e 's/@PACKAGE_VERSION@/0/g' \ + -e 's/@PACKAGE_NAME@/package-name/g' \ + -e 's/@PRERELEASE_VERSION@//g' contrib/sssd.spec.in | + rpm-spec-builddeps /dev/stdin` + readarray -t -O "${#DEPS_LIST[@]}" DEPS_LIST <<<"$_DEPS_LIST_SPEC" + if [[ "$DISTRO_BRANCH" == *-redhatenterprise*-6.*- ]]; then + DEPS_TESTS_SATISFIED=false + fi +fi + +if [[ "$DISTRO_BRANCH" == -debian-* ]]; then + DEPS_LIST+=( + autoconf + automake + autopoint + check + cifs-utils + clang + dh-apparmor + dnsutils + docbook-xml + docbook-xsl + gettext + krb5-config + libaugeas-dev + libc-ares-dev + libcmocka-dev + libcollection-dev + libdbus-1-dev + libdhash-dev + libglib2.0-dev + libini-config-dev + libkeyutils-dev + libkrb5-dev + libldap2-dev + libldb-dev + libltdl-dev + libnl-3-dev + libnl-route-3-dev + libnspr4-dev + libnss3-dev + libpam0g-dev + libpcre3-dev + libpopt-dev + libsasl2-dev + libselinux1-dev + libsemanage1-dev + libsmbclient-dev + libsystemd-journal-dev + libtalloc-dev + libtdb-dev + libtevent-dev + libtool + libxml2-utils + python-dev + samba-dev + systemd + xml-core + xsltproc + ) +fi + +declare -a -r DEPS_LIST +declare -r DEPS_TESTS_SATISFIED + +# Install dependencies. +function deps_install() +{ + distro_pkg_install "${DEPS_LIST[@]}" +} + +# Remove dependencies. +function deps_remove() +{ + distro_pkg_remove "${DEPS_LIST[@]}" +} + +fi # _DEPS_SH |