aboutgitcodebugslistschat
path: root/test/lib
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/layout_ugly30
-rwxr-xr-xtest/lib/setup_ugly20
2 files changed, 50 insertions, 0 deletions
diff --git a/test/lib/layout_ugly b/test/lib/layout_ugly
index 9397b7d..22f6169 100644
--- a/test/lib/layout_ugly
+++ b/test/lib/layout_ugly
@@ -81,3 +81,33 @@ layout_pasta_simple() {
sleep 1
}
+
+# layout_memory() - Screen-scraped panes for memory usage tests, big guest pane
+layout_memory() {
+ sleep 3
+
+ tmux kill-pane -a -t 0
+ cmd_write 0 clear
+
+ tmux split-window -h -l '35%' -t passt_test
+
+ PANE_GUEST=0
+ PANE_INFO=1
+
+ get_info_cols
+
+ tmux send-keys -l -t ${PANE_INFO} 'while cat '"$STATEBASE/log_pipe"'; do :; done'
+ tmux send-keys -t ${PANE_INFO} -N 100 C-m
+ tmux select-pane -t ${PANE_INFO} -T "test log"
+
+ if context_exists guest; then
+ pane_watch_contexts ${PANE_GUEST} guest guest
+ else
+ tmux pipe-pane -O -t ${PANE_GUEST} "cat >> ${LOGDIR}/pane_guest.log"
+ tmux select-pane -t ${PANE_GUEST} -T "guest"
+ fi
+
+ info_layout "memory usage"
+
+ sleep 1
+}
diff --git a/test/lib/setup_ugly b/test/lib/setup_ugly
index 764177e..bcf07ef 100755
--- a/test/lib/setup_ugly
+++ b/test/lib/setup_ugly
@@ -13,6 +13,8 @@
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
+INITRAMFS_MEM="${BASEPATH}/mbuto.mem.img"
+
# setup_distro() - Set up pane layout for distro tests
setup_distro() {
layout_host
@@ -25,6 +27,20 @@ setup_pasta_options() {
layout_pasta_simple
}
+# setup_memory() - Start qemu in guest pane, and passt in passt context
+setup_memory() {
+ layout_memory
+
+ pane_or_context_run guest 'qemu-system-$(uname -m)' \
+ ' -machine accel=kvm' \
+ ' -m '${VMEM}' -cpu host -smp '${VCPUS} \
+ ' -kernel ' "/boot/vmlinuz-$(uname -r)" \
+ ' -initrd '${INITRAMFS_MEM}' -nographic -serial stdio' \
+ ' -nodefaults' \
+ ' -append "console=ttyS0 mitigations=off apparmor=0"' \
+ " -pidfile ${STATESETUP}/qemu.pid"
+}
+
# teardown_distro() - Nothing to do, yet
teardown_distro() {
:
@@ -36,3 +52,7 @@ teardown_pasta_options() {
teardown_context_watch ${PANE_PASST} passt
}
+# teardown_passt() - Kill qemu with ^C, remove passt PID file
+teardown_memory() {
+ kill $(cat "${STATESETUP}/qemu.pid")
+}