qemu-rust.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
	"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
	"Halil Pasic" <pasic@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@linux.ibm.com>,
	qemu-ppc@nongnu.org,
	"Daniel Henrique Barboza" <dbarboza@ventanamicro.com>,
	"Alexandre Iooss" <erdnaxe@crans.org>,
	qemu-riscv@nongnu.org, "Thomas Huth" <huth@tuxfamily.org>,
	"Bernhard Beschow" <shentey@gmail.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Eric Farman" <farman@linux.ibm.com>,
	"Bin Meng" <bmeng.cn@gmail.com>,
	qemu-s390x@nongnu.org,
	"Niek Linnenbank" <nieklinnenbank@gmail.com>,
	qemu-arm@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"John Snow" <jsnow@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	qemu-rust@nongnu.org, "Nicholas Piggin" <npiggin@gmail.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Weiwei Li" <liwei1518@gmail.com>,
	"Mahmoud Mandour" <ma.mandourr@gmail.com>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Ani Sinha" <anisinha@redhat.com>,
	"Alistair Francis" <alistair.francis@wdc.com>
Subject: [PATCH 08/39] tests/functional: honour self.workdir in ACPI bits tests
Date: Thu, 21 Nov 2024 16:57:35 +0000	[thread overview]
Message-ID: <20241121165806.476008-9-alex.bennee@linaro.org> (raw)
In-Reply-To: <20241121165806.476008-1-alex.bennee@linaro.org>

From: Daniel P. Berrangé <berrange@redhat.com>

The ACPI bits test sets up its own private temporary directory into it
creates scratch files. This is justified by a suggestion that we need
to be able to preserve the scratch files. We have the ability to
preserve the scratch dir with our functional harness, so there's no
reason to diverge from standard practice in file placement.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20241121154218.1423005-9-berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/functional/test_acpi_bits.py | 44 +++++++++---------------------
 1 file changed, 13 insertions(+), 31 deletions(-)

diff --git a/tests/functional/test_acpi_bits.py b/tests/functional/test_acpi_bits.py
index 4c192d95cc..3498b96787 100755
--- a/tests/functional/test_acpi_bits.py
+++ b/tests/functional/test_acpi_bits.py
@@ -150,7 +150,6 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self._vm = None
-        self._workDir = None
         self._baseDir = None
 
         self._debugcon_addr = '0x403'
@@ -169,7 +168,7 @@ def copy_bits_config(self):
         config_file = 'bits-cfg.txt'
         bits_config_dir = os.path.join(self._baseDir, 'acpi-bits',
                                        'bits-config')
-        target_config_dir = os.path.join(self._workDir,
+        target_config_dir = os.path.join(self.workdir,
                                          'bits-%d' %self.BITS_INTERNAL_VER,
                                          'boot')
         self.assertTrue(os.path.exists(bits_config_dir))
@@ -186,7 +185,7 @@ def copy_test_scripts(self):
 
         bits_test_dir = os.path.join(self._baseDir, 'acpi-bits',
                                      'bits-tests')
-        target_test_dir = os.path.join(self._workDir,
+        target_test_dir = os.path.join(self.workdir,
                                        'bits-%d' %self.BITS_INTERNAL_VER,
                                        'boot', 'python')
 
@@ -225,8 +224,8 @@ def fix_mkrescue(self, mkrescue):
             the directory where we have extracted our pre-built bits grub
             tarball.
         """
-        grub_x86_64_mods = os.path.join(self._workDir, 'grub-inst-x86_64-efi')
-        grub_i386_mods = os.path.join(self._workDir, 'grub-inst')
+        grub_x86_64_mods = os.path.join(self.workdir, 'grub-inst-x86_64-efi')
+        grub_i386_mods = os.path.join(self.workdir, 'grub-inst')
 
         self.assertTrue(os.path.exists(grub_x86_64_mods))
         self.assertTrue(os.path.exists(grub_i386_mods))
@@ -247,11 +246,11 @@ def generate_bits_iso(self):
         """ Uses grub-mkrescue to generate a fresh bits iso with the python
             test scripts
         """
-        bits_dir = os.path.join(self._workDir,
+        bits_dir = os.path.join(self.workdir,
                                 'bits-%d' %self.BITS_INTERNAL_VER)
-        iso_file = os.path.join(self._workDir,
+        iso_file = os.path.join(self.workdir,
                                 'bits-%d.iso' %self.BITS_INTERNAL_VER)
-        mkrescue_script = os.path.join(self._workDir,
+        mkrescue_script = os.path.join(self.workdir,
                                        'grub-inst-x86_64-efi', 'bin',
                                        'grub-mkrescue')
 
@@ -290,17 +289,7 @@ def setUp(self): # pylint: disable=arguments-differ
 
         self._baseDir = Path(__file__).parent
 
-        # workdir could also be avocado's own workdir in self.workdir.
-        # At present, I prefer to maintain my own temporary working
-        # directory. It gives us more control over the generated bits
-        # log files and also for debugging, we may chose not to remove
-        # this working directory so that the logs and iso can be
-        # inspected manually and archived if needed.
-        self._workDir = tempfile.mkdtemp(prefix='acpi-bits-',
-                                         suffix='.tmp')
-        self.logger.info('working dir: %s', self._workDir)
-
-        prebuiltDir = os.path.join(self._workDir, 'prebuilt')
+        prebuiltDir = os.path.join(self.workdir, 'prebuilt')
         if not os.path.isdir(prebuiltDir):
             os.mkdir(prebuiltDir, mode=0o775)
 
@@ -321,10 +310,10 @@ def setUp(self): # pylint: disable=arguments-differ
 
         # extract the bits software in the temp working directory
         with zipfile.ZipFile(bits_zip_file, 'r') as zref:
-            zref.extractall(self._workDir)
+            zref.extractall(self.workdir)
 
         with tarfile.open(grub_tar_file, 'r', encoding='utf-8') as tarball:
-            tarball.extractall(self._workDir)
+            tarball.extractall(self.workdir)
 
         self.copy_test_scripts()
         self.copy_bits_config()
@@ -334,7 +323,7 @@ def parse_log(self):
         """parse the log generated by running bits tests and
            check for failures.
         """
-        debugconf = os.path.join(self._workDir, self._debugcon_log)
+        debugconf = os.path.join(self.workdir, self._debugcon_log)
         log = ""
         with open(debugconf, 'r', encoding='utf-8') as filehandle:
             log = filehandle.read()
@@ -360,25 +349,18 @@ def tearDown(self):
         """
         if self._vm:
             self.assertFalse(not self._vm.is_running)
-        if not os.getenv('BITS_DEBUG') and self._workDir:
-            self.logger.info('removing the work directory %s', self._workDir)
-            shutil.rmtree(self._workDir)
-        else:
-            self.logger.info('not removing the work directory %s ' \
-                             'as BITS_DEBUG is ' \
-                             'passed in the environment', self._workDir)
         super().tearDown()
 
     def test_acpi_smbios_bits(self):
         """The main test case implementation."""
 
-        iso_file = os.path.join(self._workDir,
+        iso_file = os.path.join(self.workdir,
                                 'bits-%d.iso' %self.BITS_INTERNAL_VER)
 
         self.assertTrue(os.access(iso_file, os.R_OK))
 
         self._vm = QEMUBitsMachine(binary=self.qemu_bin,
-                                   base_temp_dir=self._workDir,
+                                   base_temp_dir=self.workdir,
                                    debugcon_log=self._debugcon_log,
                                    debugcon_addr=self._debugcon_addr)
 
-- 
2.39.5



  parent reply	other threads:[~2024-11-21 16:59 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-21 16:57 [PATCH 00/39] maintainer updates for -rc2 pre-PR Alex Bennée
2024-11-21 16:57 ` [PATCH 01/39] tests/functional: fix mips64el test to honour workdir Alex Bennée
2024-11-21 16:57 ` [PATCH 02/39] tests/functional: automatically clean up scratch files after tests Alex Bennée
2024-11-21 16:57 ` [PATCH 03/39] tests/functional: remove "AVOCADO" from env variable name Alex Bennée
2024-11-21 16:57 ` [PATCH 04/39] tests/functional: remove todo wrt avocado.utils.wait_for Alex Bennée
2024-11-21 16:57 ` [PATCH 05/39] tests/functional: remove leftover :avocado: tags Alex Bennée
2024-11-21 16:57 ` [PATCH 06/39] tests/functional: remove obsolete reference to avocado bug Alex Bennée
2024-11-21 16:57 ` [PATCH 07/39] tests/functional: remove comments talking about avocado Alex Bennée
2024-11-21 19:03   ` Pierrick Bouvier
2024-11-21 16:57 ` Alex Bennée [this message]
2024-11-21 16:57 ` [PATCH 09/39] tests/functional: put QEMUMachine logs in testcase log directory Alex Bennée
2024-11-21 16:57 ` [PATCH 10/39] tests/functional: honour requested test VM name in QEMUMachine Alex Bennée
2024-11-21 16:57 ` [PATCH 11/39] tests/functional: enable debug logging for QEMUMachine Alex Bennée
2024-11-21 19:02   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 12/39] tests/functional: logs details of console interaction operations Alex Bennée
2024-11-21 19:03   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 13/39] tests/functional: don't try to wait for the empty string Alex Bennée
2024-11-21 19:04   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 14/39] tests/functional: require non-NULL success_message for console wait Alex Bennée
2024-11-21 19:24   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 15/39] tests/functional: rewrite console handling to be bytewise Alex Bennée
2024-11-21 16:57 ` [PATCH 16/39] tests/functional: remove time.sleep usage from tuxrun tests Alex Bennée
2024-11-21 19:39   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 17/39] tests/functional: add a QMP backdoor for debugging stalled tests Alex Bennée
2024-11-21 19:41   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 18/39] tests/functional: avoid accessing log_filename on earlier failures Alex Bennée
2024-11-22 10:19   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 19/39] tests/functional: Convert the Avocado aarch64 tuxrun tests Alex Bennée
2024-11-21 16:57 ` [PATCH 20/39] tests/functional: update the arm " Alex Bennée
2024-11-22 10:22   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 21/39] tests/functional: update the aarch64 " Alex Bennée
2024-11-21 19:08   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 22/39] tests/functional: update the i386 " Alex Bennée
2024-11-22 11:17   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 23/39] tests/functional: add a m68k " Alex Bennée
2024-11-21 19:07   ` Thomas Huth
2024-11-22 10:16   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 24/39] tests/functional: update the mips32 " Alex Bennée
2024-11-22 10:08   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 25/39] tests/functional: update the mips32el " Alex Bennée
2024-11-22 10:09   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 26/39] tests/functional: update the mips64 " Alex Bennée
2024-11-22 10:09   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 27/39] tests/functional: update the mips64el " Alex Bennée
2024-11-22 10:11   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 28/39] tests/functional: update the ppc32 " Alex Bennée
2024-11-22 10:42   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 29/39] tests/functional: update the ppc64 " Alex Bennée
2024-11-22  9:52   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 30/39] tests/functional: update the riscv32 " Alex Bennée
2024-11-22 10:58   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 31/39] tests/functional: update the riscv64 " Alex Bennée
2024-11-22 11:02   ` Thomas Huth
2024-11-21 16:57 ` [PATCH 32/39] tests/functional: update the s390x " Alex Bennée
2024-11-22 11:00   ` Thomas Huth
2024-11-21 16:58 ` [PATCH 33/39] tests/functional: update the sparc64 " Alex Bennée
2024-11-22 11:02   ` Thomas Huth
2024-11-21 16:58 ` [PATCH 34/39] tests/functional: update the x86_64 " Alex Bennée
2024-11-22 11:15   ` Thomas Huth
2024-11-21 16:58 ` [PATCH 35/39] plugins: add missing export for qemu_plugin_num_vcpus Alex Bennée
2024-11-21 16:58 ` [PATCH 36/39] plugins: detect qemu plugin API symbols from header Alex Bennée
2024-11-21 16:58 ` [PATCH 37/39] plugins: eradicate qemu-plugins.symbols static file Alex Bennée
2024-11-21 16:58 ` [PATCH 38/39] rust/pl011: Fix range checks for device ID accesses Alex Bennée
2024-11-21 16:58 ` [PATCH 39/39] docs: explicitly permit a "commonly known identity" with SoB Alex Bennée
2024-11-26  4:55   ` Ani Sinha
2024-11-26 21:27   ` Michael S. Tsirkin
2024-11-21 17:19 ` [PATCH 00/39] maintainer updates for -rc2 pre-PR Peter Maydell
2024-11-21 17:31   ` Alex Bennée
2024-11-22 10:45     ` Thomas Huth
2024-11-23 15:29       ` Alex Bennée
2024-11-21 19:03 ` Cédric Le Goater
2024-11-21 19:10   ` Thomas Huth
2024-11-21 21:46     ` Cédric Le Goater
2024-11-22 10:47       ` Thomas Huth
2024-11-22 11:59         ` Cédric Le Goater
2024-11-22 12:32           ` Thomas Huth
2024-11-22 13:03             ` Cédric Le Goater
2024-11-22 10:14 ` Thomas Huth

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=20241121165806.476008-9-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=alistair.francis@wdc.com \
    --cc=anisinha@redhat.com \
    --cc=armbru@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=bmeng.cn@gmail.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=crosa@redhat.com \
    --cc=danielhb413@gmail.com \
    --cc=dbarboza@ventanamicro.com \
    --cc=erdnaxe@crans.org \
    --cc=farman@linux.ibm.com \
    --cc=harshpb@linux.ibm.com \
    --cc=huth@tuxfamily.org \
    --cc=jiaxun.yang@flygoat.com \
    --cc=jsnow@redhat.com \
    --cc=liwei1518@gmail.com \
    --cc=ma.mandourr@gmail.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mst@redhat.com \
    --cc=nieklinnenbank@gmail.com \
    --cc=npiggin@gmail.com \
    --cc=palmer@dabbelt.com \
    --cc=pasic@linux.ibm.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=pierrick.bouvier@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=qemu-rust@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=shentey@gmail.com \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=zhiwei_liu@linux.alibaba.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).