From 9012da74345b0eea06ab36c93f2f36d5584a014c Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Fri, 27 Nov 2020 18:03:45 +0100 Subject: Write the code used by all tests --- src/scm/webid-oidc/testing.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/scm/webid-oidc/testing.scm (limited to 'src/scm/webid-oidc/testing.scm') 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)))) -- cgit v1.2.3