From patchwork Mon Jun 8 22:02:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 22621 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E1C8627BBE4; Mon, 8 Jun 2020 23:04:33 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id DCB2D27BBE3 for ; Mon, 8 Jun 2020 23:04:32 +0100 (BST) Received: from localhost ([::1]:50520 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiPse-0007xb-AU for patchwork@mira.cbaines.net; Mon, 08 Jun 2020 18:04:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiPsB-0007dO-1B for guix-patches@gnu.org; Mon, 08 Jun 2020 18:04:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jiPsA-00019t-Nj for guix-patches@gnu.org; Mon, 08 Jun 2020 18:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jiPsA-0006nq-Jh for guix-patches@gnu.org; Mon, 08 Jun 2020 18:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41767] [PATCH 3/9] tests: Move OpenPGP helpers to (guix tests gnupg). Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Jun 2020 22:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41767 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41767@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 41767-submit@debbugs.gnu.org id=B41767.159165380526035 (code B ref 41767); Mon, 08 Jun 2020 22:04:02 +0000 Received: (at 41767) by debbugs.gnu.org; 8 Jun 2020 22:03:25 +0000 Received: from localhost ([127.0.0.1]:58136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiPrY-0006lk-PZ for submit@debbugs.gnu.org; Mon, 08 Jun 2020 18:03:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiPrV-0006kl-9i for 41767@debbugs.gnu.org; Mon, 08 Jun 2020 18:03:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57798) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiPrQ-000169-1S; Mon, 08 Jun 2020 18:03:16 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=56846 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jiPrP-0000Iv-4V; Mon, 08 Jun 2020 18:03:15 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Tue, 9 Jun 2020 00:02:50 +0200 Message-Id: <20200608220256.3267-3-ludo@gnu.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200608220256.3267-1-ludo@gnu.org> References: <20200608220256.3267-1-ludo@gnu.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * tests/git-authenticate.scm (key-id): Remove. (%ed25519-public-key-file, %ed25519-secret-key-file) (%ed25519bis-public-key-file, %ed25519bis-secret-key-file) (read-openpgp-packet, key-fingerprint): Move to... * guix/tests/gnupg.scm: ... here. --- guix/tests/gnupg.scm | 32 +++++++++++++++++++++++++++++++- tests/git-authenticate.scm | 25 ------------------------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/guix/tests/gnupg.scm b/guix/tests/gnupg.scm index 47c858d232..eb8ff63a43 100644 --- a/guix/tests/gnupg.scm +++ b/guix/tests/gnupg.scm @@ -17,12 +17,23 @@ ;;; along with GNU Guix. If not, see . (define-module (guix tests gnupg) + #:use-module (guix openpgp) #:use-module (guix utils) #:use-module (guix build utils) + #:use-module (rnrs io ports) #:use-module (ice-9 match) #:export (gpg-command gpgconf-command - with-fresh-gnupg-setup)) + with-fresh-gnupg-setup + + %ed25519-public-key-file + %ed25519-secret-key-file + %ed25519bis-public-key-file + %ed25519bis-secret-key-file + + read-openpgp-packet + key-fingerprint + key-id)) (define gpg-command (make-parameter "gpg")) @@ -50,3 +61,22 @@ listed in IMPORTED, and only them, have been imported. This sets 'GNUPGHOME' such that the user's real GnuPG files are left untouched. The 'gpg-agent' process is terminated afterwards." (call-with-fresh-gnupg-setup imported (lambda () exp ...))) + +(define %ed25519-public-key-file + (search-path %load-path "tests/ed25519.key")) +(define %ed25519-secret-key-file + (search-path %load-path "tests/ed25519.sec")) +(define %ed25519bis-public-key-file + (search-path %load-path "tests/ed25519bis.key")) +(define %ed25519bis-secret-key-file + (search-path %load-path "tests/ed25519bis.sec")) + +(define (read-openpgp-packet file) + (get-openpgp-packet + (open-bytevector-input-port + (call-with-input-file file read-radix-64)))) + +(define key-fingerprint + (compose openpgp-format-fingerprint + openpgp-public-key-fingerprint + read-openpgp-packet)) diff --git a/tests/git-authenticate.scm b/tests/git-authenticate.scm index 84689d628e..d713fa6a22 100644 --- a/tests/git-authenticate.scm +++ b/tests/git-authenticate.scm @@ -32,31 +32,6 @@ ;; Test the (guix git-authenticate) tools. -(define %ed25519-public-key-file - (search-path %load-path "tests/ed25519.key")) -(define %ed25519-secret-key-file - (search-path %load-path "tests/ed25519.sec")) -(define %ed25519bis-public-key-file - (search-path %load-path "tests/ed25519bis.key")) -(define %ed25519bis-secret-key-file - (search-path %load-path "tests/ed25519bis.sec")) - -(define (read-openpgp-packet file) - (get-openpgp-packet - (open-bytevector-input-port - (call-with-input-file file read-radix-64)))) - -(define key-fingerprint - (compose openpgp-format-fingerprint - openpgp-public-key-fingerprint - read-openpgp-packet)) - -(define (key-id file) - (define id - (openpgp-public-key-id (read-openpgp-packet))) - - (string-pad (number->string id 16) 16 #\0)) - (define (gpg+git-available?) (and (which (git-command)) (which (gpg-command)) (which (gpgconf-command))))