Merge branch 'STABLE-BRANCH-2-2' into master
[gnupg.git] / tests / openpgp / run-tests.scm
1 ;; Test-suite runner.
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 (if (string=? "" (getenv "abs_top_srcdir"))
21     (begin
22       (echo "Environment variable 'abs_top_srcdir' not set.  Please point it to"
23             "tests/openpgp.")
24       (exit 2)))
25
26 ;; Set objdir so that the tests can locate built programs.
27 (setenv "objdir" (getcwd) #f)
28
29 (define setup
30   (make-environment-cache (test::scm
31                            #f
32                            (path-join "tests" "openpgp" "setup.scm")
33                            (in-srcdir "tests" "openpgp" "setup.scm"))))
34
35 (define tests (filter (lambda (arg) (not (string-prefix? arg "--"))) *args*))
36
37 (run-tests (if (null? tests)
38                (load-tests "tests" "openpgp")
39                (map (lambda (name)
40                       (test::scm setup
41                                  (path-join "tests" "openpgp" name)
42                                  (in-srcdir "tests" "openpgp" name))) tests)))