--- /dev/null
+.PHONY: all clean test test-acl test-sbcl
+
+test-file:=`pwd`/run-tests.lisp
+all:
+
+clean:
+ @find . -type f -name "*.fasl*" -or -name "*.ufsl" -or -name "*.x86f" \
+ -or -name "*.fas" -or -name "*.pfsl" -or -name "*.dfsl" \
+ -or -name "*~" -or -name ".#*" -or -name "#*#" | xargs rm -f
+
+test: test-alisp
+
+test-alisp:
+ alisp8 -q -L $(test-file)
+
+test-mlisp:
+ mlisp -q -L $(test-file)
+
+test-sbcl:
+ sbcl --noinform --disable-debugger --userinit $(test-file)
+
+test-cmucl:
+ lisp -init $(test-file)
+
+test-lw:
+ lw-console -init $(test-file)
+
+test-scl:
+ scl -init $(test-file)
+
+test-clisp:
+ clisp -norc -q -i $(test-file)
--- /dev/null
+(defpackage #:run-tests (:use #:cl))
+(in-package #:run-tests)
+
+(require 'rt)
+(require 'kmrcl)
+
+(load "hyperobject.asd")
+(load "hyperobject-tests.asd")
+(asdf:oos 'asdf:test-op 'hyperobject)
+
+(defun quit (&optional (code 0))
+ "Function to exit the Lisp implementation. Copied from CLOCC's QUIT function."
+ #+allegro (excl:exit code)
+ #+clisp (#+lisp=cl ext:quit #-lisp=cl lisp:quit code)
+ #+(or cmu scl) (ext:quit code)
+ #+cormanlisp (win32:exitprocess code)
+ #+gcl (lisp:bye code)
+ #+lispworks (lw:quit :status code)
+ #+lucid (lcl:quit code)
+ #+sbcl (sb-ext:quit :unix-status (typecase code (number code) (null 0) (t 1)))
+ #+mcl (ccl:quit code)
+ #-(or allegro clisp cmu scl cormanlisp gcl lispworks lucid sbcl mcl)
+ (error 'not-implemented :proc (list 'quit code)))
+
+(quit)