source: tags/1.3.3/abcl.asd

Last change on this file was 14799, checked in by Mark Evenson, 9 years ago

Correct location of ANSI-TEST suite to reference git

  • Property svn:keywords set to Id
File size: 7.1 KB
Line 
1;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2;;; $Id: abcl.asd 14799 2015-09-09 13:49:17Z mevenson $
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.3.0" :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 "java")
64                      #+abcl
65                      (:file "pathname-tests" :depends-on
66                             ("utilities"))
67                      #+abcl
68                      (:file "runtime-class")
69                      #+abcl
70                      (:file "package-local-nicknames-tests")))))
71
72(defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp))))
73   "Invoke tests with (asdf:oos 'asdf:test-op :abcl-test-lisp)."
74   (funcall (intern (symbol-name 'run) :abcl.test.lisp)))
75
76;;;;
77;;;; ASDF definitions and the ANSI-TEST
78;;;;
79
80;;; We refer to the ANSI-TESTS source tree, which isn't shipped as
81;;; part of ABCL, but may be obtained at
82;;; <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
83
84;;; We currently require that the ANSI-TESTS to be in a sibling
85;;; directory named "ansi-tests" which should be manually synced with
86;;; the contents of the SVN repository listed above.
87
88;;; The ASDF definition for ABCL.TEST.ANSI defines VERIFY-ANSI-TESTS
89;;; which provides a more useful diagnostic, but I can't seem to find
90;;; a way to hook this into the ASDF:LOAD-OP phase
91(defsystem :ansi-rt
92  :description "Enapsulation of the REGRESSION-TEST framework use by ~
93the ANSI test suite, so that we may build on its 'API'.
94
95Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~
96be in a directory named '../ansi-test/'."
97  :pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL
98  :default-component-class cl-source-file.lsp
99  :components ((:file "rt-package")
100               (:file "rt" :depends-on (rt-package))))
101
102(defsystem :ansi-interpreted
103  :version "1.2"
104  :description "Test ABCL with the interpreted ANSI tests."
105  :depends-on (ansi-rt) :components
106  ((:module ansi-tests :pathname "test/lisp/ansi/" :components
107            ((:file "packages")
108             (:file "abcl-ansi" :depends-on ("packages"))
109             (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
110(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-interpreted))))
111  (load-system :ansi-interpreted))
112
113(defmethod perform :after ((o load-op) (c (eql (find-system :ansi-interpreted))))
114  (funcall (intern (symbol-name 'load-tests) :abcl.test.ansi)))
115
116(defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted))))
117  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
118     :compile-tests nil))
119
120(defsystem :ansi-compiled :version "1.2"
121           :description "Test ABCL with the compiled ANSI tests."
122           :depends-on (ansi-rt)
123           :components
124           ((:module ansi-tests :pathname "test/lisp/ansi/" :components
125                     ((:file "packages")
126                      (:file "abcl-ansi" :depends-on ("packages"))
127                      (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
128
129(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-compiled))))
130  (load-system :ansi-compiled))
131(defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled))))
132  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
133     :compile-tests t))
134
135(defsystem :cl-bench
136  :description "Test ABCL with CL-BENCH."
137  :components ((:module cl-bench-package :pathname "../cl-bench/"
138                        :components ((:file "defpackage")))
139               (:module cl-bench-wrapper :pathname "test/lisp/cl-bench/"
140                        :depends-on (cl-bench-package) :components
141                        ((:file "wrapper")))))
142(defmethod perform :before ((o test-op) (c (eql (find-system :cl-bench))))
143  (load-system :cl-bench))
144(defmethod perform ((o test-op) (c (eql (find-system :cl-bench))))
145  (funcall (intern (symbol-name 'run) :abcl.test.cl-bench)))
146 
147;;; Build ABCL from a Lisp.
148;;; aka the "Lisp-hosted build system"
149;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl
150(defsystem :build-abcl :components
151     ((:module build :pathname ""  :components
152         ((:file "build-abcl")
153          (:file "customizations" :depends-on ("build-abcl"))))))
154
155(defsystem :abcl-contrib
156  ;; :version "1.1"
157  :components ((:static-file "README")))
158  ;; #+nil ((:module source :pathname "src/org/armedbear/lisp/" :components
159  ;;                       ((:file  "abcl-contrib")
160  ;;                        #+nil::needs-abcl-asdf (:iri "jar-file:dist/abcl-contrib.jar"))))
161
162;; XXX Currently need to force load via (asdf:load-system :abcl-contrib :force t)
163(defmethod perform ((o load-op) (c (eql (find-system :abcl-contrib))))
164 (require :abcl-contrib))
165
166(defsystem :abcl/documentation
167  :depends-on (swank)
168  :components
169  ((:module grovel :pathname "doc/manual/" :serial t
170            :components ((:file "package")
171                         (:file "grovel")))))
172
Note: See TracBrowser for help on using the repository browser.