X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Funion.lisp;h=f1f6b781e854af90fbc1178cbfe75d7d425164c8;hb=HEAD;hp=1806a9cdf7aee6dd2c2e130e49c3711a5ef6b9eb;hpb=3ade95bab16abe09642554e9cbf56f117f01e507;p=uffi.git diff --git a/tests/union.lisp b/tests/union.lisp index 1806a9c..f1f6b78 100644 --- a/tests/union.lisp +++ b/tests/union.lisp @@ -7,15 +7,13 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Mar 2002 ;;;; -;;;; $Id$ -;;;; -;;;; This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg +;;;; This file, part of UFFI, is Copyright (c) 2002-2010 by Kevin M. Rosenberg ;;;; ;;;; ************************************************************************* (in-package #:uffi-tests) -(uffi:def-union tunion1 +(uffi:def-union tunion1 (char :char) (int :int) (uint :unsigned-int) @@ -26,40 +24,44 @@ (setf (uffi:get-slot-value *u* 'tunion1 'uint) #-(or sparc sparc-v9 powerpc ppc) (+ (* 1 (char-code #\A)) - (* 256 (char-code #\B)) - (* 65536 (char-code #\C)) - (* 16777216 128)) + (* 256 (char-code #\B)) + (* 65536 (char-code #\C)) + (* 16777216 128)) #+(or sparc sparc-v9 powerpc ppc) (+ (* 16777216 (char-code #\A)) - (* 65536 (char-code #\B)) - (* 256 (char-code #\C)) - (* 1 128))) + (* 65536 (char-code #\B)) + (* 256 (char-code #\C)) + (* 1 128))) -(deftest :union.1 - (uffi:ensure-char-character +(deftest :union.1 + (uffi:ensure-char-character (uffi:get-slot-value *u* 'tunion1 'char)) #\A) -(deftest :union.2 - (uffi:ensure-char-integer +(deftest :union.2 + (uffi:ensure-char-integer (uffi:get-slot-value *u* 'tunion1 'char)) 65) -#-(or sparc sparc-v9 mcl) +#-(or sparc sparc-v9 openmcl digitool) (deftest :union.3 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t) +#-openmcl (uffi:def-union foo-u (bar :pointer-self)) +#-openmcl (uffi:def-foreign-type foo-u-ptr (* foo-u)) ;; tests that compilation worked -(deftest :unions.4 +#-openmcl +(deftest :unions.4 (with-foreign-object (p 'foo-u) t) t) +#-openmcl (deftest :unions.5 (progn (uffi:def-foreign-type foo-union (:union foo-u))