[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.9 02/17] qemu.py: Make logging optional
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PATCH for-2.9 02/17] qemu.py: Make logging optional |
Date: |
Fri, 2 Dec 2016 19:18:01 -0200 |
If a test case doesn't make QEMU generate any output, there's no
need to redirect stdout and stderr to a file. On those cases,
logging can be disabled so any errors are included on the test
case output.
Signed-off-by: Eduardo Habkost <address@hidden>
---
Patch originally submitted as part of series:
* [RFC v2 00/20] qmp: Report bus information on 'query-machines'
---
scripts/qemu.py | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/scripts/qemu.py b/scripts/qemu.py
index 6d1b623..1468286 100644
--- a/scripts/qemu.py
+++ b/scripts/qemu.py
@@ -24,13 +24,17 @@ class QEMUMachine(object):
'''A QEMU VM'''
def __init__(self, binary, args=[], wrapper=[], name=None,
test_dir="/var/tmp",
- monitor_address=None, socket_scm_helper=None, debug=False):
+ monitor_address=None, socket_scm_helper=None, debug=False,
+ logging=True):
if name is None:
name = "qemu-%d" % os.getpid()
if monitor_address is None:
monitor_address = os.path.join(test_dir, name + "-monitor.sock")
self._monitor_address = monitor_address
- self._qemu_log_path = os.path.join(test_dir, name + ".log")
+ if logging:
+ self._qemu_log_path = os.path.join(test_dir, name + ".log")
+ else:
+ self._qemu_log_path = None
self._popen = None
self._binary = binary
self._args = list(args) # Force copy args in case we modify them
@@ -91,6 +95,8 @@ class QEMUMachine(object):
return self._popen.pid
def _load_io_log(self):
+ if self._qemu_log_path is None:
+ return
with open(self._qemu_log_path, "r") as fh:
self._iolog = fh.read()
@@ -115,17 +121,24 @@ class QEMUMachine(object):
def _post_shutdown(self):
if not isinstance(self._monitor_address, tuple):
self._remove_if_exists(self._monitor_address)
- self._remove_if_exists(self._qemu_log_path)
+ if self._qemu_log_path is not None:
+ self._remove_if_exists(self._qemu_log_path)
def launch(self):
'''Launch the VM and establish a QMP connection'''
devnull = open('/dev/null', 'rb')
- qemulog = open(self._qemu_log_path, 'wb')
+ if self._qemu_log_path is not None:
+ qemulog = open(self._qemu_log_path, 'wb')
+ stdout=qemulog
+ stderr=subprocess.STDOUT
+ else:
+ stdout=None
+ stderr=None
try:
self._pre_launch()
args = self._wrapper + [self._binary] + self._base_args() +
self._args
- self._popen = subprocess.Popen(args, stdin=devnull, stdout=qemulog,
- stderr=subprocess.STDOUT,
shell=False)
+ self._popen = subprocess.Popen(args, stdin=devnull, stdout=stdout,
+ stderr=stderr, shell=False)
self._post_launch()
except:
if self._popen:
--
2.7.4
- [Qemu-devel] [PATCH for-2.9 00/17] target-i386: Implement query-cpu-model-expansion, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 01/17] qmp: Report QOM type name on query-cpu-definitions, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 02/17] qemu.py: Make logging optional,
Eduardo Habkost <=
- [Qemu-devel] [PATCH for-2.9 03/17] qtest.py: Support QTEST_LOG environment variable, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 04/17] qtest.py: make logging optional, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 05/17] qtest.py: Make 'binary' parameter optional, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 06/17] tests: Add rules to non-gtester qtest test cases, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 07/17] target-i386: Reorganize and document CPUID initialization steps, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 08/17] target-i386: Support "-cpu host" on TCG too, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 09/17] target-i386: Move "host" properties to base class, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 10/17] target-i386: Allow short strings to be used as vendor ID, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 12/17] target-i386: Return migration-safe field on query-cpu-definitions, Eduardo Habkost, 2016/12/02
- [Qemu-devel] [PATCH for-2.9 13/17] cpu: Support comma escaping when parsing -cpu, Eduardo Habkost, 2016/12/02