[PATCH] allow disabling tests

Simeon Schaub posted 1 patch 3 years, 11 months ago
Failed in applying to current master (apply log)
meson.build                   | 4 +++-
meson_options.txt             | 3 +++
scripts/meson-buildoptions.sh | 5 ++++-
3 files changed, 10 insertions(+), 2 deletions(-)
[PATCH] allow disabling tests
Posted by Simeon Schaub 3 years, 11 months ago
From b6ec17a85a8fb2431545f9c5093dbce9a090b522 Mon Sep 17 00:00:00 2001
From: Simeon David Schaub <schaub@mit.edu>
Date: Mon, 28 Feb 2022 10:51:04 -0500
Subject: [PATCH] allow disabling tests

Adds an option to avoid running tests as part of the build process. I
ran `make update-buildoptions` to update the meson options, but this
seemed to also change the `qga-vss` option. I assume this isn't intended
to happen, any ideas what's going on there?

Signed-off-by: Simeon David Schaub <schaub@mit.edu>
---
 meson.build                   | 4 +++-
 meson_options.txt             | 3 +++
 scripts/meson-buildoptions.sh | 5 ++++-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index 8df40bfac4..8b5935447a 100644
--- a/meson.build
+++ b/meson.build
@@ -3308,7 +3308,9 @@ subdir('scripts')
 subdir('tools')
 subdir('pc-bios')
 subdir('docs')
-subdir('tests')
+if get_option('tests')
+  subdir('tests')
+endif
 if gtk.found()
   subdir('po')
 endif
diff --git a/meson_options.txt b/meson_options.txt
index 52b11cead4..6527a5a368 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -270,3 +270,6 @@ option('profiler', type: 'boolean', value: false,
        description: 'profiler support')
 option('slirp_smbd', type : 'feature', value : 'auto',
        description: 'use smbd (at path --smbd=*) in slirp networking')
+
+option('tests', type : 'boolean', value : true,
+       description: 'run QEMU tests as part of the build process')
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 9ee684ef03..9271324c6a 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -20,7 +20,6 @@ meson_options_help() {
   printf "%s\n" '  --enable-malloc=CHOICE   choose memory allocator to
use [system] (choices:'
   printf "%s\n" '                           jemalloc/system/tcmalloc)'
   printf "%s\n" '  --enable-profiler        profiler support'
-  printf "%s\n" '  --enable-qga-vss         build QGA VSS support'
   printf "%s\n" '  --enable-qom-cast-debug  cast debugging support'
   printf "%s\n" '  --enable-rng-none        dummy RNG, avoid using
/dev/(u)random and'
   printf "%s\n" '                           getrandom()'
@@ -28,6 +27,7 @@ meson_options_help() {
   printf "%s\n" '                           (choices:
auto/disabled/enabled/internal/system)'
   printf "%s\n" '  --enable-strip           Strip targets on install'
   printf "%s\n" '  --enable-tcg-interpreter TCG with bytecode
interpreter (slow)'
+  printf "%s\n" '  --disable-tests          run QEMU tests as part of
the build process'
   printf "%s\n" '  --enable-trace-backends=CHOICE'
   printf "%s\n" '                           Set available tracing
backends [log] (choices:'
   printf "%s\n" '
dtrace/ftrace/log/nop/simple/syslog/ust)'
@@ -97,6 +97,7 @@ meson_options_help() {
   printf "%s\n" '  parallels       parallels image format support'
   printf "%s\n" '  qcow1           qcow1 image format support'
   printf "%s\n" '  qed             qed image format support'
+  printf "%s\n" '  qga-vss         build QGA VSS support (broken with
MinGW)'
   printf "%s\n" '  rbd             Ceph block device driver'
   printf "%s\n" '  replication     replication support'
   printf "%s\n" '  sdl             SDL user interface'
@@ -322,6 +323,8 @@ _meson_option_parse() {
     --disable-tcg) printf "%s" -Dtcg=disabled ;;
     --enable-tcg-interpreter) printf "%s" -Dtcg_interpreter=true ;;
     --disable-tcg-interpreter) printf "%s" -Dtcg_interpreter=false ;;
+    --enable-tests) printf "%s" -Dtests=true ;;
+    --disable-tests) printf "%s" -Dtests=false ;;
     --enable-tools) printf "%s" -Dtools=enabled ;;
     --disable-tools) printf "%s" -Dtools=disabled ;;
     --enable-tpm) printf "%s" -Dtpm=enabled ;;
-- 
2.35.1
Re: [PATCH] allow disabling tests
Posted by Peter Maydell 3 years, 11 months ago
On Mon, 28 Feb 2022 at 16:10, Simeon Schaub <schaub@mit.edu> wrote:
>
> From b6ec17a85a8fb2431545f9c5093dbce9a090b522 Mon Sep 17 00:00:00 2001
> From: Simeon David Schaub <schaub@mit.edu>
> Date: Mon, 28 Feb 2022 10:51:04 -0500
> Subject: [PATCH] allow disabling tests
>
> Adds an option to avoid running tests as part of the build process. I
> ran `make update-buildoptions` to update the meson options, but this
> seemed to also change the `qga-vss` option. I assume this isn't intended
> to happen, any ideas what's going on there?

What tests are we running as part of the build process?
I wouldn't expect us to run any tests unless you ask for them
by running "make check".

We *build* the testcase binaries as part of the build process, which
perhaps is what you're running into ?

thanks
-- PMM
Re: [PATCH] allow disabling tests
Posted by Simeon Schaub 3 years, 11 months ago
Ah, yes, sorry, I didn't check whether the tests were actually run. I
can rename this to something more like `build-tests` if you think that's
more informative.

Best,
Simeon

On 2/28/22 11:16, Peter Maydell wrote:
> On Mon, 28 Feb 2022 at 16:10, Simeon Schaub <schaub@mit.edu> wrote:
>>
>> From b6ec17a85a8fb2431545f9c5093dbce9a090b522 Mon Sep 17 00:00:00 2001
>> From: Simeon David Schaub <schaub@mit.edu>
>> Date: Mon, 28 Feb 2022 10:51:04 -0500
>> Subject: [PATCH] allow disabling tests
>>
>> Adds an option to avoid running tests as part of the build process. I
>> ran `make update-buildoptions` to update the meson options, but this
>> seemed to also change the `qga-vss` option. I assume this isn't intended
>> to happen, any ideas what's going on there?
> 
> What tests are we running as part of the build process?
> I wouldn't expect us to run any tests unless you ask for them
> by running "make check".
> 
> We *build* the testcase binaries as part of the build process, which
> perhaps is what you're running into ?
> 
> thanks
> -- PMM
Re: [PATCH] allow disabling tests
Posted by Peter Maydell 3 years, 11 months ago
On Mon, 28 Feb 2022 at 16:22, Simeon Schaub <schaub@mit.edu> wrote:
>
> Ah, yes, sorry, I didn't check whether the tests were actually run. I
> can rename this to something more like `build-tests` if you think that's
> more informative.

What problem are you trying to solve here ? It shouldn't
matter whether we build the test binaries or not...

-- PMM
Re: [PATCH] allow disabling tests
Posted by Philippe Mathieu-Daudé 3 years, 11 months ago
On 28/2/22 17:25, Peter Maydell wrote:
> On Mon, 28 Feb 2022 at 16:22, Simeon Schaub <schaub@mit.edu> wrote:
>>
>> Ah, yes, sorry, I didn't check whether the tests were actually run. I
>> can rename this to something more like `build-tests` if you think that's
>> more informative.
> 
> What problem are you trying to solve here ? It shouldn't
> matter whether we build the test binaries or not...

Maybe speeding up the build by restricting to compiling what is required
(and saving energy), similar to 
https://lore.kernel.org/qemu-devel/20220204152924.6253-3-f4bug@amsat.org/ ?