sysdcl.lisp Unix DownloadWindows Download
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -*- 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)))