From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id kNGGOmf/wl6CBgAA0tVLHw (envelope-from ) for ; Mon, 18 May 2020 21:34:31 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id IGVENmf/wl6yeQAAbx9fmQ (envelope-from ) for ; Mon, 18 May 2020 21:34:31 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 767F8940428 for ; Mon, 18 May 2020 21:34:31 +0000 (UTC) Received: from localhost ([::1]:53844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1janP4-0007wu-F7 for larch@yhetil.org; Mon, 18 May 2020 17:34:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1janOc-0007vq-MM for guix-patches@gnu.org; Mon, 18 May 2020 17:34:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36923) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1janOc-0000Vt-1Y for guix-patches@gnu.org; Mon, 18 May 2020 17:34:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1janOb-0001aD-V7 for guix-patches@gnu.org; Mon, 18 May 2020 17:34:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41382] [PATCH 2/6] tests: Test fixed-output derivations with several hash algorithms. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 18 May 2020 21:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41382 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41382@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 41382-submit@debbugs.gnu.org id=B41382.15898375845976 (code B ref 41382); Mon, 18 May 2020 21:34:01 +0000 Received: (at 41382) by debbugs.gnu.org; 18 May 2020 21:33:04 +0000 Received: from localhost ([127.0.0.1]:48459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1janNf-0001YJ-RN for submit@debbugs.gnu.org; Mon, 18 May 2020 17:33:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59556) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1janNb-0001XH-QJ for 41382@debbugs.gnu.org; Mon, 18 May 2020 17:33:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37555) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1janNW-0000Q2-Iw; Mon, 18 May 2020 17:32:54 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=50964 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1janNV-0007J8-B2; Mon, 18 May 2020 17:32:53 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 18 May 2020 23:32:40 +0200 Message-Id: <20200518213244.24165-2-ludo@gnu.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200518213244.24165-1-ludo@gnu.org> References: <20200518213244.24165-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: -0.01 X-TUID: /+tFnYucpArr * tests/derivations.scm ("fixed-output derivation"): Test several hash algorithms. --- tests/derivations.scm | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/tests/derivations.scm b/tests/derivations.scm index ef6cec6c76..a409fa99f0 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -324,20 +324,29 @@ #:hash hash #:hash-algo 'sha256))) (fixed-output-derivation? drv))) -(test-assert "fixed-output derivation" - (let* ((builder (add-text-to-store %store "my-fixed-builder.sh" - "echo -n hello > $out" '())) - (hash (sha256 (string->utf8 "hello"))) - (drv (derivation %store "fixed" - %bash `(,builder) - #:sources `(,builder) ;optional - #:hash hash #:hash-algo 'sha256)) - (succeeded? (build-derivations %store (list drv)))) - (and succeeded? - (let ((p (derivation->output-path drv))) - (and (equal? (string->utf8 "hello") - (call-with-input-file p get-bytevector-all)) - (bytevector? (query-path-hash %store p))))))) +(test-equal "fixed-output derivation" + '(sha1 sha256 sha512) + (map (lambda (hash-algorithm) + (let* ((builder (add-text-to-store %store "my-fixed-builder.sh" + "echo -n hello > $out" '())) + (sha256 (sha256 (string->utf8 "hello"))) + (hash (bytevector-hash + (string->utf8 "hello") + (lookup-hash-algorithm hash-algorithm))) + (drv (derivation %store + (string-append + "fixed-" (symbol->string hash-algorithm)) + %bash `(,builder) + #:sources `(,builder) ;optional + #:hash hash + #:hash-algo hash-algorithm))) + (build-derivations %store (list drv)) + (let ((p (derivation->output-path drv))) + (and (bytevector=? (string->utf8 "hello") + (call-with-input-file p get-bytevector-all)) + (bytevector? (query-path-hash %store p)) + hash-algorithm)))) + '(sha1 sha256 sha512))) (test-assert "fixed-output derivation: output paths are equal" (let* ((builder1 (add-text-to-store %store "fixed-builder1.sh" -- 2.26.2