1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Have `test-ffi' run all the tests even after a failure.

* test-suite/standalone/test-ffi (failed?): New variable.
  (test): Set `failed?' to #t upon error and display an error message.
  Have the exit code depend on FAILED?.
This commit is contained in:
Ludovic Courtès 2010-05-30 22:56:17 +02:00
parent 86425e2653
commit 8b8ce935ed

View file

@ -8,13 +8,19 @@ exec guile -q -s "$0" "$@"
(define lib
(dynamic-link (string-append (getenv "builddir") "/libtest-ffi")))
(define failed? #f)
(define-syntax test
(syntax-rules ()
((_ exp res)
(let ((expected res)
(actual exp))
(if (not (equal? actual expected))
(error "Bad return from expression" 'exp actual expected))))))
(begin
(set! failed? #t)
(format (current-error-port)
"bad return from expression `~a': expected ~A; got ~A~%"
'exp expected actual)))))))
;;;
;;; No args
@ -194,6 +200,8 @@ exec guile -q -s "$0" "$@"
(str (utf8->string bv)))
(test #t (not (not (string-contains str "file")))))
(exit (not failed?))
;; Local Variables:
;; mode: scheme
;; End: