diff options
Diffstat (limited to 'tests/basic/rpm.t')
| -rwxr-xr-x | tests/basic/rpm.t | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/tests/basic/rpm.t b/tests/basic/rpm.t deleted file mode 100755 index a577726a82b..00000000000 --- a/tests/basic/rpm.t +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash -# -# This test will run mock and rebuild the srpm for the latest two EPEL version. -# By default, the results and the chroots are deleted. -# -# When debugging is needed, make sure to set DEBUG=1 in the environment or this -# script. When debugging is enabled, the resulting log files and chroots are -# kept. With debugging enabled, this test will fail the regression test, and -# all output is saved to rpmbuild-mock.log. Tests are run in parallel, so the -# logfile may be difficult to read. -# -# chroots are configured in /etc/mock/*.cfg, with site-defaults.cfg as main -# configuration file. The default for chroots is /var/lib/mock, but this -# depends on the 'basedir' configuration option set in the mentioned files. -# - -. $(dirname $0)/../include.rc - -# enable some extra debugging -if [ -n "${DEBUG}" -a "${DEBUG}" != "0" ] -then - exec &> rpmbuild-mock.log - set -x - MOCK_CLEANUP='--no-cleanup-after' -else - MOCK_CLEANUP='--cleanup-after' -fi - -# detect the branch we're based off -if [ -n "${BRANCH}" ] ; then - # $BRANCH is set in the environment (by Jenkins or other) - GIT_PARENT="origin/${BRANCH}" -else - # get a reference to the latest clean tree - GIT_PARENT=$(git describe --abbrev=0) -fi - -# Filter out everything and what remains needs to be built -BUILD_FILES=$(git diff --name-status ${GIT_PARENT} | grep -Ev '^M.*\.(c|h|py)' | awk {'print $2'}) -SELFTEST=$(grep -e 'tests/basic/rpm.t' <<< "${BUILD_FILES}") -BUILD_FILES=$(grep -Ev '^tests/' <<< "${BUILD_FILES}") -if [ -z "${BUILD_FILES}" -a -z "${SELFTEST}" ] -then - # nothing affecting packaging changed, no need to retest rpmbuild - SKIP_TESTS - cleanup - exit 0 -fi - -# checkout the sources to a new directory to execute ./configure and all -REPO=${PWD} -COMMIT=$(git describe) -mkdir rpmbuild-mock.d -pushd rpmbuild-mock.d 2>/dev/null -git clone -q -s file://${REPO} . -git checkout -q -b rpm-test ${COMMIT} - -# build the glusterfs-*.tar.gz -[ -e configure ] || ./autogen.sh 2>&1 > /dev/null -TEST ./configure --enable-fusermount -TEST make dist - -# build the glusterfs src.rpm -ls extras -TEST make -C extras/LinuxRPM testsrpm - -# build for the last two Fedora EPEL releases (x86_64 only) -for MOCK_CONF in $(ls -x1 /etc/mock/*.cfg | egrep -e 'epel-[0-9]+-x86_64.cfg$' | tail -n2) -do - EPEL_RELEASE=$(basename ${MOCK_CONF} .cfg) - # expand the mock command line - MOCK_CMD="/usr/bin/mock ${MOCK_CLEANUP} \ - -r ${EPEL_RELEASE} --rebuild ${PWD}/*.src.rpm" - - # write the mock command to a file, so that its easier to execute - cat << EOF > mock-${EPEL_RELEASE}.sh -#!/bin/sh -${MOCK_CMD} -EOF - chmod +x mock-${EPEL_RELEASE}.sh - - # root can not run 'mock', it needs to drop priviledges - if (groups | grep -q mock) - then - # the current user is in group 'mock' - ${PWD}/mock-${EPEL_RELEASE}.sh & - else - # "su" might not work, using sudo instead - sudo -u mock -E ${PWD}/mock-${EPEL_RELEASE}.sh & - fi - sleep 5 -done - -# TAP and Prove aren't smart about loops -TESTS_EXPECTED_IN_LOOP=2 -for mockjob in $(jobs -p) -do - TEST_IN_LOOP wait ${mockjob} -done - -# we could build for the last two Fedora releases too, but that is not -# possible on EPEL-5/6 installations, Fedora 17 and newer have unmet -# dependencies on the build-server :-/ - -popd 2>/dev/null -# only remove rpmbuild-mock.d if we're not debugging -[ "${DEBUG}" = "0" ] && rm -rf rpmbuild-mock.d - -cleanup |
