From 9097e28fa4cbbd208aedeafdac172dc210452117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6ppe?= Date: Sun, 23 Nov 2003 20:15:09 +0000 Subject: [PATCH] New library of helper macros for the runtime tests. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5377 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Examples/test-suite/guile/testsuite.scm | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 SWIG/Examples/test-suite/guile/testsuite.scm diff --git a/SWIG/Examples/test-suite/guile/testsuite.scm b/SWIG/Examples/test-suite/guile/testsuite.scm new file mode 100644 index 000000000..7f5fd71b0 --- /dev/null +++ b/SWIG/Examples/test-suite/guile/testsuite.scm @@ -0,0 +1,37 @@ +;; Little helper functions and macros for the run tests + +(use-modules (ice-9 format)) + +(define (test-error error-format . args) + (display "Runtime check failed. ") + (apply format #t error-format args) + (newline) + (exit 1)) + +(define-macro (expect-true form) + `(if (not ,form) + (test-error "Expected true value of ~A" ',form))) + +(define-macro (expect-false form) + `(if ,form + (test-error "Expected false value of ~A" ',form))) + +(define-macro (expect-result expected-result-form equal? form) + `(let ((expected-result ,expected-result-form) + (result ,form)) + (if (not (,equal? result expected-result)) + (test-error "The result of ~A was ~A, expected ~A, which is not ~A" + ',form result expected-result ',equal?)))) + +(define-macro (expect-throw tag-form form) + `(let ((tag ,tag-form)) + (if (catch #t + (lambda () + ,form + #t) + (lambda (key . args) + (if (eq? key ,tag-form) + #f + (test-error "The form ~A threw to ~A (expected a throw to ~A)" + ',form key tag)))) + (test-error "The form ~A returned normally (expected a throw to ~A)"))))