| 1 | ;;; -*- Mode: LISP; Syntax: COMMON-LISP -*- |
|---|
| 2 | ;;; $Id: abcl.asd 12902 2010-08-28 11:09:13Z vvoutilainen $ |
|---|
| 3 | |
|---|
| 4 | (require 'asdf) |
|---|
| 5 | (defpackage :abcl-asdf |
|---|
| 6 | (:use :cl :asdf)) |
|---|
| 7 | (in-package :abcl-asdf) |
|---|
| 8 | |
|---|
| 9 | ;;; Wrapper for all ABCL ASDF definitions. |
|---|
| 10 | (defsystem :abcl :version "0.5.0") |
|---|
| 11 | |
|---|
| 12 | (defmethod perform :after ((o load-op) (c (eql (find-system :abcl)))) |
|---|
| 13 | (operate 'load-op :abcl-test-lisp :force t) |
|---|
| 14 | (operate 'load-op :cl-bench :force t) |
|---|
| 15 | (operate 'load-op :ansi-compiled :force t) |
|---|
| 16 | (operate 'load-op :ansi-interpreted :force t)) |
|---|
| 17 | |
|---|
| 18 | ;;; Run via (asdf:operate 'asdf:test-op :abcl :force t) |
|---|
| 19 | (defmethod perform ((o test-op) (c (eql (find-system :abcl)))) |
|---|
| 20 | (operate 'test-op :abcl-tests :force t)) |
|---|
| 21 | |
|---|
| 22 | ;;; Test ABCL with the Lisp unit tests collected in "test/lisp/abcl" |
|---|
| 23 | (defsystem :abcl-test-lisp :version "1.1" :components |
|---|
| 24 | ((:module abcl-rt |
|---|
| 25 | :pathname "test/lisp/abcl/" :serial t :components |
|---|
| 26 | ((:file "rt-package") (:file "rt") |
|---|
| 27 | (:file "test-utilities"))) |
|---|
| 28 | (:module package :depends-on (abcl-rt) |
|---|
| 29 | :pathname "test/lisp/abcl/" :components |
|---|
| 30 | ((:file "package"))) |
|---|
| 31 | (:module test :depends-on (package) |
|---|
| 32 | :pathname "test/lisp/abcl/" :components |
|---|
| 33 | ((:file "compiler-tests") |
|---|
| 34 | (:file "condition-tests") |
|---|
| 35 | (:file "metaclass") |
|---|
| 36 | #+abcl |
|---|
| 37 | (:file "mop-tests-setup") |
|---|
| 38 | #+abcl |
|---|
| 39 | (:file "mop-tests" :depends-on ("mop-tests-setup")) |
|---|
| 40 | (:file "file-system-tests") |
|---|
| 41 | #+abcl |
|---|
| 42 | (:file "jar-pathname" :depends-on |
|---|
| 43 | ("pathname-tests")) |
|---|
| 44 | #+abcl |
|---|
| 45 | (:file "url-pathname") |
|---|
| 46 | (:file "math-tests") |
|---|
| 47 | (:file "misc-tests") |
|---|
| 48 | (:file "latin1-tests") |
|---|
| 49 | (:file "bugs" :depends-on ("file-system-tests")) |
|---|
| 50 | (:file "pathname-tests"))))) |
|---|
| 51 | |
|---|
| 52 | (defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp)))) |
|---|
| 53 | "Invoke tests with (asdf:oos 'asdf:test-op :abcl-test-lisp)." |
|---|
| 54 | (funcall (intern (symbol-name 'run) :abcl.test.lisp))) |
|---|
| 55 | |
|---|
| 56 | ;;; Test ABCL with the interpreted ANSI tests |
|---|
| 57 | (defsystem :ansi-interpreted :version "1.1" |
|---|
| 58 | :components |
|---|
| 59 | ((:module ansi-tests :pathname "test/lisp/ansi/" :components |
|---|
| 60 | ((:file "package") |
|---|
| 61 | (:file "parse-ansi-errors" :depends-on ("package")))))) |
|---|
| 62 | (defmethod perform :before ((o test-op) (c (eql (find-system :ansi-interpreted)))) |
|---|
| 63 | (operate 'load-op :ansi-interpreted)) |
|---|
| 64 | (defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted)))) |
|---|
| 65 | (funcall (intern (symbol-name 'run) :abcl.test.ansi) |
|---|
| 66 | :compile-tests nil)) |
|---|
| 67 | |
|---|
| 68 | ;;; Test ABCL with the compiled ANSI tests |
|---|
| 69 | (defsystem :ansi-compiled :version "1.1" |
|---|
| 70 | :components |
|---|
| 71 | ((:module ansi-tests :pathname "test/lisp/ansi/" :components |
|---|
| 72 | ((:file "package") |
|---|
| 73 | (:file "parse-ansi-errors" :depends-on ("package")))))) |
|---|
| 74 | (defmethod perform :before ((o test-op) (c (eql (find-system :ansi-compiled)))) |
|---|
| 75 | (operate 'load-op :ansi-compiled)) |
|---|
| 76 | (defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled)))) |
|---|
| 77 | (funcall (intern (symbol-name 'run) :abcl.test.ansi) |
|---|
| 78 | :compile-tests t)) |
|---|
| 79 | |
|---|
| 80 | |
|---|
| 81 | ;;; Test ABCL with CL-BENCH |
|---|
| 82 | (defsystem :cl-bench :components |
|---|
| 83 | ((:module cl-bench-package :pathname "../cl-bench/" |
|---|
| 84 | :components ((:file "defpackage"))) |
|---|
| 85 | (:module cl-bench-wrapper :pathname "test/lisp/cl-bench/" |
|---|
| 86 | :depends-on (cl-bench-package) :components |
|---|
| 87 | ((:file "wrapper"))))) |
|---|
| 88 | (defmethod perform :before ((o test-op) (c (eql (find-system :cl-bench)))) |
|---|
| 89 | (operate 'load-op :cl-bench :force t)) |
|---|
| 90 | (defmethod perform ((o test-op) (c (eql (find-system :cl-bench)))) |
|---|
| 91 | (funcall (intern (symbol-name 'run) :abcl.test.cl-bench))) |
|---|
| 92 | |
|---|
| 93 | ;;; Build ABCL from a Lisp. |
|---|
| 94 | ;;; aka the "Lisp-hosted build system" |
|---|
| 95 | ;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl |
|---|
| 96 | (defsystem :build-abcl :components |
|---|
| 97 | ((:module build :pathname "" :components |
|---|
| 98 | ((:file "build-abcl") |
|---|
| 99 | (:file "customizations" :depends-on ("build-abcl")))))) |
|---|
| 100 | |
|---|
| 101 | |
|---|
| 102 | |
|---|