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:
parent
4b4b1e0b70
commit
449c4d44d0
1 changed files with 10 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue