source: branches/0.19.x/abcl/abcl.asd

Last change on this file was 12509, checked in by Mark Evenson, 14 years ago

ANSI test database can now contain multiple test results per version.

We change the syntax of the ANSI test results database to allow the
specification of a unique identifier plus other optional identifying
information by allowing keyword/value pairs. The keyword :ID
specifies the identifier, which should be a symbol. Other arbitrary
keywords are allowed which specify additional information to be
associated with the symbol specified by :ID in the *ID* hashtable.
Not every test failure entry needs to specify this information. In
case of duplicates, the last entry wins. Suggested other keywords are
:JVM to specify the Java virtual machine, and :UNAME to specify the
operating system/hardware combination in a GNU autoconf-like string.
See the comments at the beginning of 'parse-ansi-errors.lisp' for more
details.

The utility has been packaged in ABCL.ANSI.TEST, showing up in the
ANSI-COMPILED and ANSI-INTERPRETED ASDF systems loadable from
'abcl.asd'.

A database of failures has been included in 'ansi-test-failures'. It
is intended that other developers entrich this database with their own
test results.

  • Property svn:keywords set to Id
File size: 3.8 KB
Line 
1;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2;;; $Id: abcl.asd 12509 2010-02-27 07:01:01Z mevenson $
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 "mop-tests-setup")
36                      (:file "mop-tests" :depends-on ("mop-tests-setup"))
37                      (:file "file-system-tests")
38                      (:file "jar-file")
39                      (:file "math-tests")
40                      (:file "misc-tests")
41                      (:file "bugs")
42                      (:file "pathname-tests")))))
43
44(defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp))))
45   "Invoke tests with (asdf:oos 'asdf:test-op :abcl-test-lisp)."
46   (funcall (intern (symbol-name 'run) :abcl.test.lisp)))
47
48;;; Test ABCL with the interpreted ANSI tests
49(defsystem :ansi-interpreted :version "1.1"
50           :components
51           ((:module ansi-tests :pathname "test/lisp/ansi/" :components
52         ((:file "package")
53                (:file "parse-ansi-errors" :depends-on ("package"))))))
54(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-interpreted))))
55  (operate 'load-op :ansi-interpreted))
56(defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted))))
57  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
58     :compile-tests nil))
59
60;;; Test ABCL with the compiled ANSI tests
61(defsystem :ansi-compiled :version "1.1"
62           :components
63           ((:module ansi-tests :pathname "test/lisp/ansi/" :components
64         ((:file "package")
65                (:file "parse-ansi-errors" :depends-on ("package"))))))
66(defmethod perform :before ((o test-op) (c (eql (find-system :ansi-compiled))))
67  (operate 'load-op :ansi-compiled))
68(defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled))))
69  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
70     :compile-tests t))
71
72
73;;; Test ABCL with CL-BENCH
74(defsystem :cl-bench :components
75           ((:module cl-bench-package :pathname "../cl-bench/"
76                    :components ((:file "defpackage")))
77            (:module cl-bench-wrapper :pathname "test/lisp/cl-bench/"
78                     :depends-on (cl-bench-package) :components
79                     ((:file "wrapper")))))
80(defmethod perform :before ((o test-op) (c (eql (find-system :cl-bench))))
81  (operate 'load-op :cl-bench :force t))
82(defmethod perform ((o test-op) (c (eql (find-system :cl-bench))))
83  (funcall (intern (symbol-name 'run) :abcl.test.cl-bench)))
84 
85;;; Build ABCL from a Lisp.
86;;; aka the "Lisp-hosted build system"
87;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl
88(defsystem :build-abcl :components
89     ((:module build :pathname ""  :components
90         ((:file "build-abcl")
91          (:file "customizations" :depends-on ("build-abcl"))))))
92
93
94
Note: See TracBrowser for help on using the repository browser.