;;; .EnTete "Le-Lisp (c) version 15.2" " " "La recette technique"
;;; .EnPied "recette.ll" "%" " "
;;;
;;; .Titre "La recette technique"
;;; .nr % 1
;;;
;;; .Centre "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"
;;; .Centre "Ce fichier est en lecture seule hors du projet ALE de l'INRIA."
;;; .Centre "Il est maintenu par ILOG SA, 2 Avenue Gallieni, 94250 Gentilly"
;;; .Centre "(c) Le-Lisp est une marque de'pose'e de l'INRIA               "
;;; .Centre "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"
;;;
;;; .Centre "$Header: recette.ll,v 4.9 89/01/12 20:31:45 kuczynsk Exp $"

; Ce fichier est l'entre'e standard de la recette technique Le-Lisp.

(unless (featurep 'date)
       (libload "date"))

; Pour diffe'rencier la pre'cision 32 bits et 64 bits
(add-feature (if (eq 0.0 0.0)
                 '31BITFLOATS
                 '64BITFLOATS))

(defvar #:recette:n 0)

(de imprimetest (l)
    (terpri 2)
    (prin (incr #:recette:n))(prin "). ")(prin l)
    (terpri 2))

(de printime ()
    (gc t)
    (print "; date: " (date) "  runtime: " (runtime))
    (print "; gcinfo: " (gcinfo))
    ())

(comline "ps -l")

(print)
(print "; gcinfo initial: " (gcinfo t))
(print)

               ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               ;;  Debut de la liste de tests  ;;
               ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(imprimetest "Test de l'interpre`te")
(printime)
(libload "testfn" t)

(imprimetest "Test du chargeur")
(printime)
(libload "testlap" t)

(imprimetest "Premier test du compilateur")
(when (eq (typefn 'compiler) 'expr)
      (printime)
      (llcp-std ()))
(printime)
(libload "testcp" t)

(imprimetest "Deuxie`me test du compilateur")
(printime)
(libload "testcpl" t)

(imprimetest "Benchmarks")
(newl
 #:system:path
 (namestring (make-pathname
	      () ()
	      (append (pathname-directory (pathname #:system:directory))
		      (list "benchmarks")))))
(printime)
(libload "benchmarks" t)
(do-test)

(imprimetest "Test de Lecture")
(printime)
(libload "testread" t)

(imprimetest "Test d'Ecriture")
(printime)
(libload "testprint" t)

(imprimetest "Test de Format")
(printime)
(unless (featurep 'format)
	(loadmodule "format"))
(compile-all-in-core)
(libload "testformat" t)

(imprimetest "Test de Trace")
(printime)
(unless (featurep 'debug)
	(loadmodule "trace"))
(compile-all-in-core)
(libload "testtrace" t)

(imprimetest "Test de Path")
(printime)
(libload "tpath" t)

(imprimetest "Test de MicroCeyx")
(printime)
(libload "testmcx" t)
(compile-all-in-core)

(imprimetest "Test des nombres flottants")
(printime)
(libload "testfloat" t)
(compile-all-in-core)

(imprimetest "Test de l'arithme'tique ge'ne'rique")
(printime)
(loadmodule "genr")
(compile-all-in-core)
(libload "testgenr" t)

(imprimetest "Test des rationnels")
(printime)
(loadmodule "ratio")
(compile-all-in-core)
(libload "testratio" t)

(imprimetest "Bench nume'rique")
(printime)
(bench)

(imprimetest "Test des complexes")
(printime)
(loadmodule "complex")
(compile-all-in-core)
(libload "testcomplex" t)

(imprimetest "Test de Setf")
(printime)
(unless (featurep 'setf)
	(loadmodule "setf"))
(compile-all-in-core)
(libload "testsetf" t)

(imprimetest "Test des Modules")
(printime)
(libload "testmodule" t)

;;; Si le systeme n'a pas CLOAD, les recettes doivent e↑tre lance's avec
;;; letestextbin
(imprimetest "Test des appels externes")
(printime)
(with ((printlength 5))
  (libload "testextern" t))

(imprimetest "Fin du test")
(gc)
(printime)
(terpri)
(print "================================================================")
(print "= N'oubliez pas de renvoyer le listage de ce test a` l'INRIA   =")
(print "================================================================")
(terpri)
(end)