[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 09/11] tests/functional: Set up logging
From: |
Thomas Huth |
Subject: |
[PATCH 09/11] tests/functional: Set up logging |
Date: |
Tue, 16 Jul 2024 13:26:12 +0200 |
Create log files for each test separately, one file that contains
the basic logging and one that contains the console output.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/qemu_test/__init__.py | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/tests/functional/qemu_test/__init__.py
b/tests/functional/qemu_test/__init__.py
index 77c3b14d34..cc49fd4c94 100644
--- a/tests/functional/qemu_test/__init__.py
+++ b/tests/functional/qemu_test/__init__.py
@@ -208,7 +208,7 @@ class QemuBaseTest(unittest.TestCase):
BUILD_DIR = _build_dir()
workdir = None
- log = logging.getLogger('qemu-test')
+ log = None
def setUp(self, bin_prefix):
self.assertIsNotNone(self.qemu_bin, 'QEMU_TEST_QEMU_BINARY must be
set')
@@ -218,6 +218,18 @@ def setUp(self, bin_prefix):
if not os.path.exists(self.workdir):
os.makedirs(self.workdir)
+ self.log = logging.getLogger('qemu-test')
+ self.log.setLevel(logging.DEBUG)
+ self._log_fh = logging.FileHandler(os.path.join(self.workdir,
+ '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 check_hash(self, file_name, expected_hash):
if not expected_hash:
return True
@@ -269,6 +281,15 @@ def setUp(self):
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):
# TODO: We should use QMP to get the list of available machines
if not self._machinehelp:
@@ -359,4 +380,5 @@ def set_vm_arg(self, arg, value):
def tearDown(self):
for vm in self._vms.values():
vm.shutdown()
+ logging.getLogger('console').removeHandler(self._console_log_fh)
super().tearDown()
--
2.45.2
- Re: [PATCH 04/11] tests/functional: Add python-based tests to the meson build system, (continued)
- [PATCH 03/11] tests/functional: Convert avocado tests that just need a small adjustment, Thomas Huth, 2024/07/16
- [PATCH 05/11] tests/functional: Implement fetch_asset() method for downloading assets, Thomas Huth, 2024/07/16
- [PATCH 08/11] tests/functional: Convert some avocado tests that needed avocado.utils.archive, Thomas Huth, 2024/07/16
- [PATCH 06/11] tests/functional: Convert some tests that download files via fetch_asset(), Thomas Huth, 2024/07/16
- [PATCH 09/11] tests/functional: Set up logging,
Thomas Huth <=
- [PATCH 10/11] tests/functional: Convert the s390x avocado tests into standalone tests, Thomas Huth, 2024/07/16
- [PATCH 07/11] tests/functional: Add a function for extracting files from an archive, Thomas Huth, 2024/07/16
- [PATCH 11/11] gitlab-ci: Add "check-functional" to the build tests, Thomas Huth, 2024/07/16
- Re: [PATCH v1 00/11] Convert avocado tests to normal Python unittests, Daniel P . Berrangé, 2024/07/16