r9186: add attribute caching, improve inititialize-database-type
[clsql.git] / tests / utils.lisp
index 6b5d38e64606fe4406e1703801b81e52c2c4dabb..1928bf4207e60b664b0382583aa370987d4e2e0e 100644 (file)
@@ -24,7 +24,7 @@
                 :type "config"))
 
 (defvar +all-db-types+
-  #-clisp '(:postgresql :postgresql-socket :sqlite :mysql :odbc 
+  #-clisp '(:postgresql :postgresql-socket :mysql :sqlite :odbc 
            #+allegro :aodbc)
   #+clisp '(:sqlite))
 
 (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
+           (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))))))))