From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 04/39] mtest2make: hide output of successful tests
Date: Wed, 2 Sep 2020 08:58:42 -0400 [thread overview]
Message-ID: <20200902125917.26021-5-pbonzini@redhat.com> (raw)
In-Reply-To: <20200902125917.26021-1-pbonzini@redhat.com>
The softfloat tests are quite noisy; before the Meson conversion
they buffered the output in a file and emitted the output only
if the test failed. Tweak mtest2make.py so that the courtesy
is extended to all non-TAP tests.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
scripts/mtest2make.py | 2 +-
scripts/test-driver.py | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
create mode 100644 scripts/test-driver.py
diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py
index c709b37f28..27425080cf 100644
--- a/scripts/mtest2make.py
+++ b/scripts/mtest2make.py
@@ -21,7 +21,7 @@ SPEED = quick
# $1 = environment, $2 = test command, $3 = test name, $4 = dir
.test-human-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | ./scripts/tap-driver.pl --test-name="$3" $(if $(V),,--show-failures-only)
-.test-human-exitcode = $1 $(if $4,(cd $4 && $2),$2) < /dev/null
+.test-human-exitcode = $1 $(PYTHON) scripts/test-driver.py $(if $4,-C$4) $(if $(V),--verbose) -- $2 < /dev/null
.test-tap-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | sed "s/^[a-z][a-z]* [0-9]*/& $3/" || true
.test-tap-exitcode = printf "%s\\n" 1..1 "`$1 $(if $4,(cd $4 && $2),$2) < /dev/null > /dev/null || echo "not "`ok 1 $3"
.test.print = echo $(if $(V),'$1 $2','Running test $3') >&3
diff --git a/scripts/test-driver.py b/scripts/test-driver.py
new file mode 100644
index 0000000000..eef74b29a8
--- /dev/null
+++ b/scripts/test-driver.py
@@ -0,0 +1,35 @@
+#! /usr/bin/env python3
+
+# Wrapper for tests that hides the output if they succeed.
+# Used by "make check"
+#
+# Copyright (C) 2020 Red Hat, Inc.
+#
+# Author: Paolo Bonzini <pbonzini@redhat.com>
+
+import subprocess
+import sys
+import os
+import argparse
+
+parser = argparse.ArgumentParser(description='Test driver for QEMU')
+parser.add_argument('-C', metavar='DIR', dest='dir', default='.',
+ help='change to DIR before doing anything else')
+parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
+ help='be more verbose')
+parser.add_argument('test_args', nargs=argparse.REMAINDER)
+
+args = parser.parse_args()
+os.chdir(args.dir)
+
+test_args = args.test_args
+if test_args[0] == '--':
+ test_args = test_args[1:]
+
+if args.verbose:
+ result = subprocess.run(test_args, stdout=None, stderr=None)
+else:
+ result = subprocess.run(test_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ if result.returncode:
+ sys.stdout.buffer.write(result.stdout)
+sys.exit(result.returncode)
--
2.26.2
next prev parent reply other threads:[~2020-09-02 13:12 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-02 12:58 [PATCH 00/39] Next round of Meson fixes and cleanups Paolo Bonzini
2020-09-02 12:58 ` [PATCH 01/39] configure: Add system = 'linux' for meson when cross-compiling Paolo Bonzini
2020-09-02 14:47 ` Alex Bennée
2020-09-02 12:58 ` [PATCH 02/39] mtest2make: split environment from test command Paolo Bonzini
2020-09-02 12:58 ` [PATCH 03/39] mtest2make: split working directory " Paolo Bonzini
2020-09-02 12:58 ` Paolo Bonzini [this message]
2020-09-02 12:58 ` [PATCH 05/39] mtest2make: unify tests that appear in multiple suites Paolo Bonzini
2020-09-02 12:58 ` [PATCH 06/39] meson: remove b_lundef option Paolo Bonzini
2020-09-02 12:58 ` [PATCH 07/39] configure: do not include absolute paths in -I and -L paths Paolo Bonzini
2020-09-02 12:58 ` [PATCH 08/39] configure: include cross sdl2-config in meson cross file Paolo Bonzini
2020-09-02 12:58 ` [PATCH 09/39] ninjatool: use constant names for stamp files Paolo Bonzini
2020-09-02 12:58 ` [PATCH 10/39] meson: fix libqos linking Paolo Bonzini
2020-09-02 12:58 ` [PATCH 11/39] meson: build qapi tests library Paolo Bonzini
2020-09-02 12:58 ` [PATCH 12/39] meson: declare tasn1 dependency Paolo Bonzini
2020-09-02 12:58 ` [PATCH 13/39] meson: declare keyutils dependency Paolo Bonzini
2020-09-02 12:58 ` [PATCH 14/39] meson: convert qht-bench Paolo Bonzini
2020-09-02 12:58 ` [PATCH 15/39] tests: qga has virtio-serial by default when host has it Paolo Bonzini
2020-09-02 12:58 ` [PATCH 16/39] meson: convert the unit tests Paolo Bonzini
2020-09-02 12:58 ` [PATCH 17/39] meson: move keyutils dependency check Paolo Bonzini
2020-09-02 12:58 ` [PATCH 18/39] meson: remove old socket_scm_helper rule Paolo Bonzini
2020-09-02 12:58 ` [PATCH 19/39] meson: convert vhost-user-bridge Paolo Bonzini
2020-09-02 12:58 ` [PATCH 20/39] meson: convert atomic*-bench Paolo Bonzini
2020-09-02 12:58 ` [PATCH 21/39] tests: do not print benchmark output to stdout Paolo Bonzini
2020-09-02 12:59 ` [PATCH 22/39] meson: convert the speed tests Paolo Bonzini
2020-09-02 12:59 ` [PATCH 23/39] tests/migration/stress: remove unused exit_success Paolo Bonzini
2020-09-02 12:59 ` [PATCH 24/39] meson: fix migration/stress compilation with glibc>=2.30 Paolo Bonzini
2020-09-02 12:59 ` [PATCH 25/39] meson: convert migration/initrd-stress Paolo Bonzini
2020-09-02 12:59 ` [PATCH 26/39] configure: remove dead code for in-tree builds Paolo Bonzini
2020-09-02 12:59 ` [PATCH 27/39] meson: compute config_all_devices directly Paolo Bonzini
2020-09-02 12:59 ` [PATCH 28/39] Makefile: remove dead variables and includes Paolo Bonzini
2020-09-02 12:59 ` [PATCH 29/39] Makefile: inline the relevant parts of rules.mak Paolo Bonzini
2020-09-02 12:59 ` [PATCH 30/39] configure: move disassembler configuration to meson Paolo Bonzini
2020-09-02 12:59 ` [PATCH 31/39] configure: move C++ compiler handling " Paolo Bonzini
2020-09-02 12:59 ` [PATCH 32/39] meson: keep all compiler flags detection together Paolo Bonzini
2020-09-02 12:59 ` [PATCH 33/39] configure: move -ldl test to meson Paolo Bonzini
2020-09-02 12:59 ` [PATCH 34/39] configure: remove unnecessary libm test Paolo Bonzini
2020-09-02 12:59 ` [PATCH 35/39] configure: do not look for install(1) Paolo Bonzini
2020-09-02 12:59 ` [PATCH 36/39] meson: get glib compilation flags from GLIB_CFLAGS Paolo Bonzini
2020-09-02 12:59 ` [PATCH 37/39] configure: do not include dependency flags in QEMU_CFLAGS and LIBS Paolo Bonzini
2020-09-02 12:59 ` [PATCH 38/39] configure: drop dead variables Paolo Bonzini
2020-09-02 12:59 ` [PATCH 39/39] docs: suggest Meson replacements for various configure functions Paolo Bonzini
2020-09-02 13:14 ` [PATCH 00/39] Next round of Meson fixes and cleanups Marc-André Lureau
2020-09-02 13:46 ` Paolo Bonzini
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=20200902125917.26021-5-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).