diff options
author | Justus Winter <[email protected]> | 2016-07-05 14:25:21 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-07-05 14:25:21 +0000 |
commit | 8270580a5a70874beeffcdd16221937db4bcdc93 (patch) | |
tree | a2346b8af4b1a4bb93feef9f26c64418b7ff9ad5 | |
parent | gpgscm: Improve robustness and compatibility. (diff) | |
download | gnupg-8270580a5a70874beeffcdd16221937db4bcdc93.tar.gz gnupg-8270580a5a70874beeffcdd16221937db4bcdc93.zip |
tests: Honor environment variable 'TMP'.
This fixes problems with long socket names, e.g. when doing distcheck.
* tests/gpgscm/tests.scm (path-join): New function.
(with-temporary-working-directory): Honor 'TMP'.
(make-temporary-file): Likewise.
* tests/migrations/Makefile.am (TMP): Default to '/tmp'.
(TESTS_ENVIRONMENT): Set 'TMP'.
* tests/openpgp/Makefile.am (TMP): Default to '/tmp'.
(TESTS_ENVIRONMENT): Set 'TMP'.
Signed-off-by: Justus Winter <[email protected]>
-rw-r--r-- | tests/gpgscm/tests.scm | 20 | ||||
-rw-r--r-- | tests/migrations/Makefile.am | 3 | ||||
-rw-r--r-- | tests/openpgp/Makefile.am | 3 |
3 files changed, 22 insertions, 4 deletions
diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm index ebe1be5c6..272881757 100644 --- a/tests/gpgscm/tests.scm +++ b/tests/gpgscm/tests.scm @@ -160,6 +160,18 @@ (sink (open to (logior O_WRONLY O_CREAT) #o600))) (splice source sink))) +(define (path-join . components) + (let loop ((acc #f) (rest (filter (lambda (s) + (not (string=? "" s))) components))) + (if (null? rest) + acc + (loop (if (string? acc) + (string-append acc "/" (car rest)) + (car rest)) + (cdr rest))))) +(assert (string=? (path-join "foo" "bar" "baz") "foo/bar/baz")) +(assert (string=? (path-join "" "bar" "baz") "bar/baz")) + (define (canonical-path path) (if (char=? #\/ (string-ref path 0)) path @@ -222,7 +234,7 @@ (macro (with-temporary-working-directory form) (let ((result-sym (gensym)) (cwd-sym (gensym)) (tmp-sym (gensym))) `(let* ((,cwd-sym (getcwd)) - (,tmp-sym (mkdtemp "gpgscm-XXXXXX")) + (,tmp-sym (mkdtemp (path-join (getenv "TMP") "gpgscm-XXXXXX"))) (_ (chdir ,tmp-sym)) (,result-sym (begin ,@(cdr form)))) (chdir ,cwd-sym) @@ -230,9 +242,9 @@ ,result-sym))) (define (make-temporary-file . args) - (canonical-path (string-append (mkdtemp "gpgscm-XXXXXX") - "/" - (if (null? args) "a" (car args))))) + (canonical-path (path-join + (mkdtemp (path-join (getenv "TMP") "gpgscm-XXXXXX")) + (if (null? args) "a" (car args))))) (define (remove-temporary-file filename) (catch '() diff --git a/tests/migrations/Makefile.am b/tests/migrations/Makefile.am index 0377b23d6..9c82d66ee 100644 --- a/tests/migrations/Makefile.am +++ b/tests/migrations/Makefile.am @@ -26,8 +26,11 @@ include $(top_srcdir)/am/cmacros.am AM_CFLAGS = +TMP ?= /tmp + TESTS_ENVIRONMENT = GPG_AGENT_INFO= LC_ALL=C \ PATH=../gpgscm:$(PATH) \ + TMP=$(TMP) \ GPGSCM_PATH=$(top_srcdir)/tests/gpgscm:$(top_srcdir)/tests/migrations TESTS = from-classic.scm \ diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am index 4137018d1..012a3f20c 100644 --- a/tests/openpgp/Makefile.am +++ b/tests/openpgp/Makefile.am @@ -34,9 +34,12 @@ noinst_PROGRAMS = fake-pinentry fake_pinentry_SOURCES = fake-pinentry.c +TMP ?= /tmp + TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) GPG_AGENT_INFO= LC_ALL=C \ EXEEXT=$(EXEEXT) \ PATH=../gpgscm:$(PATH) \ + TMP=$(TMP) \ objdir=$(abs_top_builddir) \ GPGSCM_PATH=$(top_srcdir)/tests/gpgscm:$(top_srcdir)/tests/openpgp |