From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Fabiano Rosas" <farosas@suse.de>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"John Snow" <jsnow@redhat.com>,
qemu-ppc@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Ani Sinha" <anisinha@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>
Subject: [PATCH v3 03/24] tests/functional: Set up logging
Date: Tue, 30 Jul 2024 18:03:23 +0100 [thread overview]
Message-ID: <20240730170347.4103919-4-berrange@redhat.com> (raw)
In-Reply-To: <20240730170347.4103919-1-berrange@redhat.com>
From: Thomas Huth <thuth@redhat.com>
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>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/qemu_test/testcase.py | 27 +++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py
index 82cc1d454f..27bbf4a0af 100644
--- a/tests/functional/qemu_test/testcase.py
+++ b/tests/functional/qemu_test/testcase.py
@@ -31,7 +31,8 @@ class QemuBaseTest(unittest.TestCase):
arch = None
workdir = None
- log = logging.getLogger('qemu-test')
+ log = None
+ logdir = None
def setUp(self, bin_prefix):
self.assertIsNotNone(self.qemu_bin, 'QEMU_TEST_QEMU_BINARY must be set')
@@ -42,6 +43,20 @@ def setUp(self, bin_prefix):
if not os.path.exists(self.workdir):
os.makedirs(self.workdir)
+ 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():
tr = pycotap.TAPTestRunner(message_log = pycotap.LogMode.LogToError,
test_output_log = pycotap.LogMode.LogToError)
@@ -61,6 +76,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:
@@ -151,4 +175,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
next prev parent reply other threads:[~2024-07-30 17:05 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-30 17:03 [PATCH v3 00/24] Convert avocado tests to normal Python unittests Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 01/24] python: Install pycotap in our venv if necessary Daniel P. Berrangé
2024-07-31 12:49 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 02/24] tests/functional: Add base classes for the upcoming pytest-based tests Daniel P. Berrangé
2024-07-31 12:53 ` Philippe Mathieu-Daudé
2024-07-31 14:24 ` Alex Bennée
2024-08-01 10:07 ` Daniel P. Berrangé
2024-08-01 16:11 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` Daniel P. Berrangé [this message]
2024-08-01 10:10 ` [PATCH v3 03/24] tests/functional: Set up logging Alex Bennée
2024-08-13 9:34 ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 04/24] tests/Makefile.include: Increase the level of indentation in the help text Daniel P. Berrangé
2024-07-31 12:49 ` Philippe Mathieu-Daudé
2024-08-01 10:00 ` Alex Bennée
2024-07-30 17:03 ` [PATCH v3 05/24] tests/functional: Prepare the meson build system for the functional tests Daniel P. Berrangé
2024-08-01 16:12 ` Philippe Mathieu-Daudé
2024-08-13 12:00 ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 06/24] tests/functional: Convert simple avocado tests into standalone python tests Daniel P. Berrangé
2024-07-31 12:52 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 07/24] tests/functional: Convert avocado tests that just need a small adjustment Daniel P. Berrangé
2024-07-31 12:55 ` Philippe Mathieu-Daudé
2024-08-01 16:13 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 08/24] tests/functional: add a module for handling asset download & caching Daniel P. Berrangé
2024-08-01 16:20 ` Philippe Mathieu-Daudé
2024-08-01 17:00 ` Daniel P. Berrangé
2024-08-01 17:02 ` Daniel P. Berrangé
2024-08-02 13:24 ` Philippe Mathieu-Daudé
2024-08-01 21:51 ` Richard Henderson
2024-08-02 8:32 ` Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 09/24] tests/functional: enable pre-emptive caching of assets Daniel P. Berrangé
2024-07-31 5:01 ` Richard Henderson
2024-08-01 16:01 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 10/24] tests/functional: Convert some tests that download files via fetch_asset() Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 11/24] tests/functional: Add a function for extracting files from an archive Daniel P. Berrangé
2024-08-01 16:22 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 12/24] tests/functional: Convert some avocado tests that needed avocado.utils.archive Daniel P. Berrangé
2024-08-01 16:27 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 13/24] tests/functional: Convert the s390x avocado tests into standalone tests Daniel P. Berrangé
2024-08-01 17:11 ` Philippe Mathieu-Daudé
2024-08-01 17:38 ` Daniel P. Berrangé
2024-08-02 13:25 ` Philippe Mathieu-Daudé
2024-08-13 12:04 ` Thomas Huth
2024-08-13 12:08 ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 14/24] tests/functional: Convert the x86_cpu_model_versions test Daniel P. Berrangé
2024-08-01 16:43 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 15/24] tests/functional: Convert the microblaze avocado tests into standalone tests Daniel P. Berrangé
2024-08-02 16:16 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 16/24] tests/functional: Convert the riscv_opensbi avocado test into a standalone test Daniel P. Berrangé
2024-07-31 12:56 ` Philippe Mathieu-Daudé
2024-07-31 23:00 ` Richard Henderson
2024-08-01 10:09 ` Daniel P. Berrangé
2024-08-01 15:11 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 17/24] tests/functional: Convert the virtio_gpu " Daniel P. Berrangé
2024-08-02 16:35 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 18/24] tests/functional: Convert most ppc avocado tests into standalone tests Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 19/24] tests/functional: Convert the ppc_amiga avocado test into a standalone test Daniel P. Berrangé
2024-08-02 16:19 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 20/24] tests/functional: Convert the ppc_hv " Daniel P. Berrangé
2024-08-05 22:58 ` Nicholas Piggin
2024-07-30 17:03 ` [PATCH v3 21/24] tests/functional: Convert the m68k nextcube test with tesseract Daniel P. Berrangé
2024-08-01 16:33 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 22/24] tests/functional: Convert the acpi-bits test into a standalone test Daniel P. Berrangé
2024-08-02 16:10 ` Philippe Mathieu-Daudé
2024-08-02 16:12 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 23/24] tests/functional: Convert the rx_gdbsim avocado " Daniel P. Berrangé
2024-08-01 16:40 ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 24/24] gitlab-ci: Add "check-functional" to the build tests Daniel P. Berrangé
2024-08-01 16:40 ` Philippe Mathieu-Daudé
2024-07-30 18:38 ` [PATCH v3 00/24] Convert avocado tests to normal Python unittests Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240730170347.4103919-4-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=anisinha@redhat.com \
--cc=farosas@suse.de \
--cc=jsnow@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).