From 8364ae3fac3645ad3e8b53a2c4faeeed162ea0ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 1 Feb 2013 18:17:09 +0100 Subject: [PATCH] Skip FFI tests that rely on `-export-dynamic' behavior when not available. * test-suite/tests/foreign.test ("make-pointer")["equal? modulo finalizer", "equal? modulo finalizer (set-pointer-finalizer!)"]: Skip when `scm_is_pair' cannot be found, as is the case on Cygwin. Reported by "objc" . --- test-suite/tests/foreign.test | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test index 60d8630fc..540effb26 100644 --- a/test-suite/tests/foreign.test +++ b/test-suite/tests/foreign.test @@ -1,6 +1,6 @@ ;;;; foreign.test --- FFI. -*- mode: scheme; coding: utf-8; -*- ;;;; -;;;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc. +;;;; Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -69,14 +69,19 @@ (pass-if "equal? modulo finalizer" (let ((finalizer (dynamic-func "scm_is_pair" (dynamic-link)))) - (equal? (make-pointer 123) - (make-pointer 123 finalizer)))) + (if (not finalizer) + (throw 'unresolved) ; probably Windows + (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))) (ptr (make-pointer 123))) - (set-pointer-finalizer! ptr finalizer) - (equal? (make-pointer 123) ptr))) + (if (not finalizer) + (throw 'unresolved) ; probably Windows + (begin + (set-pointer-finalizer! ptr finalizer) + (equal? (make-pointer 123) ptr))))) (pass-if "not equal?" (not (equal? (make-pointer 123) (make-pointer 456)))))