1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

FFI: Add a `procedure->pointer' test.

* test-suite/tests/foreign.test ("procedure->pointer")["procedures
  returning a pointer"]: New test.
This commit is contained in:
Ludovic Courtès 2011-11-16 23:51:34 +01:00
parent 4b4b1e0b70
commit 449c4d44d0

View file

@ -254,6 +254,16 @@
(map proc* arg1 arg2 arg3)))
(throw 'unresolved)))
(pass-if "procedures returning a pointer"
(if (defined? 'procedure->pointer)
(let* ((called? #f)
(proc (lambda (i) (set! called? #t) (make-pointer i)))
(pointer (procedure->pointer '* proc (list int)))
(proc* (pointer->procedure '* pointer (list int)))
(result (proc* 777)))
(and called? (equal? result (make-pointer 777))))
(throw 'unresolved)))
(pass-if "procedures returning void"
(if (defined? 'procedure->pointer)
(let* ((called? #f)