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:
parent
ca7834309c
commit
b599732cdc
72 changed files with 1085 additions and 412 deletions
37
Examples/test-suite/schemerunme/unions_proxy.scm
Normal file
37
Examples/test-suite/schemerunme/unions_proxy.scm
Normal 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue