;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -*- Mode: Lisp -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; File - sysdcl.lisp
;; Description - System declarations for tester
;; Author - Gail Anderson (ga at HELLESVEAN)
;; Created On - Fri Feb 25 17:28:09 2000
;; Last Modified On - Mon Jul 9 08:41:36 2001
;; Last Modified By - Gail Anderson (ga at lostwithiel)
;; Update Count - 137
;; Status - Unknown
;;
;; $Id: sysdcl.lisp,v 1.1 2003/01/09 02:11:35 colin Exp $
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(cl:in-package :cl-user)
;; Here, provide pathnames of files (if needed) containing test data,
;; auxiliary test; functions, or libraries needed to test the
;; students' solutions; these should be pre-compiled.
(setf *libs* nil)
;;; Define the system
(defsystem :tester
(:pretty-name "Tester"
:default-pathname #.(load-time-value
(or *load-truename*
*default-pathname-defaults*)))
(:serial
;; HTOUT package for output
"htout"
;; then the tester itself
;; package definitions
"pkg"
;; pathname and other definitions; NB this will load all the
;; *libs* files
"defs-n-paths"
;; definitions needed by students in order to use define-exercise, etc
"defex-user"
;; then specify pathnames of files containing sample
;; solutions, e.g.
"hello-world-solution"
"add2-solution"
;; the tests needed for this particular exercise, e.g.
"tests"
;; the test loop etc.
"run-tests"))
;;; create a single, loadable fasl file
(defun make-fasl (system &key (destination "tester-system")
(clean-first-p nil))
(let ((*print-readably* nil))
(when clean-first-p
(clean-system system))
(compile-system system)
(concatenate-system system destination)))