1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

tests: Rework environment setup.

* tests/gpgscm/tests.scm (test::scm): Add a setup argument.
(test::binary): Likewise.
(run-tests-parallel): Remove setup parameter.
(run-tests-sequential): Likewise.
(make-environment-cache): New function that handles the cache
protocol.
* tests/gpgme/run-tests.scm: Adapt accordingly.
* tests/gpgsm/run-tests.scm: Likewise.
* tests/migrations/run-tests.scm: Likewise.
* tests/openpgp/run-tests.scm: Likewise.
--
This change allows us to have different environments for tests.  This
is needed to run more GPGME tests, and to increase concurrency while
running all tests.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2017-03-09 13:26:06 +01:00
parent ed5575ec55
commit cca91a3f8f
No known key found for this signature in database
GPG key ID: DD1A52F9DA8C9020
5 changed files with 58 additions and 48 deletions

View file

@ -39,9 +39,10 @@
(let* ((runner (if (member "--parallel" *args*)
run-tests-parallel
run-tests-sequential))
(setup-c (make-environment-cache
(test::scm #f "setup.scm" (in-srcdir "setup.scm") "--" "tests" "gpg")))
(tests (filter (lambda (arg) (not (string-prefix? arg "--"))) *args*)))
(runner
(test::scm "setup.scm" (in-srcdir "setup.scm") "--" "tests" "gpg")
(apply
append
(map (lambda (cmpnts)
@ -50,6 +51,7 @@
(string-suffix? name ".test"))))
(define :path car)
(define :key cadr)
(define :setup caddr)
(define (find-test name)
(apply path-join
`(,(if (compiled? name)
@ -59,11 +61,12 @@
"Makefile.am"))))
(map (lambda (name)
(apply test::scm
`(,name ,(in-srcdir "wrap.scm") --executable
,(find-test name)
-- ,@(:path cmpnts))))
`(,(:setup cmpnts)
,name ,(in-srcdir "wrap.scm") --executable
,(find-test name)
-- ,@(:path cmpnts))))
(if (null? tests) (all-tests makefile (:key cmpnts)) tests))))
'((("tests" "gpg") "c_tests")
`((("tests" "gpg") "c_tests" ,setup-c)
;; XXX: Not yet.
;; (("lang" "python" "tests") "py_tests")
(("lang" "qt" "tests") "TESTS"))))))
(("lang" "qt" "tests") "TESTS" ,setup-c))))))