X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdump.impure-cload.lisp;h=2b1ad115458289473c804d2f5ca722c8ba53adea;hb=fea8ea02847ddc0864546a02480fb3e97d6fa318;hp=a9d77e7102ee49a9e31877ba5336ac71e8b6781a;hpb=a8161e77843ee18a99ec30dd57f796264dfac05a;p=sbcl.git diff --git a/tests/dump.impure-cload.lisp b/tests/dump.impure-cload.lisp index a9d77e7..2b1ad11 100644 --- a/tests/dump.impure-cload.lisp +++ b/tests/dump.impure-cload.lisp @@ -71,5 +71,23 @@ (defparameter *numbers* '(-1s0 -1f0 -1d0 -1l0 #c(-1s0 -1s0) #c(-1f0 -1f0) #c(-1d0 -1d0) #c(-1l0 -1l0))) - + +;;; tests for MAKE-LOAD-FORM-SAVING-SLOTS +(eval-when (:compile-toplevel :load-toplevel :execute) + (defstruct savable-structure + (a nil :type symbol) + (b nil :type symbol :read-only t) + (c nil :read-only t) + (d 0 :type fixnum) + (e 17 :type (unsigned-byte 32) :read-only t)) + (defmethod make-load-form ((s savable-structure) &optional env) + (make-load-form-saving-slots s :environment env))) +(defparameter *savable-structure* + #.(make-savable-structure :a t :b 'frob :c 1 :d 39 :e 19)) +(assert (eql (savable-structure-a *savable-structure*) t)) +(assert (eql (savable-structure-b *savable-structure*) 'frob)) +(assert (eql (savable-structure-c *savable-structure*) 1)) +(assert (eql (savable-structure-d *savable-structure*) 39)) +(assert (eql (savable-structure-e *savable-structure*) 19)) + (sb-ext:quit :unix-status 104) ; success