From nobody Sun Nov 24 08:02:46 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=1726047429; cv=none; d=zohomail.com; s=zohoarc; b=JgLmGM00SN3EpNYcdKcwOJIy7KItYuOLXHaox+QOtZSbb2hPtmdXO8OFplzL/ZQ4djeBBTcv4lov2NjNiL5Fa27a1dC5vlfGm1kS6G2sCNQtAgM5gFdV274moj1vH8ksisE+C/ksDNQq89roOL71+aH0uPPuM2WWpxiRT3B5/HU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1726047429; h=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=F57mcf0C20C/NIvexBkr5rvPnCHWjnSrgOuOtH+0E6A=; b=WhnQ/GjejhLpXZKa0ItFtefMadWuEcVDjcpwN+MBVT3PUWd1LBykNScwTxLkqr7SAjwM/9eY3bDq7I1wieqqys1TU3q5yACPUZ9OmIrj4p0yHMY+l6EYM2A2kCH384O7QPRDwH8XifN2Q3tJ1QcL8DmvV7DzpbseoZ11DL3wUkY= 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 1726047429118571.204572453278; Wed, 11 Sep 2024 02:37:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1soJkN-00014Z-OL; Wed, 11 Sep 2024 05:34:47 -0400 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 1soJkF-00010Y-Kv for qemu-devel@nongnu.org; Wed, 11 Sep 2024 05:34:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1soJkC-0005Tm-SZ for qemu-devel@nongnu.org; Wed, 11 Sep 2024 05:34:39 -0400 Received: from mx-prod-mc-05.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-606-DNQJdqHFOkCZeZN8JXtgVA-1; Wed, 11 Sep 2024 05:34:32 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A77211945105; Wed, 11 Sep 2024 09:34:31 +0000 (UTC) Received: from thuth-p1g4.redhat.com (unknown [10.39.193.18]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 4FEF019560AD; Wed, 11 Sep 2024 09:34:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1726047273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=F57mcf0C20C/NIvexBkr5rvPnCHWjnSrgOuOtH+0E6A=; b=gVPxw0qmidvH5es7pwndttqFXuVcBAyD4k0DBXR0cuQLuTOASxE90KfsnYzp1cgWIi3pyF 6lEtqfR+iwgXUwix2p1YwWRATAXmeYsWYcXmxCl9+V8SLmnkTfLvZS53nWwTSkUIWeIozQ ZTDRFtfBakBsZlqF/uNqFHcq6iDH8Uc= X-MC-Unique: DNQJdqHFOkCZeZN8JXtgVA-1 From: Thomas Huth To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PULL v2 23/24] tests/functional/qemu_test: Use Python hashlib instead of external programs Date: Wed, 11 Sep 2024 11:34:25 +0200 Message-ID: <20240911093426.287808-2-thuth@redhat.com> In-Reply-To: <20240911093426.287808-1-thuth@redhat.com> References: <20240911093426.287808-1-thuth@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 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.133.124; envelope-from=thuth@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.145, 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_H3=0.001, RCVD_IN_MSPIKE_WL=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: 1726047431370116600 Content-Type: text/plain; charset="utf-8" Some systems (like OpenBSD) do not have the sha256sum or sha512sum programs installed by default, or use different names for those. Use the Python hashlib instead so we don't have to rely on the external programs. Reported-by: Peter Maydell Message-ID: <20240910201742.239559-1-thuth@redhat.com> Reviewed-by: Brian Cain Signed-off-by: Thomas Huth --- tests/functional/qemu_test/asset.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_te= st/asset.py index d3be2aff82..3ec429217e 100644 --- a/tests/functional/qemu_test/asset.py +++ b/tests/functional/qemu_test/asset.py @@ -43,15 +43,21 @@ def _check(self, cache_file): if self.hash is None: return True if len(self.hash) =3D=3D 64: - sum_prog =3D 'sha256sum' + hl =3D hashlib.sha256() elif len(self.hash) =3D=3D 128: - sum_prog =3D 'sha512sum' + hl =3D hashlib.sha512() else: raise Exception("unknown hash type") =20 - checksum =3D subprocess.check_output( - [sum_prog, str(cache_file)]).split()[0] - return self.hash =3D=3D checksum.decode("utf-8") + # Calculate the hash of the file: + with open(cache_file, 'rb') as file: + while True: + chunk =3D file.read(1 << 20) + if not chunk: + break + hl.update(chunk) + + return hl.hexdigest() =20 def valid(self): return self.cache_file.exists() and self._check(self.cache_file) --=20 2.46.0