Re: [kvm-unit-tests PATCH v2 15/18] Add kvmtool_params to test specification
From: Andrew Jones <hidden>
Date: 2025-02-13 13:59:50
Also in:
kvm, kvm-riscv, kvmarm, linux-s390
On Wed, Feb 12, 2025 at 04:34:44PM +0000, Alexandru Elisei wrote:
Hi Drew, On Wed, Feb 12, 2025 at 04:56:42PM +0100, Andrew Jones wrote:quoted
On Tue, Feb 11, 2025 at 03:03:09PM +0000, Alexandru Elisei wrote:quoted
Hi Drew, On Thu, Jan 23, 2025 at 04:53:29PM +0100, Andrew Jones wrote:quoted
On Mon, Jan 20, 2025 at 04:43:13PM +0000, Alexandru Elisei wrote:quoted
arm/arm64 supports running tests under kvmtool, but kvmtool's syntax for running a virtual machine is different than qemu's. To run tests using the automated test infrastructure, add a new test parameter, kvmtool_params. The parameter serves the exact purpose as qemu_params/extra_params, but using kvmtool's syntax.The need for qemu_params and kvmtool_params makes more sense to me now that I see the use in unittests.cfg (I wonder if we can't rearrange this series to help understand these things up front?). There's a lot ofCertainly, I'll move it closer to the beginning of the series.quoted
duplication, though, with having two sets of params since the test- specific inputs always have to be duplicated. To avoid the duplication I think we can use extra_params for '-append' and '--params' by parametrizing the option name for "params" (-append / --params) and then create qemu_opts and kvmtool_opts for extra options like --pmu, --mem, and irqchip.How about something like this (I am using selftest-setup as an example, all the other test definitions would be similarly modified):diff --git a/arm/unittests.cfg b/arm/unittests.cfg index 2bdad67d5693..3009305ba2d3 100644 --- a/arm/unittests.cfg +++ b/arm/unittests.cfg@@ -15,7 +15,9 @@ [selftest-setup] file = selftest.flat smp = 2 -extra_params = -m 256 -append 'setup smp=2 mem=256' +test_args = setup smp=2 mem=256 +qemu_params = -m 256 +kvmtool_params = --mem 256 groups = selftestI was thinking about using 'test_args' instead of 'extra_params' to avoid any confusion between the two, and to match how they are passed to a test - they are in the argv main's argument.Yes, this looks good and test_args is better than my suggestion in the other mail of 'cmdline_options' since "cmdline" would be ambiguous with the test's cmdline and the vmm's cmdline.quoted
Also, should I change the test definitions for all the other architectures? It's not going to be possible for me to test all the changes.We should be safe with an s/extra_params/qemu_params/ change for all architectures and CI is pretty good, so we'd have good confidence if it passes, but, I think we should keep extra_params as a qemu_params alias anyway since it's possible that people have wrapped kvm-unit-tests in test harnesses which generate unittests.cfg files.Sounds good, split extra_params into test_args and qemu_params in all unittests.cfg files, and keep extra_params as an alias for qemu_params. I was thinking that maybe I should send that as a separate patch, to make sure it gets the visibility it deserves from the other maintainers, instead of it being buried in a 18 patch series. What do you think?
Sounds good. Thanks, drew