2
0

test-driver.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #! /usr/bin/env python3
  2. # Wrapper for tests that hides the output if they succeed.
  3. # Used by "make check"
  4. #
  5. # Copyright (C) 2020 Red Hat, Inc.
  6. #
  7. # Author: Paolo Bonzini <pbonzini@redhat.com>
  8. import subprocess
  9. import sys
  10. import os
  11. import argparse
  12. parser = argparse.ArgumentParser(description='Test driver for QEMU')
  13. parser.add_argument('-C', metavar='DIR', dest='dir', default='.',
  14. help='change to DIR before doing anything else')
  15. parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
  16. help='be more verbose')
  17. parser.add_argument('test_args', nargs=argparse.REMAINDER)
  18. args = parser.parse_args()
  19. os.chdir(args.dir)
  20. test_args = args.test_args
  21. if test_args[0] == '--':
  22. test_args = test_args[1:]
  23. if args.verbose:
  24. result = subprocess.run(test_args, stdout=None, stderr=None)
  25. else:
  26. result = subprocess.run(test_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
  27. if result.returncode:
  28. sys.stdout.buffer.write(result.stdout)
  29. sys.exit(result.returncode)