source: trunk/abcl/abcl.asd @ 14430

Last change on this file since 14430 was 14430, checked in by rschlatte, 4 years ago

Add tests for package-local nicknames

  • Property svn:keywords set to Id
File size: 6.7 KB
Line 
1;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2;;; $Id: abcl.asd 14430 2013-03-09 13:02:45Z rschlatte $
3
4(require 'asdf)
5(in-package :asdf)
6
7;;; Wrapper for all ABCL ASDF definitions.
8(defsystem :abcl :version "0.6.0")
9
10;;;  Run via (asdf:operate 'asdf:test-op :abcl :force t)
11(defmethod perform ((o test-op) (c (eql (find-system :abcl))))
12  (load-system (find-system :abcl-test-lisp))
13  (operate 'test-op :abcl-test-lisp))
14
15;;; Test ABCL with the Lisp unit tests collected in "test/lisp/abcl"
16;;;
17;;; We guard with #+abcl for tests that other Lisps cannot load.  This
18;;; could be possibly be done at finer granularity in the files
19;;; themselves.
20(defsystem :abcl-test-lisp :version "1.2" :components
21     ((:module abcl-rt
22                     :pathname "test/lisp/abcl/" :serial t :components
23         ((:file "rt-package")
24                      (:file "rt")
25                      (:file "test-utilities")))
26      (:module package  :depends-on (abcl-rt)
27         :pathname "test/lisp/abcl/" :components
28         ((:file "package")))
29            (:module test :depends-on (package)
30         :pathname "test/lisp/abcl/" :components
31                     ((:file "utilities")
32                      (:file "compiler-tests")
33                      (:file "condition-tests")
34                      #+abcl
35                      (:file "class-file")
36                      #+abcl
37                      (:file "metaclass")
38                      #+abcl
39                      (:file "mop-tests-setup")
40                      #+abcl
41                      (:file "mop-tests" :depends-on
42                             ("mop-tests-setup"))
43                      (:file "clos-tests")
44                      (:file "file-system-tests")
45                      #+abcl
46                      (:file "jar-pathname" :depends-on
47                             ("utilities" "pathname-tests" "file-system-tests"))
48                      #+abcl
49                      (:file "url-pathname")
50                      (:file "math-tests" :depends-on
51                             ("compiler-tests"))
52                      (:file "misc-tests")
53                      (:file "latin1-tests")
54                      (:file "bugs" :depends-on
55                             ("file-system-tests"))
56                      (:file "wild-pathnames" :depends-on
57                             ("file-system-tests"))
58                      #+abcl
59                      (:file "weak-hash-tables")
60                      #+abcl
61                      (:file "zip")
62                      #+abcl
63                      (:file "pathname-tests" :depends-on
64                             ("utilities"))
65                      #+abcl
66                      (:file "package-local-nicknames-tests")))))
67
68(defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp))))
69   "Invoke tests with (asdf:oos 'asdf:test-op :abcl-test-lisp)."
70   (funcall (intern (symbol-name 'run) :abcl.test.lisp)))
71
72;;;;
73;;;; ASDF definitions and the ANSI-TEST
74;;;;
75
76;;; We refer to the ANSI-TESTS source tree, which isn't shipped as
77;;; part of ABCL, but may be obtained at
78;;; <svn://common-lisp.net/project/ansi-test/svn/trunk/ansi-tests>.
79
80;;; We currently require that the ANSI-TESTS to be in a sibling
81;;; directory named "ansi-tests" which should be manually synced with
82;;; the contents of the SVN repository listed above.
83
84;;; The ASDF definition for ABCL.TEST.ANSI defines VERIFY-ANSI-TESTS
85;;; which provides a more useful diagnostic, but I can't seem to find
86;;; a way to hook this into the ASDF:LOAD-OP phase
87(defsystem :ansi-rt
88  :description "Enapsulation of the REGRESSION-TEST framework use by ~
89the ANSI test suite, so that we may build on its 'API'.
90
91Requires that the contents of <svn://common-lisp.net/project/ansi-test/svn/trunk/ansi-tests> ~
92be in a directory named '../ansi-test/'."
93  :pathname "../ansi-tests/" ;;; NB works when loaded from ASDF but not with a naked EVAL
94  :default-component-class cl-source-file.lsp
95  :components ((:file "rt-package")
96               (:file "rt" :depends-on (rt-package))))
97
98(defsystem :ansi-interpreted
99  :version "1.2"
100  :description "Test ABCL with the interpreted ANSI tests."
101  :depends-on (ansi-rt) :components
102  ((:module ansi-tests :pathname "test/lisp/ansi/" :components
103            ((:file "packages")
104             (:file "abcl-ansi" :depends-on ("packages"))
105             (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
106(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-interpreted))))
107  (load-system :ansi-interpreted))
108
109(defmethod perform :after ((o load-op) (c (eql (find-system :ansi-interpreted))))
110  (funcall (intern (symbol-name 'load-tests) :abcl.test.ansi)))
111
112(defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted))))
113  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
114     :compile-tests nil))
115
116(defsystem :ansi-compiled :version "1.2"
117           :description "Test ABCL with the compiled ANSI tests."
118           :depends-on (ansi-rt)
119           :components
120           ((:module ansi-tests :pathname "test/lisp/ansi/" :components
121                     ((:file "packages")
122                      (:file "abcl-ansi" :depends-on ("packages"))
123                      (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
124
125(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-compiled))))
126  (load-system :ansi-compiled))
127(defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled))))
128  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
129     :compile-tests t))
130
131(defsystem :cl-bench
132  :description "Test ABCL with CL-BENCH."
133  :components ((:module cl-bench-package :pathname "../cl-bench/"
134                        :components ((:file "defpackage")))
135               (:module cl-bench-wrapper :pathname "test/lisp/cl-bench/"
136                        :depends-on (cl-bench-package) :components
137                        ((:file "wrapper")))))
138(defmethod perform :before ((o test-op) (c (eql (find-system :cl-bench))))
139  (load-system :cl-bench))
140(defmethod perform ((o test-op) (c (eql (find-system :cl-bench))))
141  (funcall (intern (symbol-name 'run) :abcl.test.cl-bench)))
142 
143;;; Build ABCL from a Lisp.
144;;; aka the "Lisp-hosted build system"
145;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl
146(defsystem :build-abcl :components
147     ((:module build :pathname ""  :components
148         ((:file "build-abcl")
149          (:file "customizations" :depends-on ("build-abcl"))))))
150
151(defsystem :abcl-contrib
152  ;; :version "1.1"
153  :components ((:static-file "README")))
154  ;; #+nil ((:module source :pathname "src/org/armedbear/lisp/" :components
155  ;;                       ((:file  "abcl-contrib")
156  ;;                        #+nil::needs-abcl-asdf (:iri "jar-file:dist/abcl-contrib.jar"))))
157
158;; XXX Currently need to force load via (asdf:load-system :abcl-contrib :force t)
159(defmethod perform ((o load-op) (c (eql (find-system :abcl-contrib))))
160 (require :abcl-contrib))
161
Note: See TracBrowser for help on using the repository browser.