mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-23 08:21:15 +00:00
Launch the test binary by command rather than using using the vmm layer. This makes it easier to manage the running VM as you can explicitly kill it. Also switch to using credibility for the tests which catches assertions and continues with subsequent commands and reports the issues at the end. This means it is possible to cleanup even on failed test runs. Signed-off-by: Rob Bradford <robert.bradford@intel.com>
35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -x
|
|
|
|
source $HOME/.cargo/env
|
|
|
|
WORKLOADS_DIR="$HOME/workloads"
|
|
mkdir -p "$WORKLOADS_DIR"
|
|
|
|
FW_URL=$(curl --silent https://api.github.com/repos/intel/rust-hypervisor-firmware/releases/latest | grep "browser_download_url" | grep -o 'https://.*[^ "]')
|
|
FW="$WORKLOADS_DIR/hypervisor-fw"
|
|
if [ ! -f "$FW" ]; then
|
|
pushd $WORKLOADS_DIR
|
|
wget --quiet $FW_URL
|
|
popd
|
|
fi
|
|
|
|
OS_IMAGE_NAME="clear-29620-cloud.img"
|
|
OS_IMAGE_URL="https://download.clearlinux.org/releases/29620/clear/clear-29620-cloud.img.xz"
|
|
OS_IMAGE="$WORKLOADS_DIR/$OS_IMAGE_NAME"
|
|
if [ ! -f "$OS_IMAGE" ]; then
|
|
pushd $WORKLOADS_DIR
|
|
wget --quiet $OS_IMAGE_URL
|
|
unxz $OS_IMAGE_NAME.xz
|
|
popd
|
|
fi
|
|
|
|
rm /tmp/cloudinit.img
|
|
mkdosfs -n config-2 -C /tmp/cloudinit.img 8192
|
|
mcopy -oi /tmp/cloudinit.img -s test_data/cloud-init/openstack ::
|
|
|
|
cargo build
|
|
sudo setcap cap_net_admin+ep target/debug/cloud-hypervisor
|
|
|
|
# Tests must be executed serially for now as they have a hardcoded IP address
|
|
cargo test --features "integration_tests" -- --test-threads=1 |