Message ID | 494c2fd1e046de20c2fa24be3989cc6adde8fdbe.1673278109.git.oleksii.kurochko@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Basic early_printk and smoke test implementation | expand |
On Mon, 9 Jan 2023, Oleksii Kurochko wrote: > Add check if there is a message 'Hello from C env' presents > in log file to be sure that stack is set and C part of early printk > is working. > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> > --- > Changes in V2: > - Move changes in the dockerfile to separate patch and send it to > mailing list separately: > [PATCH] automation: add qemu-system-riscv to riscv64.dockerfile > - Update test.yaml to wire up smoke test > --- > automation/gitlab-ci/test.yaml | 20 ++++++++++++++++++++ > automation/scripts/qemu-smoke-riscv64.sh | 20 ++++++++++++++++++++ > 2 files changed, 40 insertions(+) > create mode 100755 automation/scripts/qemu-smoke-riscv64.sh > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > index afd80adfe1..64f47a0ab9 100644 > --- a/automation/gitlab-ci/test.yaml > +++ b/automation/gitlab-ci/test.yaml > @@ -54,6 +54,19 @@ > tags: > - x86_64 > > +.qemu-riscv64: > + extends: .test-jobs-common > + variables: > + CONTAINER: archlinux:riscv64 I realize that it is committed now, but following the arm32 convention the name of the arch container (currently archlinux:riscv64) would be: CONTAINER: archlinux:current-riscv64 I know this is not related to this patch, but I am taking the opportunity to mention it now in case we get an opportunity to fix it in the future for consistency. > + LOGFILE: qemu-smoke-riscv64.log > + artifacts: > + paths: > + - smoke.serial > + - '*.log' > + when: always > + tags: > + - x86_64 > + > .yocto-test: > extends: .test-jobs-common > script: > @@ -234,6 +247,13 @@ qemu-smoke-x86-64-clang-pvh: > needs: > - debian-unstable-clang-debug > > +qemu-smoke-riscv64-gcc: > + extends: .qemu-riscv64 > + script: > + - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE} > + needs: > + - riscv64-cross-gcc Similarly here the "needs" dependency should be called arch-current-gcc-riscv for consistency with arm32. Basically we already have a crossbuild and crosstest environment up and running in gitlab-ci and it is the one for arm32. You can just base all the naming convention on that. I realize that riscv64-cross-gcc is also already exported by build.yaml, but I am mentioning it in case we get an opportunity to fix it in the future. Nonetheless this patch on its own is OK so Acked-by: Stefano Stabellini <sstabellini@kernel.org> > # Yocto test jobs > yocto-qemuarm64: > extends: .yocto-test-arm64 > diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh > new file mode 100755 > index 0000000000..e0f06360bc > --- /dev/null > +++ b/automation/scripts/qemu-smoke-riscv64.sh > @@ -0,0 +1,20 @@ > +#!/bin/bash > + > +set -ex > + > +# Run the test > +rm -f smoke.serial > +set +e > + > +timeout -k 1 2 \ > +qemu-system-riscv64 \ > + -M virt \ > + -smp 1 \ > + -nographic \ > + -m 2g \ > + -kernel binaries/xen \ > + |& tee smoke.serial > + > +set -e > +(grep -q "Hello from C env" smoke.serial) || exit 1 > +exit 0 > -- > 2.38.1 >
On Mon, 2023-01-09 at 18:21 -0800, Stefano Stabellini wrote: > On Mon, 9 Jan 2023, Oleksii Kurochko wrote: > > Add check if there is a message 'Hello from C env' presents > > in log file to be sure that stack is set and C part of early printk > > is working. > > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> > > --- > > Changes in V2: > > - Move changes in the dockerfile to separate patch and send it > > to > > mailing list separately: > > [PATCH] automation: add qemu-system-riscv to > > riscv64.dockerfile > > - Update test.yaml to wire up smoke test > > --- > > automation/gitlab-ci/test.yaml | 20 ++++++++++++++++++++ > > automation/scripts/qemu-smoke-riscv64.sh | 20 ++++++++++++++++++++ > > 2 files changed, 40 insertions(+) > > create mode 100755 automation/scripts/qemu-smoke-riscv64.sh > > > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab- > > ci/test.yaml > > index afd80adfe1..64f47a0ab9 100644 > > --- a/automation/gitlab-ci/test.yaml > > +++ b/automation/gitlab-ci/test.yaml > > @@ -54,6 +54,19 @@ > > tags: > > - x86_64 > > > > +.qemu-riscv64: > > + extends: .test-jobs-common > > + variables: > > + CONTAINER: archlinux:riscv64 > > I realize that it is committed now, but following the arm32 > convention > the name of the arch container (currently archlinux:riscv64) would > be: > > CONTAINER: archlinux:current-riscv64 > > I know this is not related to this patch, but I am taking the > opportunity to mention it now in case we get an opportunity to fix it > in > the future for consistency. > > > > + LOGFILE: qemu-smoke-riscv64.log > > + artifacts: > > + paths: > > + - smoke.serial > > + - '*.log' > > + when: always > > + tags: > > + - x86_64 > > + > > .yocto-test: > > extends: .test-jobs-common > > script: > > @@ -234,6 +247,13 @@ qemu-smoke-x86-64-clang-pvh: > > needs: > > - debian-unstable-clang-debug > > > > +qemu-smoke-riscv64-gcc: > > + extends: .qemu-riscv64 > > + script: > > + - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee > > ${LOGFILE} > > + needs: > > + - riscv64-cross-gcc > > Similarly here the "needs" dependency should be called > arch-current-gcc-riscv for consistency with arm32. > > Basically we already have a crossbuild and crosstest environment up > and > running in gitlab-ci and it is the one for arm32. You can just base > all > the naming convention on that. > > I realize that riscv64-cross-gcc is also already exported by > build.yaml, > but I am mentioning it in case we get an opportunity to fix it in the > future. > > Nonetheless this patch on its own is OK so > > Acked-by: Stefano Stabellini <sstabellini@kernel.org> > Thanks for the comments. I think it will be nice to fix that from the start so I will do a separete patch out of this patch series (when it will be merged) which will fix all this names related to RISCV. > > > # Yocto test jobs > > yocto-qemuarm64: > > extends: .yocto-test-arm64 > > diff --git a/automation/scripts/qemu-smoke-riscv64.sh > > b/automation/scripts/qemu-smoke-riscv64.sh > > new file mode 100755 > > index 0000000000..e0f06360bc > > --- /dev/null > > +++ b/automation/scripts/qemu-smoke-riscv64.sh > > @@ -0,0 +1,20 @@ > > +#!/bin/bash > > + > > +set -ex > > + > > +# Run the test > > +rm -f smoke.serial > > +set +e > > + > > +timeout -k 1 2 \ > > +qemu-system-riscv64 \ > > + -M virt \ > > + -smp 1 \ > > + -nographic \ > > + -m 2g \ > > + -kernel binaries/xen \ > > + |& tee smoke.serial > > + > > +set -e > > +(grep -q "Hello from C env" smoke.serial) || exit 1 > > +exit 0 > > -- > > 2.38.1 > > ~Oleksii
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index afd80adfe1..64f47a0ab9 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -54,6 +54,19 @@ tags: - x86_64 +.qemu-riscv64: + extends: .test-jobs-common + variables: + CONTAINER: archlinux:riscv64 + LOGFILE: qemu-smoke-riscv64.log + artifacts: + paths: + - smoke.serial + - '*.log' + when: always + tags: + - x86_64 + .yocto-test: extends: .test-jobs-common script: @@ -234,6 +247,13 @@ qemu-smoke-x86-64-clang-pvh: needs: - debian-unstable-clang-debug +qemu-smoke-riscv64-gcc: + extends: .qemu-riscv64 + script: + - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE} + needs: + - riscv64-cross-gcc + # Yocto test jobs yocto-qemuarm64: extends: .yocto-test-arm64 diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh new file mode 100755 index 0000000000..e0f06360bc --- /dev/null +++ b/automation/scripts/qemu-smoke-riscv64.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -ex + +# Run the test +rm -f smoke.serial +set +e + +timeout -k 1 2 \ +qemu-system-riscv64 \ + -M virt \ + -smp 1 \ + -nographic \ + -m 2g \ + -kernel binaries/xen \ + |& tee smoke.serial + +set -e +(grep -q "Hello from C env" smoke.serial) || exit 1 +exit 0
Add check if there is a message 'Hello from C env' presents in log file to be sure that stack is set and C part of early printk is working. Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- Changes in V2: - Move changes in the dockerfile to separate patch and send it to mailing list separately: [PATCH] automation: add qemu-system-riscv to riscv64.dockerfile - Update test.yaml to wire up smoke test --- automation/gitlab-ci/test.yaml | 20 ++++++++++++++++++++ automation/scripts/qemu-smoke-riscv64.sh | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100755 automation/scripts/qemu-smoke-riscv64.sh