Re: [PATCH v2 8/8] automation: add RISC-V smoke test

2023-01-10 Thread Oleksii
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 
> > ---
> > 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 
> 
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 00..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



Re: [PATCH v2 8/8] automation: add RISC-V smoke test

2023-01-09 Thread Stefano Stabellini
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 
> ---
> 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 



>  # 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 00..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
>