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 97990acaea..a06176c16b 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))))