From patchwork Mon Nov 25 15:20:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 845329 Delivered-To: patch@linaro.org Received: by 2002:a5d:688e:0:b0:382:43a8:7b94 with SMTP id h14csp1244977wru; Mon, 25 Nov 2024 07:22:19 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWOsfvzl7EyQ0tLft42RV29k6WSoZPKR1ZbNzkyY8uEUFcxMIDmwW7OE5aM18m9X/hdQVslMA==@linaro.org X-Google-Smtp-Source: AGHT+IFme5a7r/4LZbtLnPZF75CyCTeUzabDsn3yDd4YFk8eJVDiQPDZcD8HadBYqqWwwcsdDB2t X-Received: by 2002:a05:6102:3e85:b0:4ad:641f:e63a with SMTP id ada2fe7eead31-4addcb6e507mr13210139137.2.1732548138730; Mon, 25 Nov 2024 07:22:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1732548138; cv=none; d=google.com; s=arc-20240605; b=clHDcWk51wVlMWTo2atlxqZu0YmsQG7XhqcBnVSUnhjc1N69veLqilHUtpM2o988RC r+M1rM8mQSdXK0MW1JLpIMSGZfiqRGQ9rm8gPIv1+Ehdpurhl9jTw96pbpyLU3GaEjoc SKAVT3GKFNcta9a/qW0kxRtiekxvxHNUg45Vwt4kdPFHskbadq7PzpHXrYi/FtglXnZl joo1/4Qkb/q/Zpr4DlsiIRSLTWyA7C19jYWNEcP2JMAck6fnFW4IajXD7QWqiAK2wVN9 nl3hidsmVMrLr3kY5PWsmDLNcQf5LGgUlCity3veItSGuad0sMllBdd6DLF7KnJro+pq RmMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=XtUaFCn29c62i9cIZ+z0ThKUyrSmt2dDjZxz8gXQfGk=; fh=T1yvrI2mIG6Cogl1rfWGjH6YfTnjZSymofCxfZJ22Ew=; b=XmKUZRO+iiLru5iuQW/y9uQPNIqsFGfORAXycZh+0JbmFz6nlJ137ZC9tv9sBs43oo Shy26mknY+ZZec3MM9d2xMXalTfoWVAbxjZIwDEa44ydOoogbWReRCsohUcTfu8ILrdl PGS6E0g3Ey+7Ye07xE5UF9wErNPF4ap/COWb0+Z9KiK/tEt6VPXNu6pTbIMcvfpFDyri nNJw+hPnUDlwUQRH5blOhm0aL30l2lrMVc6lYUzsKQGBpg92QD2IDJ/8s9K3U0TfkIly Nl9CXxx0bwWg2qzai3RiChBzFIy4yQ2B9SL0IFZn45pV3y03UvDMi0FzDHTLo9aXp3wR Sc0Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p9CiWip9; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4adda4ea6cesi2690388137.47.2024.11.25.07.22.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 25 Nov 2024 07:22:18 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p9CiWip9; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tFatu-00042W-T1; Mon, 25 Nov 2024 10:21:23 -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 1tFatq-0003yo-2m for qemu-devel@nongnu.org; Mon, 25 Nov 2024 10:21:18 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tFatn-0001mK-Vv for qemu-devel@nongnu.org; Mon, 25 Nov 2024 10:21:17 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-539f6e1f756so5123303e87.0 for ; Mon, 25 Nov 2024 07:21:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732548074; x=1733152874; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XtUaFCn29c62i9cIZ+z0ThKUyrSmt2dDjZxz8gXQfGk=; b=p9CiWip98+ETpnZkqm4TtY81VqY3mU+Wa2LFlQMTMTL3R6/rlNoPmd4Y6zlcRhFS6r QSrHnJLOJG9S5Q0DkP+0BDJR2Eu7TClh4b+aKjoItAHBITEfApN60lCCP55t1eDp0XC6 S9MG3hscT7TNd8HiiR5KcYTpxy1PjZNRW7evfl9oWXjeugo0G9x1z92FgapHLVA4Ecdb MDVnrQEBogYvdVFD0aVdBh0gSHzVD5zFIE88torC/wa9AG0JsAUsmYgpYv82ZH2EIdHU WJQDWY9KLipdvGSrrbid5/9PxIF4G33LbfvoB8NXIj4h6U2urQVSPqNxR6ka5Bv84Vnn fZtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732548074; x=1733152874; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XtUaFCn29c62i9cIZ+z0ThKUyrSmt2dDjZxz8gXQfGk=; b=vXTpYQ9T2T6mvN6Fpml0k8Qs0smb5eKqnqBRWkpna/KmX2+E2mfrrL62ZuvjV2a3tE dlsyL/ABptCXseTqRABNnZV8GCOvBNaAeWJ1v+CeKj8xDSdMjbRSgmMVLNK8oMNj9Xcg Wn+p2642LBQsxuMoMyNymFGJePAhGt8lG/vj7f9z9Dyujn2uW8KbVw/s0BxxuLgH7aqX sZxYhBEHTZIHUS6s4GPAMJ0yjQ/KaL3fODpy9hQ/EgckbNzDgLVdnGozYichzMolBZEk RNdlrTjcbktOizUstvKqHum8CdFfi6Wm68q5gUzeZyG8/+pVOyim0hX2nzwe2TZWPUMe 9Tyg== X-Gm-Message-State: AOJu0Yzg6aUbPzNtvzB/5iWmuRG9strJLiUxw8M+518dNLeri2PCwiJs pL73LXNM9MuO+zGsjQSTYfEqI9S01blZz5yhTRBw4eeqN4SGs4wP35UTWsnThi8= X-Gm-Gg: ASbGncseKPIjFG/HP+q9gtHmuHH2c73lyYSOdVBqLDK3HoFqG/57GfXpD5+5OSL+Uyt JFtVMNVdbynIEwsfP3H4eQbKMQkQXaAcJc+nPQZFHNmSQ+DMl9CD9yVWRQwlVHyG6zGk4mDgq/W dpWd75lq4+092skREXB1dNWrBCCnYgLZAXcacDs14blm3NrHrDZmhmL9AqQ+/Ez6HnRUEJTuFsr yomYLCb00hUNBzMWjY4NpOKR2ttfiTb5FufU7lHU/xSPMwg X-Received: by 2002:a05:6512:2244:b0:539:f8da:b466 with SMTP id 2adb3069b0e04-53dd35a5108mr5981217e87.11.1732548072557; Mon, 25 Nov 2024 07:21:12 -0800 (PST) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4349b70aa23sm72513635e9.14.2024.11.25.07.21.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Nov 2024 07:21:09 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8BC945F9EC; Mon, 25 Nov 2024 15:21:06 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?A?= =?utf-8?q?lex_Benn=C3=A9e?= , Ani Sinha , "Michael S. Tsirkin" Subject: [PULL 08/28] tests/functional: honour self.workdir in ACPI bits tests Date: Mon, 25 Nov 2024 15:20:45 +0000 Message-Id: <20241125152105.2100395-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241125152105.2100395-1-alex.bennee@linaro.org> References: <20241125152105.2100395-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::134; envelope-from=alex.bennee@linaro.org; helo=mail-lf1-x134.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Daniel P. Berrangé 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 Signed-off-by: Daniel P. Berrangé Message-Id: <20241121154218.1423005-9-berrange@redhat.com> Signed-off-by: Alex Bennée Message-Id: <20241121165806.476008-9-alex.bennee@linaro.org> Acked-by: Ani Sinha 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)