abcl.asd 6.72 KB
Newer Older
1
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2 3 4
(defsystem abcl
  :version "1.5.0"
  :in-order-to ((test-op (test-op "abcl/test/lisp"))))
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
(defsystem abcl/test/lisp
  :version "1.5.0"
  :description "Test ABCL with the its own collection of unit tests."
  :perform  (test-op (o s)
                     (uiop:symbol-call :abcl.test.lisp '#:run))
  :components ((:module abcl-rt 
                        :pathname "test/lisp/abcl/" :serial t :components
                        ((:file "rt-package") 
                         (:file "rt")
                         (:file "test-utilities")))
               (:module package  :depends-on (abcl-rt)
                        :pathname "test/lisp/abcl/" :components
                        ((:file "package")))
               (:module test :depends-on (package)
                        :pathname "test/lisp/abcl/" :components
                        ((:file "utilities")
                         (:file "compiler-tests")
                         (:file "condition-tests")
                         #+abcl
                         (:file "class-file")
                         #+abcl
                         (:file "metaclass")
                         #+abcl
                         (:file "mop-tests-setup")
                         #+abcl
                         (:file "mop-tests"
                                :depends-on ("mop-tests-setup"))
                         (:file "clos-tests")
                         (:file "file-system-tests")
                         #+abcl
                         (:file "jar-pathname"
                                :depends-on ("utilities" "pathname-tests" "file-system-tests"))
                         #+abcl
                         (:file "url-pathname")
                         (:file "math-tests"
                                :depends-on ("compiler-tests"))
                         (:file "misc-tests")
                         (:file "latin1-tests")
                         (:file "bugs" :depends-on 
                                ("file-system-tests"))
                         (:file "wild-pathnames"
                                :depends-on ("file-system-tests"))
                         #+abcl 
                         (:file "weak-hash-tables")
                         #+abcl 
                         (:file "zip")
                         #+abcl 
                         (:file "java")
                         #+abcl
                         (:file "pathname-tests" :depends-on 
                                ("utilities"))
                         #+abcl
                         (:file "runtime-class")
                         #+abcl
                         (:file "package-local-nicknames-tests")))))
61

62 63
;;; FIXME Currently requires ACBL-CONTRIB and QUICKLISP-ABCL to be
;;; loaded, but can't seem to put in the :defsystem-depends-on stanza
64 65 66 67 68 69 70 71 72 73
(defsystem abcl/t
  :description "Tests for ABCL via PROVE."
  :defsystem-depends-on (prove-asdf)
  :depends-on (abcl
               prove)
  :perform (asdf:test-op (op c)
                         (uiop:symbol-call :prove-asdf :run-test-system c))
  :components ((:module package
                        :pathname "t/"
                        :components ((:file "package")))
74 75 76 77
               (:module java6
                        :depends-on (package)
                        :pathname "t/"
                        :components ((:test-file "run-program")))
78 79 80
               (:module build
                        :depends-on (package)
                        :pathname "t/"
81
                        :components ((:test-file "resolve-multiple-maven-dependencies")
82
                                     (:test-file "disassemble")
83
                                     (:test-file "pathname")))))
84

85 86 87 88 89
;;;
;;; ASDF definitions and the ANSI-TEST suite
;;;
;;; Below refer to the ANSI-TEST source tree, which isn't included as
;;; part of ABCL, but may be obtained at
90
;;; <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
91 92 93 94 95 96 97 98
;;; For the 'abcl/test/ansi/*' definitions to work, we require that
;;; the ANSI-TEST to be in a sibling directory named "ansi-tests"
;;; which should be manually synced with the contents of the SVN
;;; repository listed above.
;;; The ABCL.TEST.ANSI defines a function VERIFY-ANSI-TESTS to check
;;; whether the test suite is present, which provides a more useful
;;; diagnostic, but I can't seem to find a way to hook this into the
;;; ASDF:LOAD-OP phase.
99
(defsystem abcl/ansi-rt
100
  :description "Enapsulation of the REGRESSION-TEST framework used by ~
101 102
the ANSI test suite, so that we may build on its 'API'.

103
Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~
104
be in a directory named '../ansi-test/'."
105
  :pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL
106 107 108 109
  :default-component-class cl-source-file.lsp
  :components ((:file "rt-package")
               (:file "rt" :depends-on (rt-package))))

110
(defsystem abcl/test/ansi
111 112
  :depends-on (abcl/ansi-rt)
  :components 
113 114 115 116
  ((:module ansi-tests :pathname "test/lisp/ansi/" :components
            ((:file "packages")
             (:file "abcl-ansi" :depends-on ("packages"))
             (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
117

118
(defsystem abcl/test/ansi/interpreted 
119 120 121 122 123 124
  :version "1.2" 
  :description "Test ABCL with the interpreted ANSI tests." 
  :depends-on (abcl/test/ansi)
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.ansi 'run :compile-tests nil)))
  
125 126 127 128 129 130 131 132 133 134 135 136 137
(defsystem abcl/test/ansi/compiled
  :version "1.2" 
  :description "Test ABCL with the compiled ANSI tests." 
  :depends-on (abcl/test/ansi)
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.ansi 'run :compile-tests t))
  :components ((:module ansi-tests
                        :pathname "test/lisp/ansi/"
                        :components ((:file "packages")
                                     (:file "abcl-ansi"
                                            :depends-on ("packages"))
                                     (:file "parse-ansi-errors"
                                            :depends-on ("abcl-ansi"))))))
138

139
(defsystem abcl/test/cl-bench 
140
  :description "Test ABCL with CL-BENCH."
141 142 143
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.cl-bench 'run))
  :components ((:module package :pathname "../cl-bench/"
144
                        :components ((:file "defpackage")))
145 146
               (:module wrapper :pathname "test/lisp/cl-bench/" 
                        :depends-on (package) :components
147
                        ((:file "wrapper")))))
148
(defsystem abcl/documentation
149
  :description "Tools to generate LaTeX source from docstrings."
150 151 152 153 154 155
  :depends-on (swank)
  :components
  ((:module grovel :pathname "doc/manual/" :serial t
            :components ((:file "package")
                         (:file "grovel")))))