cl-postgres-socket3 backend using cl-postgres (backing of postmodern)
[clsql.git] / tests / test-init.lisp
index c428467f1882bb4aa49cb5797727d94e332e35ae..61fd0a51ab1a9bf27092309bb2f63a269713cf3f 100644 (file)
@@ -26,6 +26,8 @@
 (defvar *rt-oodml*)
 (defvar *rt-syntax*)
 (defvar *rt-time*)
+;; Below must be set as nil since test-i18n.lisp is not loaded on all platforms.
+(defvar *rt-i18n* nil)
 
 (defvar *test-database-type* nil)
 (defvar *test-database-underlying-type* nil)
   (setf *test-database-underlying-type*
         (clsql-sys:database-underlying-type *default-database*))
 
+  ;; If Postgres, turn off notices to console
+  (when (eql db-type :postgresql)
+    (clsql:execute-command "SET client_min_messages = WARNING"))
+
   *default-database*)
 
 (defun default-suites ()
   "The default list of tests to run."
   (append *rt-internal* *rt-connection* *rt-basic* *rt-fddl* *rt-fdml*
-         *rt-ooddl* *rt-oodml* *rt-syntax* *rt-time*))
+         *rt-ooddl* *rt-oodml* *rt-syntax* *rt-time* *rt-i18n*))
 
 
 (defvar *error-count* 0)
                 (clsql-sys:in test :fdml/select/9))
            (push (cons test "mssql uses integer math for AVG.") skip-tests))
           ((and (not (member *test-database-underlying-type*
-                             '(:postgresql :mysql :sqlite3)))
+                             '(:postgresql :mysql :sqlite3 )))
                 (clsql-sys:in test :fdml/select/37 :fdml/select/38))
            (push (cons test "LIMIT keyword not supported in SELECT.") skip-tests))
          ((and (not (clsql-sys:db-type-has-auto-increment? db-underlying-type))
                (clsql-sys:in test :oodml/select/12 :oodml/select/13 :oodml/select/14
                              :oodml/select/15 :oodml/select/16 :oodml/select/17
                              :oodml/select/18 :oodml/select/19 :oodml/select/20
-                             :oodml/select/21 :oodml/select/22
+                             :oodml/select/21 :oodml/select/22 :oodml/select/23
                              :oodml/update-records/4 :oodml/update-records/4-slots
                              :oodml/update-records/5 :oodml/update-records/5-slots
                              :oodml/update-records/6 :oodml/update-records/7
                              :oodml/update-records/8 :oodml/update-records/9
-                             :oodml/update-records/9-slots :oodml/update-instance/3
+                             :oodml/update-records/9-slots :oodml/update-records/10
+                             :oodml/update-records/11 :oodml/update-instance/3
                              :oodml/update-instance/4 :oodml/update-instance/5
                              :oodml/update-instance/6 :oodml/update-instance/7
                              :oodml/db-auto-sync/3 :oodml/db-auto-sync/4))
                              :time/pg/fdml/usec :time/pg/oodml/no-usec :time/pg/oodml/usec))
           (push (cons test "Postgres specific test.")
                 skip-tests))
+         ((and (eql *test-database-type* :postgresql-socket3)
+               (clsql-sys:in test :BASIC/SELECT/2 :basic/select/3))
+          (push (cons test "Postgres-socket3 always auto types")
+                skip-tests))
+         ((and (eql *test-database-type* :postgresql-socket3)
+               (clsql-sys:in test :fdml/select/18))
+          (push (cons test "Postgres-socket3 doesnt support attribute based type coersion")
+                skip-tests))
+         ((and (eql *test-database-type* :postgresql-socket3)
+               (clsql-sys:in test :basic/map/1 :basic/map/2 :basic/map/3 :basic/map/4
+                :basic/do/1 :basic/do/2 :fdml/do-query/1 :fdml/map-query/1
+                :fdml/map-query/2 :fdml/map-query/3 :fdml/map-query/4 :fdml/loop/1
+                :fdml/loop/2 :fdml/loop/3
+                ))
+          (push (cons test "postgresql-socket3 doesnt support cursoring interface")
+                skip-tests))
          ((and (member *test-database-underlying-type* '(:mysql))
                (clsql-sys:in test :time/cross-platform/msec
                             :time/cross-platform/usec/no-tz :time/cross-platform/usec/tz))