FFI: Fix `set-pointer-finalizer!' to leave the type cell unchanged.
[bpt/guile.git] / test-suite / tests / foreign.test
index 2c326c9..6eafe95 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; foreign.test --- FFI.           -*- mode: scheme; coding: utf-8; -*-
 ;;;;
-;;;;   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2010, 2011, 2012 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
       (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)))
+
   (pass-if "not equal?"
     (not (equal? (make-pointer 123) (make-pointer 456)))))