diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am index c62f61e1b..8be66a183 100644 --- a/tests/openpgp/Makefile.am +++ b/tests/openpgp/Makefile.am @@ -72,6 +72,7 @@ XTESTS = \ conventional-mdc.scm \ multisig.scm \ verify.scm \ + verify-multifile.scm \ gpgv-forged-keyring.scm \ armor.scm \ import.scm \ diff --git a/tests/openpgp/verify-multifile.scm b/tests/openpgp/verify-multifile.scm new file mode 100755 index 000000000..f1cbe99ba --- /dev/null +++ b/tests/openpgp/verify-multifile.scm @@ -0,0 +1,41 @@ +#!/usr/bin/env gpgscm + +;; Copyright (C) 2016 g10 Code GmbH +;; +;; This file is part of GnuPG. +;; +;; GnuPG is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3 of the License, or +;; (at your option) any later version. +;; +;; GnuPG is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; if not, see . + +(load (with-path "defs.scm")) +(setup-legacy-environment) + +(define files '("clearsig-1-key-1.asc" "signed-1-key-1.asc")) + +(info "Checking verification of supplied files using --multifile.") + +(let* ((status + (call-popen + `(,@gpg --verify --multifile --status-fd=1 + ,@(map (lambda (name) (in-srcdir "samplemsgs" name)) files)) + "")) + (lines (map (lambda (l) + (assert (string-prefix? l "[GNUPG:] ")) + ;; Split, and strip the prefix. + (cdr (string-split l #\space))) + (string-split-newlines status)))) + (assert + (= 2 (length (filter (lambda (l) + (and (equal? (car l) "GOODSIG") + (equal? (caddr l) "steve.biko@example.net"))) + lines)))))