chiark / gitweb /
NOT FOR UPSTREAM - CHANGELOG VERSION
[gnupg2.git] / tests / openpgp / decrypt-multifile.scm
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 (with-path "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 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))