aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-07-06 17:29:00 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-07-14 01:32:42 +0200
commit2297637251d98f639a38f2af23a9913eab01200d (patch)
tree2e0c50d2d8c29809a9deee53d91c7ba15c3c7c79
parentdb551e5de02a46517f40f2320b85ae65a877fe6b (diff)
downloadpasst-2297637251d98f639a38f2af23a9913eab01200d.tar
passt-2297637251d98f639a38f2af23a9913eab01200d.tar.gz
passt-2297637251d98f639a38f2af23a9913eab01200d.tar.bz2
passt-2297637251d98f639a38f2af23a9913eab01200d.tar.lz
passt-2297637251d98f639a38f2af23a9913eab01200d.tar.xz
passt-2297637251d98f639a38f2af23a9913eab01200d.tar.zst
passt-2297637251d98f639a38f2af23a9913eab01200d.zip
tests: Move mbuto download and execution to asset build
Move the download of mbuto and using it to create a sample initramfs to the asset build makefile, rather than embedding it in the test scripts themselves. The two_guests tests used to use two separate copies of the mbuto image. As an initramfs the mbuto image is strictly readonly though, so that's not necessary. So, also use the same image for both guests. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--test/.gitignore2
-rw-r--r--test/Makefile10
-rwxr-xr-xtest/lib/setup23
3 files changed, 16 insertions, 19 deletions
diff --git a/test/.gitignore b/test/.gitignore
index edb2221..895c3ae 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -1,2 +1,4 @@
perf.js
test_logs/
+mbuto/
+*.img
diff --git a/test/Makefile b/test/Makefile
index 02c60a3..b72280d 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -5,13 +5,19 @@
# Copyright Red Hat
# Author: David Gibson <david@gibson.dropbear.id.au>
-DOWNLOAD_ASSETS =
-LOCAL_ASSETS =
+DOWNLOAD_ASSETS = mbuto
+LOCAL_ASSETS = mbuto.img
ASSETS = $(DOWNLOAD_ASSETS) $(LOCAL_ASSETS)
assets: $(ASSETS)
+mbuto:
+ git clone git://mbuto.sh/mbuto
+
+mbuto.img: passt.mbuto mbuto
+ ./mbuto/mbuto -p ./$< -c lz4 -f $@
+
check: assets
./run
diff --git a/test/lib/setup b/test/lib/setup
index 97e603c..604cfee 100755
--- a/test/lib/setup
+++ b/test/lib/setup
@@ -13,6 +13,7 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
+INITRAMFS="${BASEPATH}/mbuto.img"
VCPUS="$( [ $(nproc) -ge 8 ] && echo 6 || echo $(( $(nproc) / 2 + 1 )) )"
__mem_kib="$(sed -n 's/MemTotal:[ ]*\([0-9]*\) kB/\1/p' /proc/meminfo)"
VMEM="$((${__mem_kib} / 1024 / 4))"
@@ -24,21 +25,12 @@ setup_build() {
layout_host
}
-# setup_passt() - Build guest initrd with mbuto, start qemu and passt
+# setup_passt() - Start qemu and passt
setup_passt() {
MODE=passt
layout_passt
- __mbuto_dir="$(mktemp -d)"
- pane_run GUEST "git -C ${__mbuto_dir} clone git://mbuto.sh/mbuto"
- pane_status GUEST
-
- pane_run GUEST "${__mbuto_dir}/mbuto/mbuto -p test/passt.mbuto -c lz4 -f mbuto.img"
- pane_status GUEST
-
- rm -rf "${__mbuto_dir}"
-
# Ports:
#
# guest | host
@@ -62,7 +54,7 @@ setup_passt() {
' -machine accel=kvm' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \
- ' -initrd mbuto.img -nographic -serial stdio' \
+ ' -initrd '${INITRAMFS}' -nographic -serial stdio' \
' -nodefaults' \
' -append "console=ttyS0 mitigations=off apparmor=0 ' \
'virtio-net.napi_tx=1"' \
@@ -177,7 +169,7 @@ setup_passt_in_ns() {
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \
- ' -initrd mbuto.img -nographic -serial stdio' \
+ ' -initrd '${INITRAMFS}' -nographic -serial stdio' \
' -nodefaults' \
' -append "console=ttyS0 mitigations=off apparmor=0 ' \
'virtio-net.napi_tx=1"' \
@@ -261,14 +253,11 @@ setup_two_guests() {
[ ${TRACE} -eq 1 ] && __opts="${__opts} --trace"
pane_run PASST_2 "./passt -f ${__opts} -t 10004 -u 10004"
- pane_run GUEST_2 'cp mbuto.img mbuto_2.img'
- pane_status GUEST_2
-
pane_run GUEST_1 './qrap 5 qemu-system-$(uname -m)' \
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \
- ' -initrd mbuto.img -nographic -serial stdio' \
+ ' -initrd '${INITRAMFS}' -nographic -serial stdio' \
' -nodefaults' \
' -append "console=ttyS0 mitigations=off apparmor=0 ' \
'virtio-net.napi_tx=1"' \
@@ -278,7 +267,7 @@ setup_two_guests() {
' -M accel=kvm:tcg' \
' -m '${VMEM}' -cpu host -smp '${VCPUS} \
' -kernel ' "/boot/vmlinuz-$(uname -r)" \
- ' -initrd mbuto_2.img -nographic -serial stdio' \
+ ' -initrd '${INITRAMFS}' -nographic -serial stdio' \
' -nodefaults' \
' -append "console=ttyS0 mitigations=off apparmor=0 ' \
'virtio-net.napi_tx=1"' \