diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-08-01 14:51:28 +0200 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-08-01 18:08:56 +0200 |
commit | bae1843f1a1d644fb3bd4f8c40b1dbb900aa3325 (patch) | |
tree | 00f590033af904a6a493e41bdebe9b3ddd73043b /src/scm/webid-oidc/testing.scm | |
parent | d8c2ca930673da858d63f2dea9526c259a2dd936 (diff) |
Use guile parameters
With parameters, the API does not need to care about the directory
where to load files and how to get the time.
Diffstat (limited to 'src/scm/webid-oidc/testing.scm')
-rw-r--r-- | src/scm/webid-oidc/testing.scm | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/src/scm/webid-oidc/testing.scm b/src/scm/webid-oidc/testing.scm index 0aec4b8..aec9504 100644 --- a/src/scm/webid-oidc/testing.scm +++ b/src/scm/webid-oidc/testing.scm @@ -16,31 +16,23 @@ (define-module (webid-oidc testing) #:use-module (webid-oidc stubs) - #:use-module (webid-oidc errors)) + #:use-module (webid-oidc errors) + #:use-module (webid-oidc parameters)) ;; This module is used only when running tests. (define-public (with-test-environment test-name f) - (let ((cache-dir (format #f "tests/~a.cache" test-name)) - (data-dir (format #f "tests/~a.home" test-name))) - (setenv "XDG_CACHE_HOME" cache-dir) - (setenv "XDG_DATA_HOME" data-dir) - (catch #t - (lambda () (mkdir cache-dir)) - (lambda err #t)) - (let ((pkg-cache-dir (format #f "~a/disfluid" cache-dir))) - (catch #t - (lambda () (mkdir pkg-cache-dir)) - (lambda err #t)) - (let ((seed-file-name (format #f "~a/seed" pkg-cache-dir))) - (with-output-to-file seed-file-name - (lambda () - (format #t "This is the initial seed for the random number generator")))))) (with-exception-handler (lambda (error) (format (current-error-port) "The test failed, because ~a.\n" (error->str error)) (raise-exception error)) (lambda () - (random-init!) - (f)))) + (parameterize ((data-home (format #f "tests/~a.home/disfluid" test-name)) + (cache-home (format #f "tests/~a.cache/disfluid" test-name))) + (call-with-output-file* + (format #f "~a/seed" (cache-home)) + (lambda (port) + (format port "This is the initial seed for the random number generator"))) + (random-init!) + (f))))) |