File: pcl.lisp

package info (click to toggle)
cmucl 21a-4
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 50,060 kB
  • sloc: lisp: 375,822; ansic: 30,304; asm: 2,977; sh: 1,372; makefile: 355; csh: 31
file content (67 lines) | stat: -rw-r--r-- 1,741 bytes parent folder | download
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)