Add a whole bunch of chicken runme scripts, and fix the bugs exposed by those scripts

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
John Lenz 2005-04-15 05:23:14 +00:00
commit b599732cdc
72 changed files with 1085 additions and 412 deletions

View file

@ -0,0 +1,37 @@
;;; This is the union runtime testcase. It ensures that values within a
;;; union embedded within a struct can be set and read correctly.
;; Create new instances of SmallStruct and BigStruct for later use
(define small (make <SmallStruct>))
(slot-set! small 'jill 200)
(define big (make <BigStruct>))
(slot-set! big 'smallstruct small)
(slot-set! big 'jack 300)
;; Use SmallStruct then BigStruct to setup EmbeddedUnionTest.
;; Ensure values in EmbeddedUnionTest are set correctly for each.
(define eut (make <EmbeddedUnionTest>))
;; First check the SmallStruct in EmbeddedUnionTest
(slot-set! eut 'number 1)
(slot-set! (slot-ref eut 'uni) 'small small)
(let ((Jill1 (slot-ref
(slot-ref
(slot-ref eut 'uni)
'small)
'jill)))
(if (not (= Jill1 200))
(begin
(display "Runtime test 1 failed.")
(exit 1))))
(let ((Num1 (slot-ref eut 'number)))
(if (not (= Num1 1))
(begin
(display "Runtime test 2 failed.")
(exit 1))))
;; that should do
(exit 0)