(define EGG-NAME "md5") ;chicken-install invokes as " -s run.scm " (import (only (chicken pathname) make-pathname) (only (chicken process) system) (only (chicken process-context) argv) (only (chicken format) format)) (define *args* (argv)) ;no -disable-interrupts (define *csc-options* "-inline-global \ -specialize -optimize-leaf-routines -clustering -lfa2 \ -local -inline \ -no-trace -no-lambda-info \ -unsafe") (define (test-name #!optional (eggnam EGG-NAME)) (string-append eggnam "-test") ) (define (egg-name #!optional (def EGG-NAME)) (cond ((<= 4 (length *args*)) (cadddr *args*) ) (def def ) (else (error 'test "cannot determine egg-name") ) ) ) ;;; (set! EGG-NAME (egg-name)) (define (run-test #!optional (eggnam EGG-NAME) (cscopts *csc-options*)) (let ((tstnam (test-name eggnam))) (format #t "*** csi ***~%") (system (string-append "csi -s " (make-pathname #f tstnam "scm"))) (newline) (format #t "*** csc ~s ***~%" cscopts) (system (string-append "csc" " " cscopts " " (make-pathname #f tstnam "scm"))) (system (make-pathname (cond-expand (unix "./") (else #f)) tstnam)) ) ) (define (run-tests eggnams #!optional (cscopts *csc-options*)) (for-each (cut run-test <> cscopts) eggnams) ) ;;; (run-test)