diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-04-09 22:37:06 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-04-09 22:47:53 +0200 |
commit | 9a5b6f6edaf33282c29add729a9d55527abd5517 (patch) | |
tree | 85b5842a2c2411f0f335a0d0614d60813575d9ad /test-suite/tests/foreign.test | |
parent | 11f80955e8a218ba0bfddc206b79a6916705eae8 (diff) | |
download | guile-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.)
Diffstat (limited to 'test-suite/tests/foreign.test')
-rw-r--r-- | test-suite/tests/foreign.test | 10 |
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))))) |