[functional-tests] Log exceptions properly

This commit is contained in:
Joe Thornber 2017-12-15 10:21:59 +00:00
parent 3c5408e51b
commit 19dfed1da9

View File

@ -111,6 +111,15 @@
(apply string-append cwd "/" (apply string-append cwd "/"
(intersperse "/" (map symbol->string keys)))) (intersperse "/" (map symbol->string keys))))
(define (log-exceptions thunk)
(with-exception-handler
(lambda (x)
(let-values (((txt-port get) (open-string-output-port)))
(display-condition x txt-port)
(log-error (get)))
(raise x))
thunk))
(define-syntax define-scenario (define-syntax define-scenario
(lambda (x) (lambda (x)
(syntax-case x () (syntax-case x ()
@ -124,7 +133,7 @@
(file-options no-fail) (file-options no-fail)
(buffer-mode line) (buffer-mode line)
(native-transcoder)) (native-transcoder))
b1 b2 ...))))))))) (log-exceptions (lambda () b1 b2 ...)))))))))))
(define (fail msg) (define (fail msg)
(raise (condition (raise (condition