[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v5 12/13] CI: Add simple domU suspend test


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 5 Aug 2026 16:55:40 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm2 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm3 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Wed, 05 Aug 2026 14:57:15 +0000
  • Feedback-id: i1568416f:Fastmail
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Regression test for https://lore.kernel.org/xen-devel/ajUm2SQtMD6Y-K9S@mail-itl/

Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
---
New in v5
---
 automation/gitlab-ci/test.yaml                        |  8 +-
 automation/scripts/qemu-alpine-domU-suspend-x86_64.sh | 71 ++++++++++++-
 2 files changed, 79 insertions(+)
 create mode 100755 automation/scripts/qemu-alpine-domU-suspend-x86_64.sh

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1359d70ff2b4..b7cdb3a3eb09 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -752,6 +752,14 @@ qemu-alpine-driverdomains-x86_64-gcc:
     - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc
 
+qemu-alpine-domU-suspend-x86_64-gcc:
+  extends: .qemu-x86_64
+  script:
+    - ./automation/scripts/qemu-alpine-domU-suspend-x86_64.sh 2>&1 | tee 
${LOGFILE}
+  needs:
+    - *x86_64-test-needs
+    - alpine-3.24-x86_64-gcc
+
 qemu-debian-13-driverdomains-x86_64-gcc:
   extends: .qemu-x86_64
   script:
diff --git a/automation/scripts/qemu-alpine-domU-suspend-x86_64.sh 
b/automation/scripts/qemu-alpine-domU-suspend-x86_64.sh
new file mode 100755
index 000000000000..f46a40b67306
--- /dev/null
+++ b/automation/scripts/qemu-alpine-domU-suspend-x86_64.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+set -ex -o pipefail
+
+. "$(dirname "$0")"/qemu-alpine-lib.sh
+
+dom0_test="
+
+$dom0_setup_network
+
+set -ex
+
+tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) 
/\" &
+xl -vvv create /root/domU.cfg
+sleep 10
+ping -c 3 192.168.0.2
+xl -vvv suspend domU
+sleep 2
+xl -vvv resume domU
+sleep 2
+xl list domU
+alive_test=\$(nc 192.168.0.2 8888 </dev/null)
+test \"\$alive_test\" = \"Still alive\"
+# try again
+xl -vvv suspend domU
+sleep 2
+xl -vvv resume domU
+sleep 2
+xl list domU
+alive_test=\$(nc 192.168.0.2 8888 </dev/null)
+test \"\$alive_test\" = \"Still alive\"
+echo Test result: \$?
+"
+
+domU_test="$domU_setup_network
+
+nc -ll -p 8888 -e sh -c 'echo Still alive'
+"
+domU_config_add="vif=[ 'bridge=xenbr0' ]"
+
+cd binaries
+build_domU
+build_dom0
+cd ..
+
+cat >> binaries/pxelinux.0 << EOF
+#!ipxe
+
+kernel xen console=com1 console_timestamps=boot dom0_mem=1024M
+module bzImage console=hvc0 oops=panic
+module dom0-rootfs.cpio.gz
+boot
+EOF
+
+# Run the test
+rm -f smoke.serial
+export TEST_CMD="qemu-system-x86_64 \
+    -cpu qemu64,+svm \
+    -m 2G -smp 2 \
+    -monitor none -serial stdio \
+    -nographic \
+    -device virtio-net-pci,netdev=n0 \
+    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0"
+
+export TEST_LOG="smoke.serial"
+export BOOT_MSG="Latest ChangeSet: "
+export LOG_MSG="Welcome to Alpine"
+export PASSED="Test result: 0"
+export TEST_TIMEOUT="180"
+
+./automation/scripts/console.exp |& sed 's/\r\+$//'
-- 
git-series 0.9.1



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.