1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
;;; Tests for PCL, taken from src/pcl/rt.
(defpackage "PCL-TESTS"
(:use "COMMON-LISP" "PCL" "LISP-UNIT"))
(in-package "PCL-TESTS")
;; Simple macro converting RT's DEFTEST to lisp-unit's DEFINE-TEST.
(defmacro deftest (name form &rest values)
(let ((results (gensym "RESULTS-")))
`(define-test ,name
(:tag :pcl)
(let ((,results (multiple-value-list ,form)))
(assert-equalp ,results
',values)))))
(defmacro define-compiled-test (name form &rest values)
`(progn
(defun ,name () ,form)
(deftest ,name (,name) ,@values)))
(require :asdf)
(setf (logical-pathname-translations "pcl-test")
(list (list "*.*.*"
(merge-pathnames #p"pcl/*.*"
*load-truename*))))
(asdf:defsystem :pcl-test
:pathname "pcl/"
:components
((:file "pkg")
#+gerds-pcl
(:file "ctor"
:depends-on ("pkg"))
(:file "defclass"
:depends-on ("pkg"))
(:file "make-instance"
:depends-on ("pkg" #+gerds-pcl "ctor"))
(:file "reinitialize-instance"
:depends-on ("pkg" "make-instance"))
(:file "slot-value"
:depends-on ("pkg" "make-instance"))
(:file "slot-boundp"
:depends-on ("pkg" "make-instance"))
(:file "slot-missing"
:depends-on ("pkg" "make-instance"))
(:file "slot-accessors"
:depends-on ("pkg" "make-instance"))
(:file "slot-type"
:depends-on ("pkg" "slot-value"))
(:file "inline-access"
:depends-on ("pkg" "slot-type"))
(:file "method-combination"
:depends-on ("pkg"))
(:file "pv"
:depends-on ("pkg"))
(:file "defgeneric"
:depends-on ("pkg"))
(:file "defmethod"
:depends-on ("pkg"))
(:file "find-method"
:depends-on ("pkg"))
(:file "methods"
:depends-on ("pkg"))))
(asdf:oos 'asdf:load-op :pcl-test)
|