From: Kevin M. Rosenberg Date: Thu, 13 May 2004 04:34:44 +0000 (+0000) Subject: r9330: add tests X-Git-Tag: v1.6.1~108 X-Git-Url: http://git.kpe.io/?a=commitdiff_plain;h=80ca106516b23083e732b6e3e21547e890ca97a9;p=uffi.git r9330: add tests --- diff --git a/tests/foreign-loader.lisp b/tests/foreign-loader.lisp index ac9b5c0..c0548c1 100644 --- a/tests/foreign-loader.lisp +++ b/tests/foreign-loader.lisp @@ -25,7 +25,8 @@ #+(or macosx darwin) "z" (list (pathname-directory *load-pathname*) - "/usr/local/lib/" "/usr/lib/" "/zlib/")) + "/usr/local/lib/" #+64bit "/usr/lib64/" + "/zlib/")) :module "zlib" :supporting-libraries '("c")) (warn "Unable to load zlib")) diff --git a/tests/uffi-c-test-lib.lisp b/tests/uffi-c-test-lib.lisp index 14bca31..95b411e 100644 --- a/tests/uffi-c-test-lib.lisp +++ b/tests/uffi-c-test-lib.lisp @@ -28,18 +28,29 @@ (uffi:def-function ("cs_count_upper" cs-count-upper) ((input :cstring)) - :returning :int - ) + :returning :int) (defun string-count-upper (str) (uffi:with-cstring (str-cstring str) - (cs-count-upper str-cstring))) + (cs-count-upper str-cstring))) (uffi:def-function ("half_double_vector" half-double-vector) ((size :int) (vec (* :double))) :returning :void) +(uffi:def-function ("return_long_negative_one" return-long-negative-one) + () + :returning :long) + +(uffi:def-function ("return_int_negative_one" return-int-negative-one) + () + :returning :int) + +(uffi:def-function ("return_short_negative_one" return-short-negative-one) + () + :returning :short) + (uffi:def-constant +double-vec-length+ 10) (defun test-half-double-vector () (let ((vec (uffi:allocate-foreign-object :double +double-vec-length+)) @@ -75,4 +86,7 @@ (deftest c-test.4 (string-count-upper nil) -1) (deftest c-test.5 (test-half-double-vector) (0.0d0 0.5d0 1.0d0 1.5d0 2.0d0 2.5d0 3.0d0 3.5d0 4.0d0 4.5d0)) +(deftest c-test.6 (return-long-negative-one) -1) +(deftest c-test.7 (return-int-negative-one) -1) +(deftest c-test.8 (return-short-negative-one) -1) diff --git a/tests/uffi-c-test.c b/tests/uffi-c-test.c index ee1ab3a..1e9ef0b 100644 --- a/tests/uffi-c-test.c +++ b/tests/uffi-c-test.c @@ -119,6 +119,27 @@ cast_test_float () return y; } +DLLEXPORT +long +return_long_negative_one () +{ + return -1; +} + +DLLEXPORT +int +return_int_negative_one () +{ + return -1; +} + +DLLEXPORT +short +return_short_negative_one () +{ + return -1; +} + DLLEXPORT int fvar_addend = 3; typedef struct {