~ chicken-core (chicken-5) 198d8ccbbc75d4fa0b5de4d44941be97450537ee
commit 198d8ccbbc75d4fa0b5de4d44941be97450537ee Author: felix <felix@call-with-current-continuation.org> AuthorDate: Wed Sep 15 09:31:18 2010 -0400 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Wed Sep 15 09:31:18 2010 -0400 more pv tests diff --git a/tests/lolevel-tests.scm b/tests/lolevel-tests.scm index 82095073..71d18acf 100644 --- a/tests/lolevel-tests.scm +++ b/tests/lolevel-tests.scm @@ -286,3 +286,18 @@ (assert (= (pointer->address (pointer-vector-ref pv 40)) 777)) (pointer-vector-fill! pv (address->pointer 1)) (assert (= 1 (pointer-vector-ref pv 0))) + +(define pv1 + (foreign-lambda* scheme-object ((pointer-vector pv)) + "C_return(C_mk_bool(pv == NULL));")) + +(define pv2 + (foreign-lambda* c-pointer ((pointer-vector pv) (bool f)) + "static void *xx;" + "if(!f) C_return(xx[ 0 ]);" + "else pv[ 0 ] = xx;" + "C_return(xx);")) + +(assert (eq? #t (pv1 #f))) +(define p (pv2 #t)) +(assert (pointer=? p (pv2 #f)))Trap