From nobody Sat Nov 23 16:46:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1732203903; cv=none; d=zohomail.com; s=zohoarc; b=QkVkD3mezoHwOkebE2Iudlh2XZDJbzvFoJMg+nMbnO25bDEIPuEvZ6O/tAX9GZirL2RJcgcTqVSxvzULnOq/y1c8QkbMGEClGB0/CW1NG3Tc2bDIIJqEG26JoWJDMOt0DwXVqbVGORAIVieLMI+Yffs1r+a1iBEKLFBUjshu9WQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1732203903; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=q500sd/R/a7Oc6lEDFtNG88UxgBcWgktEG6Muqv7R+8=; b=bUp8yVRnvYbpsz6adJV0yXRHKqO43Vu5lB6BrEbpSTR1F7lYyM4zDXEYYhr4hrkOrEY+DZdpJqImwF6vTIwfTSkg0+ZSCU3M41asxTa4/FCZKOfUZvR6bMu31zaivTlL5j9MRPHFmDGNR8Dlu2THMJEd7xifhlAHaY/ILuytJ20= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1732203903558253.9868755994812; Thu, 21 Nov 2024 07:45:03 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tE9Lp-0001qD-LE; Thu, 21 Nov 2024 10:44:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tE9L8-0000Te-8l for qemu-devel@nongnu.org; Thu, 21 Nov 2024 10:43:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tE9L4-0000m3-3v for qemu-devel@nongnu.org; Thu, 21 Nov 2024 10:43:29 -0500 Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-591-QfD08tKLP9S1FhzFUitHIg-1; Thu, 21 Nov 2024 10:43:14 -0500 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7C31219560B0; Thu, 21 Nov 2024 15:43:13 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.42.28.5]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2F2171956086; Thu, 21 Nov 2024 15:43:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732203797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=q500sd/R/a7Oc6lEDFtNG88UxgBcWgktEG6Muqv7R+8=; b=NryQPFsVPJ3lMFeUNqcsFTg3h6/gumPaQvAnnezb8hZ3q7/R0N3sctrI75Y/KGcSnGBxyj Hc7m9gyXGTrBObZzdvY1vWjl5B8KUx6z0Pxuuvhet6olkDyVpljkBe7/A1cA89+5scllRH K5NIwtm89IVPlbvL+N8XLChSweXY6XA= X-MC-Unique: QfD08tKLP9S1FhzFUitHIg-1 X-Mimecast-MFC-AGG-ID: QfD08tKLP9S1FhzFUitHIg From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , Ani Sinha , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v2 08/18] tests/functional: honour self.workdir in ACPI bits tests Date: Thu, 21 Nov 2024 15:42:08 +0000 Message-ID: <20241121154218.1423005-9-berrange@redhat.com> In-Reply-To: <20241121154218.1423005-1-berrange@redhat.com> References: <20241121154218.1423005-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.14, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1732203905588116600 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=C3=A9e Signed-off-by: Daniel P. Berrang=C3=A9 --- 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_acp= i_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=3Dto= o-many-instance-attributes def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._vm =3D None - self._workDir =3D None self._baseDir =3D None =20 self._debugcon_addr =3D '0x403' @@ -169,7 +168,7 @@ def copy_bits_config(self): config_file =3D 'bits-cfg.txt' bits_config_dir =3D os.path.join(self._baseDir, 'acpi-bits', 'bits-config') - target_config_dir =3D os.path.join(self._workDir, + target_config_dir =3D 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): =20 bits_test_dir =3D os.path.join(self._baseDir, 'acpi-bits', 'bits-tests') - target_test_dir =3D os.path.join(self._workDir, + target_test_dir =3D os.path.join(self.workdir, 'bits-%d' %self.BITS_INTERNAL_VER, 'boot', 'python') =20 @@ -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 =3D os.path.join(self._workDir, 'grub-inst-x86_64= -efi') - grub_i386_mods =3D os.path.join(self._workDir, 'grub-inst') + grub_x86_64_mods =3D os.path.join(self.workdir, 'grub-inst-x86_64-= efi') + grub_i386_mods =3D os.path.join(self.workdir, 'grub-inst') =20 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 =3D os.path.join(self._workDir, + bits_dir =3D os.path.join(self.workdir, 'bits-%d' %self.BITS_INTERNAL_VER) - iso_file =3D os.path.join(self._workDir, + iso_file =3D os.path.join(self.workdir, 'bits-%d.iso' %self.BITS_INTERNAL_VER) - mkrescue_script =3D os.path.join(self._workDir, + mkrescue_script =3D os.path.join(self.workdir, 'grub-inst-x86_64-efi', 'bin', 'grub-mkrescue') =20 @@ -290,17 +289,7 @@ def setUp(self): # pylint: disable=3Darguments-differ =20 self._baseDir =3D Path(__file__).parent =20 - # 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 =3D tempfile.mkdtemp(prefix=3D'acpi-bits-', - suffix=3D'.tmp') - self.logger.info('working dir: %s', self._workDir) - - prebuiltDir =3D os.path.join(self._workDir, 'prebuilt') + prebuiltDir =3D os.path.join(self.workdir, 'prebuilt') if not os.path.isdir(prebuiltDir): os.mkdir(prebuiltDir, mode=3D0o775) =20 @@ -321,10 +310,10 @@ def setUp(self): # pylint: disable=3Darguments-differ =20 # 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) =20 with tarfile.open(grub_tar_file, 'r', encoding=3D'utf-8') as tarba= ll: - tarball.extractall(self._workDir) + tarball.extractall(self.workdir) =20 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 =3D os.path.join(self._workDir, self._debugcon_log) + debugconf =3D os.path.join(self.workdir, self._debugcon_log) log =3D "" with open(debugconf, 'r', encoding=3D'utf-8') as filehandle: log =3D 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._workD= ir) - 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() =20 def test_acpi_smbios_bits(self): """The main test case implementation.""" =20 - iso_file =3D os.path.join(self._workDir, + iso_file =3D os.path.join(self.workdir, 'bits-%d.iso' %self.BITS_INTERNAL_VER) =20 self.assertTrue(os.access(iso_file, os.R_OK)) =20 self._vm =3D QEMUBitsMachine(binary=3Dself.qemu_bin, - base_temp_dir=3Dself._workDir, + base_temp_dir=3Dself.workdir, debugcon_log=3Dself._debugcon_log, debugcon_addr=3Dself._debugcon_addr) =20 --=20 2.46.0