summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-04-09 22:37:06 +0200
committerLudovic Courtès <ludo@gnu.org>2013-04-09 22:47:53 +0200
commit9a5b6f6edaf33282c29add729a9d55527abd5517 (patch)
tree85b5842a2c2411f0f335a0d0614d60813575d9ad
parent11f80955e8a218ba0bfddc206b79a6916705eae8 (diff)
downloadguile-9a5b6f6edaf33282c29add729a9d55527abd5517.tar.gz
tests: Skip FFI tests involving `scm_is_pair' when `dynamic-func' fails.
* test-suite/tests/foreign.test ("make-pointer")["equal? modulo finalizer", "equal? modulo finalizer (set-pointer-finalizer!)"]: Wrap `dynamic-func' in `false-if-exception' (static builds on NetBSD 5.1 raise "Symbol not found" here.)
-rw-r--r--test-suite/tests/foreign.test10
1 files changed, 6 insertions, 4 deletions
diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test
index 540effb26..66fd3d5aa 100644
--- a/test-suite/tests/foreign.test
+++ b/test-suite/tests/foreign.test
@@ -68,17 +68,19 @@
(equal? (make-pointer 123) (make-pointer 123)))
(pass-if "equal? modulo finalizer"
- (let ((finalizer (dynamic-func "scm_is_pair" (dynamic-link))))
+ (let ((finalizer (false-if-exception
+ (dynamic-func "scm_is_pair" (dynamic-link)))))
(if (not finalizer)
- (throw 'unresolved) ; probably Windows
+ (throw 'unresolved) ; Windows or a static build
(equal? (make-pointer 123)
(make-pointer 123 finalizer)))))
(pass-if "equal? modulo finalizer (set-pointer-finalizer!)"
- (let ((finalizer (dynamic-func "scm_is_pair" (dynamic-link)))
+ (let ((finalizer (false-if-exception
+ (dynamic-func "scm_is_pair" (dynamic-link))))
(ptr (make-pointer 123)))
(if (not finalizer)
- (throw 'unresolved) ; probably Windows
+ (throw 'unresolved) ; Windows or a static build
(begin
(set-pointer-finalizer! ptr finalizer)
(equal? (make-pointer 123) ptr)))))