2020-02-20 12:28:46 -08:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -eux
|
|
|
|
|
|
|
|
|
|
VMTEST_SETUPCMD="PROJECT_NAME=${PROJECT_NAME} ./${PROJECT_NAME}/travis-ci/vmtest/run_selftests.sh"
|
|
|
|
|
|
|
|
|
|
echo "KERNEL: $KERNEL"
|
|
|
|
|
|
2020-02-21 15:11:54 -08:00
|
|
|
# Build latest pahole
|
|
|
|
|
${VMTEST_ROOT}/build_pahole.sh travis-ci/vmtest/pahole
|
|
|
|
|
|
2020-02-20 12:28:46 -08:00
|
|
|
# Install required packages
|
|
|
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
2020-02-21 15:11:54 -08:00
|
|
|
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" | sudo tee -a /etc/apt/sources.list
|
2020-02-20 12:28:46 -08:00
|
|
|
sudo apt-get -qq update
|
2020-02-21 15:11:54 -08:00
|
|
|
sudo apt-get -qq -y install clang lld llvm
|
2020-02-20 12:28:46 -08:00
|
|
|
|
|
|
|
|
# Build selftests (and latest kernel, if necessary)
|
|
|
|
|
KERNEL="${KERNEL}" ${VMTEST_ROOT}/prepare_selftests.sh travis-ci/vmtest/bpf-next
|
|
|
|
|
|
|
|
|
|
# Escape whitespace characters.
|
|
|
|
|
setup_cmd=$(sed 's/\([[:space:]]\)/\\\1/g' <<< "${VMTEST_SETUPCMD}")
|
|
|
|
|
|
2020-02-21 15:11:54 -08:00
|
|
|
sudo adduser "${USER}" kvm
|
|
|
|
|
|
2020-02-20 12:28:46 -08:00
|
|
|
if [[ "${KERNEL}" = 'LATEST' ]]; then
|
|
|
|
|
sudo -E sudo -E -u "${USER}" "${VMTEST_ROOT}/run.sh" -b travis-ci/vmtest/bpf-next -o -d ~ -s "${setup_cmd}" ~/root.img;
|
|
|
|
|
else
|
|
|
|
|
sudo -E sudo -E -u "${USER}" "${VMTEST_ROOT}/run.sh" -k "${KERNEL}*" -o -d ~ -s "${setup_cmd}" ~/root.img;
|
|
|
|
|
fi
|