|
Packit Service |
da4517 |
#!/bin/bash
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
KPATCH_SLOW=0
|
|
Packit Service |
da4517 |
KPATCH_GIT=${KPATCH_GIT:-https://github.com/dynup/kpatch.git}
|
|
Packit Service |
da4517 |
KPATCH_REV=${KPATCH_REV:-HEAD}
|
|
Packit Service |
da4517 |
LOGDIR="/vagrant/logs"
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
usage()
|
|
Packit Service |
da4517 |
{
|
|
Packit Service |
da4517 |
echo "usage: $(basename "${0}") [options]" >&2
|
|
Packit Service |
da4517 |
echo "-h, --help This message" >&2
|
|
Packit Service |
da4517 |
echo "-s, --slow Run all of the tests" >&2
|
|
Packit Service |
da4517 |
echo "-g, --git Git url to clone from" >&2
|
|
Packit Service |
da4517 |
echo "-r, --revision Revision to use (HEAD by default)" >&2
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
options="$(getopt -o "shg:r:" -l "slow,help,git:,revision:" -- "$@")" || "getopt failed"
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
eval set -- "${options}"
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
while [[ $# -gt 0 ]]; do
|
|
Packit Service |
da4517 |
case "$1" in
|
|
Packit Service |
da4517 |
-s|--slow)
|
|
Packit Service |
da4517 |
KPATCH_SLOW=1
|
|
Packit Service |
da4517 |
shift
|
|
Packit Service |
da4517 |
;;
|
|
Packit Service |
da4517 |
-g|--git)
|
|
Packit Service |
da4517 |
KPATCH_GIT="${2}"
|
|
Packit Service |
da4517 |
shift 2
|
|
Packit Service |
da4517 |
;;
|
|
Packit Service |
da4517 |
-r|--revision)
|
|
Packit Service |
da4517 |
KPATCH_REV="${2}"
|
|
Packit Service |
da4517 |
shift 2
|
|
Packit Service |
da4517 |
;;
|
|
Packit Service |
da4517 |
-h|--help)
|
|
Packit Service |
da4517 |
usage
|
|
Packit Service |
da4517 |
exit 0
|
|
Packit Service |
da4517 |
;;
|
|
Packit Service |
da4517 |
--)
|
|
Packit Service |
da4517 |
shift
|
|
Packit Service |
da4517 |
break
|
|
Packit Service |
da4517 |
;;
|
|
Packit Service |
da4517 |
esac
|
|
Packit Service |
da4517 |
done
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
git clone "${KPATCH_GIT}" || exit 1
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
cd kpatch || exit 1
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
git fetch origin +refs/pull/*:refs/pull/*
|
|
Packit Service |
da4517 |
git reset --hard "${KPATCH_REV}" || exit 1
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
# shellcheck disable=SC1091
|
|
Packit Service |
da4517 |
source test/integration/lib.sh
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
kpatch_dependencies
|
|
Packit Service |
da4517 |
kpatch_separate_disk_cache /dev/vdb /mnt/build
|
|
Packit Service |
da4517 |
kpatch_set_ccache_max_size 10G
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
# Check if we have predownloaded sources and move them to ~/.kpatch dir which
|
|
Packit Service |
da4517 |
# is a symlink to a dir on a separate (bigger) volume, suitable for building.
|
|
Packit Service |
da4517 |
if [[ -d "${HOME}/src" && -f "${HOME}/src/version" ]]; then
|
|
Packit Service |
da4517 |
cp "${HOME}/src/version" "${HOME}/.kpatch/"
|
|
Packit Service |
da4517 |
mv "${HOME}/src" "${HOME}/.kpatch/"
|
|
Packit Service |
da4517 |
fi
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
# shellcheck disable=SC1091
|
|
Packit Service |
da4517 |
source /etc/os-release
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
if [[ "${NAME}" == "Fedora" ]] && [[ "${VERSION_ID}" -lt 30 ]]; then
|
|
Packit Service |
da4517 |
export BUILDMOD=yes
|
|
Packit Service |
da4517 |
fi
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
if [ ${KPATCH_SLOW} -eq 1 ]; then
|
|
Packit Service |
da4517 |
make integration-slow 2>&1
|
|
Packit Service |
da4517 |
else
|
|
Packit Service |
da4517 |
make integration-quick 2>&1
|
|
Packit Service |
da4517 |
fi
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
rc=${PIPESTATUS[0]}
|
|
Packit Service |
da4517 |
rm -rf "${LOGDIR}"
|
|
Packit Service |
da4517 |
mkdir -p "${LOGDIR}"
|
|
Packit Service |
da4517 |
cp ./test/integration/*.log "${LOGDIR}"
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
exit "${rc}"
|