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-19 13:06:24 +0200 |
commit | 16500ad69798224b00a2f2bf138db36628378bec (patch) | |
tree | 8881232d90a8c614ba367a6c2facd30279dd11fc | |
parent | 60764a52849248caf59ce75377a2b38503f773a7 (diff) |
Write the code used by all tests
-rw-r--r-- | src/scm/webid-oidc/Makefile.am | 6 | ||||
-rw-r--r-- | src/scm/webid-oidc/testing.scm | 27 |
2 files changed, 31 insertions, 2 deletions
diff --git a/src/scm/webid-oidc/Makefile.am b/src/scm/webid-oidc/Makefile.am index 8872758..e74b26c 100644 --- a/src/scm/webid-oidc/Makefile.am +++ b/src/scm/webid-oidc/Makefile.am @@ -1,7 +1,9 @@ dist_webidoidcmod_DATA += \ %reldir%/errors.scm \ - %reldir%/stubs.scm + %reldir%/stubs.scm \ + %reldir%/testing.scm webidoidcgo_DATA += \ %reldir%/errors.go \ - %reldir%/stubs.go + %reldir%/stubs.go \ + %reldir%/testing.go 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)))) |