acpi/tests/avocado/bits: keep the work directory when BITS_DEBUG is set in env

Debugging bits issue often involves running the QEMU command line manually
outside of the avocado environment with the generated ISO. Hence, its
inconvenient if the iso gets cleaned up after the test has finished. This change
makes sure that the work directory is kept after the test finishes if the test
is run with BITS_DEBUG=1 in the environment so that the iso is available for use
with the QEMU command line.

CC: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20221117113630.543495-1-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Ani Sinha 2022-11-17 17:06:30 +05:30 committed by Michael S. Tsirkin
parent c4d4c40c51
commit 04e5bd441a

View File

@ -260,7 +260,7 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
self.logger.info('using grub-mkrescue for generating biosbits iso ...') self.logger.info('using grub-mkrescue for generating biosbits iso ...')
try: try:
if os.getenv('V'): if os.getenv('V') or os.getenv('BITS_DEBUG'):
subprocess.check_call([mkrescue_script, '-o', iso_file, subprocess.check_call([mkrescue_script, '-o', iso_file,
bits_dir], stderr=subprocess.STDOUT) bits_dir], stderr=subprocess.STDOUT)
else: else:
@ -344,7 +344,7 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
self._print_log(log) self._print_log(log)
raise e raise e
else: else:
if os.getenv('V'): if os.getenv('V') or os.getenv('BITS_DEBUG'):
self._print_log(log) self._print_log(log)
def tearDown(self): def tearDown(self):
@ -353,8 +353,13 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
""" """
if self._vm: if self._vm:
self.assertFalse(not self._vm.is_running) self.assertFalse(not self._vm.is_running)
if not os.getenv('BITS_DEBUG'):
self.logger.info('removing the work directory %s', self._workDir) self.logger.info('removing the work directory %s', self._workDir)
shutil.rmtree(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() super().tearDown()
def test_acpi_smbios_bits(self): def test_acpi_smbios_bits(self):