diff mbox series

[v2,3/3] automation: Add smoke test for ppc64le

Message ID f53737937af74dd9844bff07b5886121070a9d28.1687466822.git.sanastasio@raptorengineering.com (mailing list archive)
State Superseded
Headers show
Series Early serial on Power | expand

Commit Message

Shawn Anastasio June 22, 2023, 8:57 p.m. UTC
Add an initial smoke test that boots xen on a ppc64/pseries machine and
checks for a magic string. Based on the riscv smoke test.

Eventually the powernv9 (POWER9 bare metal) machine type will want to be
tested as well, but for now we only boot on pseries.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 automation/gitlab-ci/test.yaml           | 20 ++++++++++++++++++
 automation/scripts/qemu-smoke-ppc64le.sh | 27 ++++++++++++++++++++++++
 2 files changed, 47 insertions(+)
 create mode 100755 automation/scripts/qemu-smoke-ppc64le.sh

Comments

Stefano Stabellini June 28, 2023, 10:44 p.m. UTC | #1
On Thu, 22 Jun 2023, Shawn Anastasio wrote:
> Add an initial smoke test that boots xen on a ppc64/pseries machine and
> checks for a magic string. Based on the riscv smoke test.
> 
> Eventually the powernv9 (POWER9 bare metal) machine type will want to be
> tested as well, but for now we only boot on pseries.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  automation/gitlab-ci/test.yaml           | 20 ++++++++++++++++++
>  automation/scripts/qemu-smoke-ppc64le.sh | 27 ++++++++++++++++++++++++
>  2 files changed, 47 insertions(+)
>  create mode 100755 automation/scripts/qemu-smoke-ppc64le.sh
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index d5cb238b0a..45e8ddb7a3 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -71,6 +71,19 @@
>    tags:
>      - x86_64
>  
> +.qemu-ppc64le:
> +  extends: .test-jobs-common
> +  variables:
> +    CONTAINER: debian:bullseye-ppc64le
> +    LOGFILE: qemu-smoke-ppc64le.log
> +  artifacts:
> +    paths:
> +      - smoke.serial
> +      - '*.log'
> +    when: always
> +  tags:
> +    - x86_64
> +
>  .xilinx-arm64:
>    extends: .test-jobs-common
>    variables:
> @@ -444,3 +457,10 @@ qemu-smoke-riscv64-gcc:
>      - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE}
>    needs:
>      - archlinux-current-gcc-riscv64-debug
> +
> +qemu-smoke-ppc64le-pseries-gcc:
> +  extends: .qemu-ppc64le
> +  script:
> +    - ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - debian-bullseye-gcc-ppc64le-debug
> diff --git a/automation/scripts/qemu-smoke-ppc64le.sh b/automation/scripts/qemu-smoke-ppc64le.sh
> new file mode 100755
> index 0000000000..eb55221221
> --- /dev/null
> +++ b/automation/scripts/qemu-smoke-ppc64le.sh
> @@ -0,0 +1,27 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +# machine type from first arg passed directly to qemu -M
> +machine=$1
> +
> +# Run the test
> +rm -f smoke.serial
> +set +e
> +
> +touch smoke.serial
> +
> +timeout -k 1 20 \
> +qemu-system-ppc64 \
> +    -M $machine \
> +    -m 2g \
> +    -smp 1 \
> +    -vga none \
> +    -monitor none \
> +    -nographic \
> +    -serial file:smoke.serial \
> +    -kernel binaries/xen
> +
> +set -e
> +(grep -q "Hello, ppc64le!" smoke.serial) || exit 1
> +exit 0
> -- 
> 2.30.2
>
diff mbox series

Patch

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index d5cb238b0a..45e8ddb7a3 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -71,6 +71,19 @@ 
   tags:
     - x86_64
 
+.qemu-ppc64le:
+  extends: .test-jobs-common
+  variables:
+    CONTAINER: debian:bullseye-ppc64le
+    LOGFILE: qemu-smoke-ppc64le.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+    when: always
+  tags:
+    - x86_64
+
 .xilinx-arm64:
   extends: .test-jobs-common
   variables:
@@ -444,3 +457,10 @@  qemu-smoke-riscv64-gcc:
     - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - archlinux-current-gcc-riscv64-debug
+
+qemu-smoke-ppc64le-pseries-gcc:
+  extends: .qemu-ppc64le
+  script:
+    - ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
+  needs:
+    - debian-bullseye-gcc-ppc64le-debug
diff --git a/automation/scripts/qemu-smoke-ppc64le.sh b/automation/scripts/qemu-smoke-ppc64le.sh
new file mode 100755
index 0000000000..eb55221221
--- /dev/null
+++ b/automation/scripts/qemu-smoke-ppc64le.sh
@@ -0,0 +1,27 @@ 
+#!/bin/bash
+
+set -ex
+
+# machine type from first arg passed directly to qemu -M
+machine=$1
+
+# Run the test
+rm -f smoke.serial
+set +e
+
+touch smoke.serial
+
+timeout -k 1 20 \
+qemu-system-ppc64 \
+    -M $machine \
+    -m 2g \
+    -smp 1 \
+    -vga none \
+    -monitor none \
+    -nographic \
+    -serial file:smoke.serial \
+    -kernel binaries/xen
+
+set -e
+(grep -q "Hello, ppc64le!" smoke.serial) || exit 1
+exit 0