59 lines
1.3 KiB
Factor
59 lines
1.3 KiB
Factor
USING: accessors alien alien.c-types alien.private kernel
|
|
kernel.private literals math namespaces stack-checker.alien
|
|
stack-checker.state stack-checker.values system threads.private
|
|
tools.test ;
|
|
IN: stack-checker.alien.tests
|
|
|
|
! alien-inputs/outputs
|
|
{
|
|
V{ 31 32 }
|
|
{ 33 }
|
|
} [
|
|
0 inner-d-index set
|
|
V{ } clone (meta-d) set
|
|
H{ } clone known-values set
|
|
V{ } clone literals set
|
|
30 \ <value> set-global
|
|
alien-node-params new int >>return { int int } >>parameters
|
|
inputs/outputs
|
|
] unit-test
|
|
|
|
{
|
|
V{ 31 32 33 }
|
|
{ 34 }
|
|
} [
|
|
0 inner-d-index set
|
|
V{ } clone (meta-d) set
|
|
H{ } clone known-values set
|
|
V{ } clone literals set
|
|
30 \ <value> set-global
|
|
alien-indirect-params new int >>return { int int } >>parameters
|
|
inputs/outputs
|
|
] unit-test
|
|
|
|
! wrap-callback-quot
|
|
${
|
|
cpu x86.32?
|
|
[
|
|
[
|
|
{ integer integer } declare [ [ ] dip ] dip
|
|
"hello" >integer
|
|
] [
|
|
dup current-callback eq?
|
|
[ drop ] [ wait-for-callback ] if
|
|
] do-callback
|
|
]
|
|
[
|
|
[
|
|
{ fixnum fixnum } declare [ [ ] dip ] dip
|
|
"hello" >fixnum
|
|
] [
|
|
dup current-callback eq?
|
|
[ drop ] [ wait-for-callback ] if
|
|
] do-callback
|
|
] ?
|
|
} [
|
|
int { int int } cdecl alien-node-params boa
|
|
[ "hello" ] wrap-callback-quot
|
|
] unit-test
|