mtest2make: hide output of successful tests
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>
This commit is contained in:
parent
42d729e12c
commit
d322e84eef
@ -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
|
||||
|
35
scripts/test-driver.py
Normal file
35
scripts/test-driver.py
Normal file
@ -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)
|
Loading…
Reference in New Issue
Block a user