I will try to provide patches.... :)
Okay, here is a first go for lispworks:
diff -ur osicat 2/src/osicat.lisp osicat/src/osicat.lisp --- osicat 2/src/osicat.lisp 2005-09-26 12:58:02.000000000 +0200 +++ osicat/src/osicat.lisp 2007-03-02 14:01:17.000000000 +0100 @@ -153,7 +153,7 @@ (do ((counter 100 (1- counter))) ((zerop counter) (error 'file-error :pathname nil)) - (let* ((name (tmpnam (make-null-pointer 'cstring))) + (let* ((name (tmpnam #+lispworks nil #-lispworks (make-null-pointer 'cstring))) (stream (open (convert-from-cstring name) :direction :io :element-type element-type :external-format external-format
I am not exactly sure, why it works, but it fixes the tests OSICAT-TEST::TEMPORARY-FILE.1 OSICAT-TEST::TEMPORARY-FILE.2 for lispworks.
It remains OSICAT-TEST::CURRENT-DIRECTORY.1, which is more a matter of:
OSICAT 8 > (inspect (truename "/tmp"))
#P"/private/tmp/" is a PATHNAME HOST :UNSPECIFIC DEVICE :UNSPECIFIC DIRECTORY (:ABSOLUTE "private" "tmp") NAME :UNSPECIFIC TYPE :UNSPECIFIC VERSION :UNSPECIFIC
OSICAT 10 > (inspect (current-directory))
#P"/private/tmp/" is a PATHNAME HOST NIL DEVICE NIL DIRECTORY (:ABSOLUTE "private" "tmp") NAME NIL TYPE NIL VERSION NIL
So maybe we can just ignore this?
Cheers, Kilian
PS:
Actually, for testing with lispworks you cannot refer to :rt but only to :rtest, since the :rt nickname is disabled for lispworks on the latest cliki version of RT.
So, I needed to change also:
(of course, this could also be #-lispworks :rt #+lispworks :rtest)
diff -ur osicat 2/src/test-tools.lisp osicat/src/test-tools.lisp --- osicat 2/src/test-tools.lisp 2005-07-05 18:55:47.000000000 +0200 +++ osicat/src/test-tools.lisp 2007-03-02 13:18:05.000000000 +0100 @@ -20,7 +20,7 @@ ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(defpackage :osicat-test - (:use :cl :rt :osicat) + (:use :cl :rtest :osicat) (:export #:setup #:teardown))
diff -ur osicat 2/src/osicat.asd osicat/src/osicat.asd --- osicat 2/src/osicat.asd 2005-09-25 20:24:35.000000000 +0200 +++ osicat/src/osicat.asd 2007-03-02 13:17:12.000000000 +0100 @@ -96,5 +96,5 @@ (funcall (intern "TEARDOWN" :osicat-test))))
(defmethod perform ((o test-op) (c (eql (find-system :osicat-test)))) - (or (funcall (intern "DO-TESTS" :rt)) + (or (funcall (intern "DO-TESTS" :rtest)) (error "test-op failed")))