1#!/usr/bin/env gpgscm
2
3;; Copyright (C) 2016 g10 Code GmbH
4;;
5;; This file is part of GnuPG.
6;;
7;; GnuPG is free software; you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published by
9;; the Free Software Foundation; either version 3 of the License, or
10;; (at your option) any later version.
11;;
12;; GnuPG is distributed in the hope that it will be useful,
13;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15;; GNU General Public License for more details.
16;;
17;; You should have received a copy of the GNU General Public License
18;; along with this program; if not, see <http://www.gnu.org/licenses/>.
19
20(load (in-srcdir "tests" "openpgp" "defs.scm"))
21(setup-legacy-environment)
22
23(info "Checking decryption of supplied files using --multifile.")
24
25(define my-wd (getcwd))
26(define encrypted-files (map (lambda (name)
27			       (string-append name ".asc"))
28			     plain-files))
29
30(with-temporary-working-directory
31 ;; First, copy the files so that GnuPG writes the decrypted files here
32 ;; and not into the source directory.
33 (for-each (lambda (name)
34	     (file-copy (in-srcdir "tests" "openpgp" name) name))
35	   encrypted-files)
36
37 ;; Now decrypt all files.
38 (call-check `(,@gpg --decrypt --multifile ,@encrypted-files))
39
40 ;; And verify the result.  Reference files are in our original
41 ;; working directory courtesy of setup-legacy-environment.
42 (for-each-p
43  "Verifying files:"
44  (lambda (name)
45    (unless (file=? (path-join my-wd name) name)
46	    (fail "decrypted file differs")))
47  plain-files))
48