Commit 4f6ce505 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Add SCL to test framework. Tweaked a few tests. Now works!

Fix link in webpage (lp#614806).
Include SCL and ABCL in my testing routine.
parent cf5fa4a8
......@@ -7,8 +7,8 @@ clnet_home := "/project/asdf/public_html/"
sourceDirectory := $(shell pwd)
lisps ?= allegro ccl clisp ecl sbcl
## not tested by me: abcl allegromodern cmucl lisworks
lisps ?= allegro ccl clisp ecl sbcl scl abcl
## not tested by me: allegromodern cmucl lisworks
## FAIL: gclcvs
## maybe supported by asdf, not supported yet by our tests: cormancl mcl scl
......
......@@ -18,10 +18,7 @@ Conflicts: sbcl-common (<= 1:0.9.13.0-2), common-lisp-controller (<= 7.0)
Breaks: common-lisp-controller (<= 7.0)
Depends: ${misc:Depends}
Description: Another System Definition Facility
asdf provides a "make" type functions for Common Lisp packages. It
provides compilation and loading features for complex Lisp systems
with multiple modules and files. It is similar in concept to, but
with features different from, "defsystem" which is included in the
common-lisp-controller package. Unlike defsystem3 in CLC, asdf is
object-oriented and extensible.
asdf provides a "make" type functions for Common Lisp software.
It drives compilation and dynamic loading for complex Lisp systems
with multiple modules and files, and is the de facto standard used
by free software written in Common Lisp.
......@@ -50,7 +50,7 @@
<li><a href="asdf.html">as one HTML file</a></li>
<li><a href="asdf/">split into one HTML file per section</a></li>
<li><a href="asdf.pdf">as a PDF document</a></li>
<li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=asdf.texinfo">as texinfo source</a></li>
<li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=doc/asdf.texinfo">as texinfo source</a></li>
</ul>
<a id="downloads"></a>
......
......@@ -158,7 +158,7 @@
year month day hour minute second
(lisp-implementation-type)
(lisp-implementation-version)
asdf::*asdf-version*)))
(asdf:asdf-version))))
(format result-stream ";;; ~a~%~%" header)
(format *trace-output* "~%;;; ~a~%~%" header)))
(sleep 1)
......
......@@ -105,16 +105,10 @@ fi
command= flags= nodebug= eval=
case "$lisp" in
sbcl)
command="${SBCL:-sbcl}"
flags="--noinform --userinit /dev/null --sysinit /dev/null"
nodebug="--disable-debugger"
abcl)
command="${ABCL:-abcl}"
flags="--noinit --noinform"
eval="--eval" ;;
clisp)
command="${CLISP:-clisp}"
flags="-norc -ansi -I "
nodebug="-on-error exit"
eval="-x" ;;
allegro)
command="${ALLEGRO:-alisp}"
flags="-q"
......@@ -130,6 +124,11 @@ case "$lisp" in
flags="--no-init --quiet"
nodebug="--batch"
eval="--eval" ;;
clisp)
command="${CLISP:-clisp}"
flags="-norc -ansi -I "
nodebug="-on-error exit"
eval="-x" ;;
cmucl)
command="${CMUCL:-lisp}"
flags="-noinit"
......@@ -139,6 +138,11 @@ case "$lisp" in
command="${ECL:-ecl}"
flags="-norc"
eval="-eval" ;;
gclcvs)
export GCL_ANSI=t
command="${GCL:-gclcvs}"
flags="-batch"
eval="-eval" ;;
lispworks)
command="${LISPWORKS:-lispworks}"
# If you have a licensed copy of lispworks,
......@@ -147,15 +151,16 @@ case "$lisp" in
# ./lispworks-6-0-0-x86-linux -siteinit - -init - -build /tmp/build.lisp
flags="-siteinit - -init -"
eval="-eval" ;;
gclcvs)
export GCL_ANSI=t
command="${GCL:-gclcvs}"
flags="-batch"
eval="-eval" ;;
abcl)
command="${ABCL:-abcl}"
flags="--noinit --noinform"
sbcl)
command="${SBCL:-sbcl}"
flags="--noinform --userinit /dev/null --sysinit /dev/null"
nodebug="--disable-debugger"
eval="--eval" ;;
scl)
command="${SCL:-scl}"
flags="-noinit"
nodebug="-batch"
eval="-eval" ;;
*)
echo "Unsupported lisp: $1" >&2
echo "Please add support to run-tests.sh" >&2
......
......@@ -28,7 +28,7 @@
#+gcl :gcl
#+lispworks :lispworks
#+sbcl :sbcl
#+scl scl))))
#+scl :scl))))
(merge-pathnames
(make-pathname :directory `(:relative "tmp" "fasls" ,impl)
:defaults *asdf-directory*)
......
......@@ -43,7 +43,5 @@
(asdf::run-shell-command (format nil "rm -f ~A" missing-name))
;; we shouldn't be able to find the input-file for the compile-op, and that
;; should be an error.
(multiple-value-bind (retval err)
(ignore-errors
(asdf:operate 'asdf:load-op 'test-missing-lisp-file))
(let ((err (nth-value 1 (ignore-errors (asdf:operate 'asdf:load-op 'test-missing-lisp-file)))))
(assert err)))))
;;; -*- Lisp -*-
#+(or f1 f2)
(error "This test cannot run if :f1 or :f2 are on *features*")
#+(or f1 f2) (error "This test cannot run if :f1 or :f2 are on *features*")
(load "script-support")
(load-asdf)
(in-package :asdf)
(cl-user::quit-on-error
(let ((fasl1 (asdf:compile-file-pathname* (truename "file1.lisp")))
(fasl2 (asdf:compile-file-pathname* (truename "file2.lisp"))))
(asdf:run-shell-command "rm -f ~A ~A"
(namestring fasl1)
(namestring fasl2))
(let* ((fasl1 (asdf:compile-file-pathname* (truename "file1.lisp")))
(fasl2 (asdf:compile-file-pathname* (truename "file2.lisp")))
(ns1 (#-scl namestring #+scl ext:unix-namestring fasl1))
(ns2 (#-scl namestring #+scl ext:unix-namestring fasl2)))
(asdf:run-shell-command "rm -f ~A ~A" ns1 ns2)
(setf asdf:*central-registry* '(*default-pathname-defaults*))
(handler-case
(asdf:oos 'asdf:load-op 'test3)
......@@ -20,9 +19,10 @@
(error "should have failed, oops")))
(pushnew :f1 *features*)
(asdf:oos 'asdf:load-op 'test3)
(format t "testing for~% FASL1=~S and~% FASL2=~S~%" fasl1 fasl2)
(assert (probe-file fasl1))
(assert (not (probe-file fasl2)))
(run-shell-command "rm -f ~A" (namestring fasl1))
(run-shell-command "rm -f ~A" ns1)
(setf *features* (cons :f2 (cdr *features*)))
(asdf:oos 'asdf:load-op 'test3)
(assert (probe-file fasl2))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment