mirror of https://github.com/xemu-project/xemu.git
tests/functional: Set up logging
Create log files for each test separately, one file that contains the basic logging and one that contains the console output. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20240830133841.142644-10-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
fa32a63432
commit
84e4a27fed
|
@ -31,7 +31,8 @@ class QemuBaseTest(unittest.TestCase):
|
||||||
arch = None
|
arch = None
|
||||||
|
|
||||||
workdir = None
|
workdir = None
|
||||||
log = logging.getLogger('qemu-test')
|
log = None
|
||||||
|
logdir = None
|
||||||
|
|
||||||
def setUp(self, bin_prefix):
|
def setUp(self, bin_prefix):
|
||||||
self.assertIsNotNone(self.qemu_bin, 'QEMU_TEST_QEMU_BINARY must be set')
|
self.assertIsNotNone(self.qemu_bin, 'QEMU_TEST_QEMU_BINARY must be set')
|
||||||
|
@ -41,6 +42,20 @@ class QemuBaseTest(unittest.TestCase):
|
||||||
self.id())
|
self.id())
|
||||||
os.makedirs(self.workdir, exist_ok=True)
|
os.makedirs(self.workdir, exist_ok=True)
|
||||||
|
|
||||||
|
self.logdir = self.workdir
|
||||||
|
self.log = logging.getLogger('qemu-test')
|
||||||
|
self.log.setLevel(logging.DEBUG)
|
||||||
|
self._log_fh = logging.FileHandler(os.path.join(self.logdir,
|
||||||
|
'base.log'), mode='w')
|
||||||
|
self._log_fh.setLevel(logging.DEBUG)
|
||||||
|
fileFormatter = logging.Formatter(
|
||||||
|
'%(asctime)s - %(levelname)s: %(message)s')
|
||||||
|
self._log_fh.setFormatter(fileFormatter)
|
||||||
|
self.log.addHandler(self._log_fh)
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.log.removeHandler(self._log_fh)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
path = os.path.basename(sys.argv[0])[:-3]
|
path = os.path.basename(sys.argv[0])[:-3]
|
||||||
tr = pycotap.TAPTestRunner(message_log = pycotap.LogMode.LogToError,
|
tr = pycotap.TAPTestRunner(message_log = pycotap.LogMode.LogToError,
|
||||||
|
@ -60,6 +75,15 @@ class QemuSystemTest(QemuBaseTest):
|
||||||
|
|
||||||
super().setUp('qemu-system-')
|
super().setUp('qemu-system-')
|
||||||
|
|
||||||
|
console_log = logging.getLogger('console')
|
||||||
|
console_log.setLevel(logging.DEBUG)
|
||||||
|
self._console_log_fh = logging.FileHandler(os.path.join(self.workdir,
|
||||||
|
'console.log'), mode='w')
|
||||||
|
self._console_log_fh.setLevel(logging.DEBUG)
|
||||||
|
fileFormatter = logging.Formatter('%(asctime)s: %(message)s')
|
||||||
|
self._console_log_fh.setFormatter(fileFormatter)
|
||||||
|
console_log.addHandler(self._console_log_fh)
|
||||||
|
|
||||||
def set_machine(self, machinename):
|
def set_machine(self, machinename):
|
||||||
# TODO: We should use QMP to get the list of available machines
|
# TODO: We should use QMP to get the list of available machines
|
||||||
if not self._machinehelp:
|
if not self._machinehelp:
|
||||||
|
@ -150,4 +174,5 @@ class QemuSystemTest(QemuBaseTest):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
for vm in self._vms.values():
|
for vm in self._vms.values():
|
||||||
vm.shutdown()
|
vm.shutdown()
|
||||||
|
logging.getLogger('console').removeHandler(self._console_log_fh)
|
||||||
super().tearDown()
|
super().tearDown()
|
||||||
|
|
Loading…
Reference in New Issue