summaryrefslogtreecommitdiffstats
path: root/tests/basic/rpm.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic/rpm.t')
-rwxr-xr-xtests/basic/rpm.t109
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