X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=tests%2Futils.lisp;h=eb10ec33fe989ae5cd7751f0bd4a48af1ea63972;hp=6b5d38e64606fe4406e1703801b81e52c2c4dabb;hb=d9f41af62750c622945bb17b622a39689ee5b840;hpb=86440ca219f801a087ad917d1c1f46c77c920aa4 diff --git a/tests/utils.lisp b/tests/utils.lisp index 6b5d38e..eb10ec3 100644 --- a/tests/utils.lisp +++ b/tests/utils.lisp @@ -1,4 +1,4 @@ -;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; @@ -7,7 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Created: Mar 2002 ;;;; -;;;; $Id: tests.lisp 8926 2004-04-10 21:12:52Z kevin $ +;;;; $Id$ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg ;;;; @@ -24,17 +24,17 @@ :type "config")) (defvar +all-db-types+ - #-clisp '(:postgresql :postgresql-socket :sqlite :mysql :odbc - #+allegro :aodbc) - #+clisp '(:sqlite)) + '(:postgresql :postgresql-socket :mysql :sqlite :odbc :oracle + #+allegro :aodbc)) (defclass conn-specs () ((aodbc :accessor aodbc-spec :initform nil) - (odbc :accessor odbc-spec :initform nil) (mysql :accessor mysql-spec :initform nil) (postgresql :accessor postgresql-spec :initform nil) (postgresql-socket :accessor postgresql-socket-spec :initform nil) - (sqlite :accessor sqlite-spec :initform nil)) + (sqlite :accessor sqlite-spec :initform nil) + (odbc :accessor odbc-spec :initform nil) + (oracle :accessor oracle-spec :initform nil)) (:documentation "Connection specs for CLSQL testing")) @@ -58,11 +58,37 @@ (defun db-type-spec (db-type specs) (funcall (spec-fn db-type) specs)) -(defun db-type-ensure-system (db-type) - (unless (find-package (symbol-name db-type)) - (asdf:operate 'asdf:load-op - (intern (concatenate 'string - (symbol-name '#:clsql-) - (symbol-name db-type)))))) - +(defun summarize-test-report (sexp &optional (output *standard-output*)) + (flet ((db-title (db-type underlying-db-type) + (format nil "~A~A" + db-type + (if (eq db-type underlying-db-type) + "" + (format nil "/~A" underlying-db-type))))) + (with-open-file (in sexp :direction :input) + (let ((eof (cons nil nil))) + (do ((form (read in nil eof) (read in nil eof))) + ((eq form eof)) + (destructuring-bind (db-type + underlying-db-type + utime + total-tests + failed-tests + impl-type + impl-version + machine-type) + form + (declare (ignorable utime impl-version)) + (if failed-tests + (format output "~&~A: ~D of ~D tests failed (~A, ~A).~&" + (db-title db-type underlying-db-type) + (length failed-tests) + total-tests + machine-type + impl-type) + (format output "~&~A: All ~D tests passed (~A, ~A).~%" + (db-title db-type underlying-db-type) + total-tests + machine-type + impl-type))))))))