mbox series

[0/5] tests/vm: various minor improvements

Message ID 20180803085230.30574-1-peter.maydell@linaro.org
Headers show
Series tests/vm: various minor improvements | expand

Message

Peter Maydell Aug. 3, 2018, 8:52 a.m. UTC
The setup I had for my BSD VMs broke today, so I thought I'd
have a look at using the tests/vm/ support for building QEMU
inside BSD VMs rather than re-rolling my own. This patchset
fixes some rough edges I ran into along the way:
 * fixes support for non-KVM accelerators
 * propagates J=n setting into 'make check' in the VM
 * propagates V=1 setting into 'make' and 'make check' in the VM
 * uses --output-sync so that J=n settings don't mangle output
 * bumps the RAM settings so J=n doesn't cause the guest to
   run out of memory and kill the compiler

Ideally I'd like to be able to separately invoke commands
for "build in VM" and "run make check in VM for that build"; for
instance I only want V=1 on the make-check, not the make, and in
some cases might want to do a build but not check, and so on.
But that seemed too complicated for the moment.

Is it possible for the VMs to be persistent? Currently it
looks like they throw away their contents and start afresh
for every invocation. Doing build tests as incremental is
faster than doing every one as a from-clean...

Also, I notice that the OpenBSD VM setup is using SDL 1.2,
which means that configure complains and suggests switching
to SDL 2.0. How do we update the base image?

thanks
-- PMM

Peter Maydell (5):
  tests/vm: Use -cpu max rather than -cpu host
  tests/vm: Pass the jobs parallelism setting to 'make check'
  tests/vm: Propagate V=1 down into the make inside the VM
  tests/vm: Bump guest RAM up from 2G to 4G
  tests/vm: Use make's --output-sync option

 tests/vm/Makefile.include | 1 +
 docs/devel/testing.rst    | 1 +
 tests/vm/basevm.py        | 9 ++++++---
 tests/vm/freebsd          | 4 ++--
 tests/vm/netbsd           | 4 ++--
 tests/vm/openbsd          | 4 ++--
 tests/vm/ubuntu.i386      | 4 ++--
 7 files changed, 16 insertions(+), 11 deletions(-)

-- 
2.17.1

Comments

Fam Zheng Aug. 3, 2018, 9:29 a.m. UTC | #1
On Fri, 08/03 09:52, Peter Maydell wrote:
> The setup I had for my BSD VMs broke today, so I thought I'd

> have a look at using the tests/vm/ support for building QEMU

> inside BSD VMs rather than re-rolling my own. This patchset

> fixes some rough edges I ran into along the way:

>  * fixes support for non-KVM accelerators

>  * propagates J=n setting into 'make check' in the VM

>  * propagates V=1 setting into 'make' and 'make check' in the VM

>  * uses --output-sync so that J=n settings don't mangle output

>  * bumps the RAM settings so J=n doesn't cause the guest to

>    run out of memory and kill the compiler

> 

> Ideally I'd like to be able to separately invoke commands

> for "build in VM" and "run make check in VM for that build"; for

> instance I only want V=1 on the make-check, not the make, and in

> some cases might want to do a build but not check, and so on.

> But that seemed too complicated for the moment.


If we can limit the abstraction to "build" and "check" (or "test"), it shouldn't
be hard to add a --build-only option to the Python main() and VM_BUILD_ONLY=1 to
Makefile.

> 

> Is it possible for the VMs to be persistent? Currently it

> looks like they throw away their contents and start afresh

> for every invocation. Doing build tests as incremental is

> faster than doing every one as a from-clean...


Yes, we'll do that in 3.1.

> 

> Also, I notice that the OpenBSD VM setup is using SDL 1.2,

> which means that configure complains and suggests switching

> to SDL 2.0. How do we update the base image?


I prepared the image by hand and uploaded it because I couldn't find a better
way. So the easist way to update is probably booting the image by hand, do the
modifications, then upload it again.

> 

> thanks

> -- PMM

> 

> Peter Maydell (5):

>   tests/vm: Use -cpu max rather than -cpu host

>   tests/vm: Pass the jobs parallelism setting to 'make check'

>   tests/vm: Propagate V=1 down into the make inside the VM

>   tests/vm: Bump guest RAM up from 2G to 4G

>   tests/vm: Use make's --output-sync option

> 

>  tests/vm/Makefile.include | 1 +

>  docs/devel/testing.rst    | 1 +

>  tests/vm/basevm.py        | 9 ++++++---

>  tests/vm/freebsd          | 4 ++--

>  tests/vm/netbsd           | 4 ++--

>  tests/vm/openbsd          | 4 ++--

>  tests/vm/ubuntu.i386      | 4 ++--

>  7 files changed, 16 insertions(+), 11 deletions(-)

> 

> -- 

> 2.17.1

> 

>
Fam Zheng Aug. 3, 2018, 10:45 a.m. UTC | #2
On Fri, 08/03 09:52, Peter Maydell wrote:
> The setup I had for my BSD VMs broke today, so I thought I'd

> have a look at using the tests/vm/ support for building QEMU

> inside BSD VMs rather than re-rolling my own. This patchset

> fixes some rough edges I ran into along the way:

>  * fixes support for non-KVM accelerators

>  * propagates J=n setting into 'make check' in the VM

>  * propagates V=1 setting into 'make' and 'make check' in the VM

>  * uses --output-sync so that J=n settings don't mangle output

>  * bumps the RAM settings so J=n doesn't cause the guest to

>    run out of memory and kill the compiler


Queued for 3.1. Thanks!

Fam