diff --git a/tests/gpgme/Makefile.am b/tests/gpgme/Makefile.am index ca7be13df..ae98db4a0 100644 --- a/tests/gpgme/Makefile.am +++ b/tests/gpgme/Makefile.am @@ -1,64 +1,63 @@ # Makefile.am - For tests/gpgme # 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 . # Process this file with automake to create Makefile.in # Programs required before we can run these tests. required_pgms = ../../g10/gpg$(EXEEXT) ../../agent/gpg-agent$(EXEEXT) \ ../../tools/gpg-connect-agent$(EXEEXT) \ ../gpgscm/gpgscm$(EXEEXT) AM_CPPFLAGS = -I$(top_srcdir)/common include $(top_srcdir)/am/cmacros.am AM_CFLAGS = TESTS_ENVIRONMENT = LC_ALL=C \ EXEEXT=$(EXEEXT) \ PATH="../gpgscm:$(PATH)" \ abs_top_srcdir=$(abs_top_srcdir) \ objdir=$(abs_top_builddir) \ GNUPG_BUILD_ROOT="$(abs_top_builddir)" \ GNUPG_IN_TEST_SUITE=fact \ GPGSCM_PATH=$(abs_top_srcdir)/tests/gpgscm # XXX: Currently, one cannot override automake's 'check' target. As a # workaround, we avoid defining 'TESTS', thus automake will not emit # the 'check' target. For extra robustness, we merely define a # dependency on 'xcheck', so this hack should also work even if # automake would emit the 'check' target, as adding dependencies to # targets is okay. check: xcheck .PHONY: xcheck xcheck: - @$(MKDIR_P) setup.scm/tests \ - tests/gpg lang/qt/tests lang/python/tests + @$(MKDIR_P) tests/gpg lang/qt/tests lang/python/tests $(TESTS_ENVIRONMENT) $(abs_top_builddir)/tests/gpgscm/gpgscm$(EXEEXT) \ $(abs_srcdir)/run-tests.scm $(TESTFLAGS) $(TESTS) EXTRA_DIST = gpgme-defs.scm run-tests.scm setup.scm wrap.scm all-tests.scm CLEANFILES = *.log report.xml # We need to depend on a couple of programs so that the tests don't # start before all programs are built. all-local: $(required_pgms) clean-local: - -rm -rf setup.scm/tests tests/gpg lang/qt/tests lang/python/tests + -rm -rf tests lang diff --git a/tests/gpgme/all-tests.scm b/tests/gpgme/all-tests.scm index 1746c4ee1..aef7d6a21 100644 --- a/tests/gpgme/all-tests.scm +++ b/tests/gpgme/all-tests.scm @@ -1,89 +1,89 @@ ;; 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 . (export all-tests ;; Parse GPGME's makefiles to find all tests. (load (in-srcdir "tests" "gpgme" "gpgme-defs.scm")) (load (with-path "makefile.scm")) (define (expander filename port key) ;;(interactive-repl (current-environment)) (cond ((string=? key "tests_unix") (if *win32* (parse-makefile port key) ;; Use win32 definition. (begin (parse-makefile port key) ;; Skip win32 definition. (parse-makefile port key)))) (else (parse-makefile port key)))) (define (parse filename key) (parse-makefile-expand filename expander key)) (define setup-c (make-environment-cache (test::scm #f #f - (path-join "tests" "gpgme" "setup.scm" "tests" "gpg") + (path-join "tests" "gpgme" "tests" "gpg") (in-srcdir "tests" "gpgme" "setup.scm") "--" "tests" "gpg"))) (define setup-py (make-environment-cache (test::scm #f #f - (path-join "tests" "gpgme" "setup.scm" "lang" "python" "tests") + (path-join "tests" "gpgme" "lang" "python" "tests") (in-srcdir "tests" "gpgme" "setup.scm") "--" "lang" "python" "tests"))) (define (compiled? name) (not (or (string-suffix? name ".py") (string-suffix? name ".test")))) (define :path car) (define :key cadr) (define :setup caddr) (if (have-gpgme?) (apply append (map (lambda (cmpnts) (define (find-test name) (apply path-join `(,(if (compiled? name) gpgme-builddir gpgme-srcdir) ,@(:path cmpnts) ,(qualify name)))) (let ((makefile (apply path-join `(,gpgme-srcdir ,@(:path cmpnts) "Makefile.am")))) (map (lambda (name) (apply test::scm `(,(:setup cmpnts) #f ,(apply path-join `("tests" "gpgme" ,@(:path cmpnts) ,name)) ,(in-srcdir "tests" "gpgme" "wrap.scm") --executable ,(find-test name) -- ,@(:path cmpnts)))) (parse makefile (:key cmpnts))))) `((("tests" "gpg") "c_tests" ,setup-c) ,@(if (run-python-tests?) `((("lang" "python" "tests") "py_tests" ,setup-py)) '()) (("lang" "qt" "tests") "TESTS" ,setup-c)))) '()))