tests added by megane on Tue Aug 9 16:41:13 2011

(require-extension test)
(require-extension ports)
(include "clojure")
(import clojure)

(define *tests*
  (list "test_game"
        ...))


(define *failed-tests* (list))

(define (do-test filename)
  (let [(old-fc (test-failure-count))
        (output (with-output-to-string
                  (lambda () (load (str "src/" filename ".scm")))))]
    (assert (>= (test-failure-count) old-fc))
    (if (> (test-failure-count) old-fc)
        (begin
          (set! *failed-tests* (cons filename *failed-tests*))
          (println "###########" filename "output START #############")
          (print output)
          (println "########### " filename "output END  #############")))))

(for-each (fn [t]
              (do-test t))
          *tests*)

(when (not (empty? *failed-tests*))
      (println "Failed tests:")
      (for-each print *failed-tests*))

(print "#########################################################")
(if (= 0 (test-failure-count))
    (print "####################    Tests OK.    ####################")
    (print "#################### TESTS FAILED!!! ####################"))

(print "#########################################################")

(exit (test-failure-count))