diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2020-11-27 18:03:45 +0100 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-06-05 16:09:42 +0200 |
commit | 7f89251db6ef11f4becd59d528ce9ab3e1180504 (patch) | |
tree | 6c8aa5b3a052e168edb3ff642a01cf45f72ea794 /src/scm/webid-oidc/testing.scm | |
parent | 7ea0ff35a872b298fadb4263d080de40027db9ac (diff) |
Write the code used by all tests
Diffstat (limited to 'src/scm/webid-oidc/testing.scm')
-rw-r--r-- | src/scm/webid-oidc/testing.scm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/scm/webid-oidc/testing.scm b/src/scm/webid-oidc/testing.scm new file mode 100644 index 0000000..40284cf --- /dev/null +++ b/src/scm/webid-oidc/testing.scm @@ -0,0 +1,27 @@ +(define-module (webid-oidc testing) + #:use-module (webid-oidc stubs) + #:use-module (webid-oidc errors)) + +;; 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))) + (setenv "XDG_CACHE_HOME" cache-dir) + (catch #t + (lambda () (mkdir cache-dir)) + (lambda err #t)) + (let ((pkg-cache-dir (format #f "~a/webid-oidc" 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 () + (f)))) |