Newer
Older
Francois-Rene Rideau
committed
(cl:in-package :common-lisp-user)
Francois-Rene Rideau
committed
(defun load-pathname ()
#-gcl *load-pathname*
#+gcl ;; Debian's GCL 2.7 has bugs with compiling multiple-value stuff, but can run ASDF 2.011
(symbol-value
(find-symbol
"*LOAD-PATHNAME*"
(if (or (< system::*gcl-major-version* 2) ;; GCL 2.6 fails to fully compile ASDF at all
(and (= system::*gcl-major-version* 2)
(< system::*gcl-minor-version* 7)))
:system :cl))))
Francois-Rene Rideau
committed
(load (make-pathname :name "script-support" :type "lisp" :defaults (load-pathname))
#+gcl :print #+gcl t)
Francois-Rene Rideau
committed
(in-package :asdf-test)
(declaim (optimize (speed 2) (safety 3) #-(or allegro gcl) (debug 3)
Francois-Rene Rideau
committed
(proclaim '(optimize (speed 2) (safety 3) #-(or allegro gcl) (debug 3)
Francois-Rene Rideau
committed
(cond
((not (probe-file *asdf-lisp*))
(leave-lisp "Testsuite failed: unable to find ASDF source" 3))
((and (probe-file *asdf-fasl*)
(> (file-write-date *asdf-fasl*) (file-write-date *asdf-lisp*))
(ignore-errors (load *asdf-fasl*)))
(leave-lisp "Reusing previously-compiled ASDF" 0))
(t
Francois-Rene Rideau
committed
(load-asdf-lisp)
(let ((tmp (make-pathname :name "asdf-tmp" :defaults *asdf-fasl*)))
(multiple-value-bind (result warnings-p errors-p)
Francois-Rene Rideau
committed
(compile-asdf tmp)
(declare (ignore result))
(cond
(errors-p
(leave-lisp "Testsuite failed: ASDF compiled with ERRORS" 2))
#-(or cmu ecl scl xcl)
;; ECL 11.1.1 has spurious warnings, same with XCL 0.0.0.291.
Francois-Rene Rideau
committed
;; SCL has no warning but still raises the warningp flag since 2.20.15 (?)
Francois-Rene Rideau
committed
(warnings-p
(leave-lisp "Testsuite failed: ASDF compiled with warnings" 1))
Francois-Rene Rideau
committed
(when warnings-p
(format t "Your implementation raised warnings, but they were ignored~%"))
(when (probe-file *asdf-fasl*)
(delete-file *asdf-fasl*))
(rename-file tmp *asdf-fasl*)
(leave-lisp "ASDF compiled cleanly" 0)))))))