All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Elisei <alexandru.elisei@arm.com>
To: Andrew Jones <andrew.jones@linux.dev>
Cc: eric.auger@redhat.com, lvivier@redhat.com, thuth@redhat.com,
	frankja@linux.ibm.com, imbrenda@linux.ibm.com, nrb@linux.ibm.com,
	david@redhat.com, pbonzini@redhat.com, kvm@vger.kernel.org,
	kvmarm@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
	kvm-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	will@kernel.org, julien.thierry.kdev@gmail.com, maz@kernel.org,
	oliver.upton@linux.dev, suzuki.poulose@arm.com,
	yuzenghui@huawei.com, joey.gouly@arm.com, andre.przywara@arm.com
Subject: Re: [kvm-unit-tests PATCH v2 03/18] scripts: Refuse to run the tests if not configured for qemu
Date: Mon, 10 Feb 2025 18:04:29 +0000	[thread overview]
Message-ID: <Z6o/rbweZttGReir@arm.com> (raw)
In-Reply-To: <20250210-640ff37c16a0dbccb69f08ea@orel>

Hi Drew,

On Mon, Feb 10, 2025 at 02:56:25PM +0100, Andrew Jones wrote:
> On Mon, Feb 10, 2025 at 10:41:53AM +0000, Alexandru Elisei wrote:
> > Hi Drew,
> > 
> > On Tue, Jan 21, 2025 at 03:48:55PM +0100, Andrew Jones wrote:
> > > On Mon, Jan 20, 2025 at 04:43:01PM +0000, Alexandru Elisei wrote:
> > <snip>
> > > > ---
> > > >  arm/efi/run             | 8 ++++++++
> > > >  arm/run                 | 9 +++++++++
> > > >  run_tests.sh            | 8 ++++++++
> > > >  scripts/mkstandalone.sh | 8 ++++++++
> > > >  4 files changed, 33 insertions(+)
> > <snip>
> > > > +case "$TARGET" in
> > > > +qemu)
> > > > +    ;;
> > > > +*)
> > > > +    echo "'$TARGET' not supported for standlone tests"
> > > > +    exit 2
> > > > +esac
> > > 
> > > I think we could put the check in a function in scripts/arch-run.bash and
> > > just use the same error message for all cases.
> > 
> > Coming back to the series.
> > 
> > arm/efi/run and arm/run source scripts/arch-run.bash; run_tests.sh and
> > scripts/mkstandalone.sh don't source scripts/arch-run.bash. There doesn't
> > seem to be a common file that is sourced by all of them.
> 
> scripts/mkstandalone.sh uses arch-run.bash, see generate_test().

Are you referring to this bit:

generate_test ()
{
	<snip>
        (echo "#!/usr/bin/env bash"
         cat scripts/arch-run.bash "$TEST_DIR/run")

I think scripts/arch-run.bash would need to be sourced for any functions defined
there to be usable in mkstandalone.sh.

What I was thinking is something like this:

if ! vmm_supported $TARGET; then
	echo "$0 does not support '$TARGET'"
	exit 2
fi

Were you thinking of something else?

I think mkstandalone should error at the top level (when you do make
standalone), and not rely on the individual scripts to error if the VMM is
not supported. That's because I think creating the test files, booting a
machine and copying the files only to find out that kvm-unit-tests was
misconfigured is a pretty suboptimal experience.

> run_tests.sh doesn't, but I'm not sure it needs to validate TARGET
> since it can leave that to the lower-level scripts.

I put the check in arm/run, and removed it from run_tests.sh, and this is
what I got:

$ ./run_tests.sh selftest-setup
SKIP selftest-setup (./arm/run does not supported 'kvmtool')

which looks good to me.

> 
> > 
> > How about creating a new file in scripts (vmm.bash?) with only this
> > function?
> 
> If we need a new file, then we can add one, but I'd try using
> arch-run.bash or common.bash first.

common.bash seems to work (and the name fits), so I'll give that a go.

Thanks,
Alex

-- 
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Elisei <alexandru.elisei@arm.com>
To: Andrew Jones <andrew.jones@linux.dev>
Cc: eric.auger@redhat.com, lvivier@redhat.com, thuth@redhat.com,
	frankja@linux.ibm.com, imbrenda@linux.ibm.com, nrb@linux.ibm.com,
	david@redhat.com, pbonzini@redhat.com, kvm@vger.kernel.org,
	kvmarm@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
	kvm-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	will@kernel.org, julien.thierry.kdev@gmail.com, maz@kernel.org,
	oliver.upton@linux.dev, suzuki.poulose@arm.com,
	yuzenghui@huawei.com, joey.gouly@arm.com, andre.przywara@arm.com
Subject: Re: [kvm-unit-tests PATCH v2 03/18] scripts: Refuse to run the tests if not configured for qemu
Date: Mon, 10 Feb 2025 18:04:29 +0000	[thread overview]
Message-ID: <Z6o/rbweZttGReir@arm.com> (raw)
In-Reply-To: <20250210-640ff37c16a0dbccb69f08ea@orel>

Hi Drew,

On Mon, Feb 10, 2025 at 02:56:25PM +0100, Andrew Jones wrote:
> On Mon, Feb 10, 2025 at 10:41:53AM +0000, Alexandru Elisei wrote:
> > Hi Drew,
> > 
> > On Tue, Jan 21, 2025 at 03:48:55PM +0100, Andrew Jones wrote:
> > > On Mon, Jan 20, 2025 at 04:43:01PM +0000, Alexandru Elisei wrote:
> > <snip>
> > > > ---
> > > >  arm/efi/run             | 8 ++++++++
> > > >  arm/run                 | 9 +++++++++
> > > >  run_tests.sh            | 8 ++++++++
> > > >  scripts/mkstandalone.sh | 8 ++++++++
> > > >  4 files changed, 33 insertions(+)
> > <snip>
> > > > +case "$TARGET" in
> > > > +qemu)
> > > > +    ;;
> > > > +*)
> > > > +    echo "'$TARGET' not supported for standlone tests"
> > > > +    exit 2
> > > > +esac
> > > 
> > > I think we could put the check in a function in scripts/arch-run.bash and
> > > just use the same error message for all cases.
> > 
> > Coming back to the series.
> > 
> > arm/efi/run and arm/run source scripts/arch-run.bash; run_tests.sh and
> > scripts/mkstandalone.sh don't source scripts/arch-run.bash. There doesn't
> > seem to be a common file that is sourced by all of them.
> 
> scripts/mkstandalone.sh uses arch-run.bash, see generate_test().

Are you referring to this bit:

generate_test ()
{
	<snip>
        (echo "#!/usr/bin/env bash"
         cat scripts/arch-run.bash "$TEST_DIR/run")

I think scripts/arch-run.bash would need to be sourced for any functions defined
there to be usable in mkstandalone.sh.

What I was thinking is something like this:

if ! vmm_supported $TARGET; then
	echo "$0 does not support '$TARGET'"
	exit 2
fi

Were you thinking of something else?

I think mkstandalone should error at the top level (when you do make
standalone), and not rely on the individual scripts to error if the VMM is
not supported. That's because I think creating the test files, booting a
machine and copying the files only to find out that kvm-unit-tests was
misconfigured is a pretty suboptimal experience.

> run_tests.sh doesn't, but I'm not sure it needs to validate TARGET
> since it can leave that to the lower-level scripts.

I put the check in arm/run, and removed it from run_tests.sh, and this is
what I got:

$ ./run_tests.sh selftest-setup
SKIP selftest-setup (./arm/run does not supported 'kvmtool')

which looks good to me.

> 
> > 
> > How about creating a new file in scripts (vmm.bash?) with only this
> > function?
> 
> If we need a new file, then we can add one, but I'd try using
> arch-run.bash or common.bash first.

common.bash seems to work (and the name fits), so I'll give that a go.

Thanks,
Alex

  reply	other threads:[~2025-02-10 18:04 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-20 16:42 [kvm-unit-tests PATCH v2 00/18] arm/arm64: Add kvmtool to the runner script Alexandru Elisei
2025-01-20 16:42 ` Alexandru Elisei
2025-01-20 16:42 ` [kvm-unit-tests PATCH v2 01/18] run_tests: Document --probe-maxsmp argument Alexandru Elisei
2025-01-20 16:42   ` Alexandru Elisei
2025-01-21 14:41   ` Andrew Jones
2025-01-21 14:41     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 02/18] Document environment variables Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 14:41   ` Andrew Jones
2025-01-21 14:41     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 03/18] scripts: Refuse to run the tests if not configured for qemu Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 14:48   ` Andrew Jones
2025-01-21 14:48     ` Andrew Jones
2025-01-21 15:54     ` Alexandru Elisei
2025-01-21 15:54       ` Alexandru Elisei
2025-01-21 16:17       ` Andrew Jones
2025-01-21 16:17         ` Andrew Jones
2025-01-21 16:20         ` Alexandru Elisei
2025-01-21 16:20           ` Alexandru Elisei
2025-02-10 10:41     ` Alexandru Elisei
2025-02-10 10:41       ` Alexandru Elisei
2025-02-10 13:56       ` Andrew Jones
2025-02-10 13:56         ` Andrew Jones
2025-02-10 18:04         ` Alexandru Elisei [this message]
2025-02-10 18:04           ` Alexandru Elisei
2025-02-17 16:02           ` Al Dunsmuir
2025-02-17 16:02             ` Al Dunsmuir
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 04/18] run_tests: Introduce unittest parameter 'qemu_params' Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 15:46   ` Andrew Jones
2025-01-21 15:46     ` Andrew Jones
2025-02-12 13:40     ` Alexandru Elisei
2025-02-12 13:40       ` Alexandru Elisei
2025-02-12 15:48       ` Andrew Jones
2025-02-12 15:48         ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 05/18] scripts: Rename run_qemu_status -> run_test_status Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 15:55   ` Andrew Jones
2025-01-21 15:55     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 06/18] scripts: Merge the qemu parameter -smp into $qemu_opts Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:12   ` Andrew Jones
2025-01-21 16:12     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 07/18] scripts: Introduce kvmtool_opts Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:24   ` Andrew Jones
2025-01-21 16:24     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 08/18] scripts/runtime: Detect kvmtool failure in premature_failure() Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:29   ` Andrew Jones
2025-01-21 16:29     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 09/18] scripts/runtime: Skip test when kvmtool and $accel is not KVM Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:30   ` Andrew Jones
2025-01-21 16:30     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 10/18] scripts/arch-run: Add support for kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:46   ` Andrew Jones
2025-01-21 16:46     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 11/18] arm/run: " Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:50   ` Andrew Jones
2025-01-21 16:50     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 12/18] scripts/runtime: Add default arguments " Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 14:07   ` Andrew Jones
2025-01-23 14:07     ` Andrew Jones
2025-01-23 14:20     ` Alexandru Elisei
2025-01-23 14:20       ` Alexandru Elisei
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 13/18] run_tests: Do not probe for maximum number of VCPUs when using kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:36   ` Andrew Jones
2025-01-23 15:36     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 14/18] run_tests: Add KVMTOOL environment variable for kvmtool binary path Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:43   ` Andrew Jones
2025-01-23 15:43     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 15/18] Add kvmtool_params to test specification Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:53   ` Andrew Jones
2025-01-23 15:53     ` Andrew Jones
2025-02-11 15:03     ` Alexandru Elisei
2025-02-11 15:03       ` Alexandru Elisei
2025-02-12 15:56       ` Andrew Jones
2025-02-12 15:56         ` Andrew Jones
2025-02-12 16:34         ` Alexandru Elisei
2025-02-12 16:34           ` Alexandru Elisei
2025-02-13 13:59           ` Andrew Jones
2025-02-13 13:59             ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 16/18] scripts/mkstandalone: Export $TARGET Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:53   ` Andrew Jones
2025-01-23 15:53     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 17/18] unittest: Add disabled_if parameter and use it for kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 16:08   ` Andrew Jones
2025-01-23 16:08     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 18/18] run_tests: Enable kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 16:12   ` Andrew Jones
2025-01-23 16:12     ` Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z6o/rbweZttGReir@arm.com \
    --to=alexandru.elisei@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=andrew.jones@linux.dev \
    --cc=david@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=joey.gouly@arm.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lvivier@redhat.com \
    --cc=maz@kernel.org \
    --cc=nrb@linux.ibm.com \
    --cc=oliver.upton@linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=suzuki.poulose@arm.com \
    --cc=thuth@redhat.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.