X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=tests%2Ftest-init.lisp;h=ac294a7e68b3de8735e92c4b5911cfa85e5a929e;hp=415af2a2b81a3c5f9b562de889f47c20a21411e5;hb=d0695ffb828519fade3aa5166236812e6144975b;hpb=645d2ea7396466b8673e3421b55e45cd327f0195 diff --git a/tests/test-init.lisp b/tests/test-init.lisp index 415af2a..ac294a7 100644 --- a/tests/test-init.lisp +++ b/tests/test-init.lisp @@ -18,8 +18,9 @@ (defvar *report-stream* *standard-output* "Stream to send text report.") (defvar *sexp-report-stream* nil "Stream to send sexp report.") -(defvar *rt-connection*) +(defvar *rt-internal*) (defvar *rt-basic*) +(defvar *rt-connection*) (defvar *rt-fddl*) (defvar *rt-fdml*) (defvar *rt-ooddl*) @@ -30,6 +31,7 @@ (defvar *test-database-type* nil) (defvar *test-database-underlying-type* nil) (defvar *test-database-user* nil) +(defvar *test-start-utime* nil) (defclass thing () ((extraterrestrial :initform nil :initarg :extraterrestrial))) @@ -40,12 +42,13 @@ (married :db-kind :base :accessor married :type boolean :initarg :married) (birthday :type clsql:wall-time :initarg :birthday) + (bd-utime :type clsql:universal-time :initarg :bd-utime) (hobby :db-kind :virtual :initarg :hobby :initform nil))) (def-view-class employee (person) ((emplid :db-kind :key - :db-constraints :not-null + :db-constraints (:not-null :unique) :type integer :initarg :emplid) (groupid @@ -236,7 +239,9 @@ (clsql:create-view-from-class 'employee-address) (clsql:create-view-from-class 'big)) - (let ((*db-auto-sync* t)) + (setq *test-start-utime* (get-universal-time)) + (let* ((*db-auto-sync* t) + (now-time (clsql:utime->time *test-start-utime*))) (setf company1 (make-instance 'company :presidentid 1 :companyid 1 @@ -247,7 +252,8 @@ :groupid 1 :married t :height (1+ (random 1.00)) - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Vladamir" :last-name "Lenin" :email "lenin@soviet.org" @@ -257,7 +263,8 @@ :groupid 1 :height (1+ (random 1.00)) :married t - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Josef" :last-name "Stalin" :email "stalin@soviet.org" @@ -268,7 +275,8 @@ :groupid 1 :height (1+ (random 1.00)) :married t - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Leon" :last-name "Trotsky" :email "trotsky@soviet.org" @@ -279,7 +287,8 @@ :groupid 1 :height (1+ (random 1.00)) :married nil - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Nikita" :last-name "Kruschev" :email "kruschev@soviet.org" @@ -290,7 +299,8 @@ :groupid 1 :married nil :height (1+ (random 1.00)) - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Leonid" :last-name "Brezhnev" :email "brezhnev@soviet.org" @@ -301,7 +311,8 @@ :groupid 1 :married nil :height (1+ (random 1.00)) - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Yuri" :last-name "Andropov" :email "andropov@soviet.org" @@ -312,7 +323,8 @@ :groupid 1 :height (1+ (random 1.00)) :married nil - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Konstantin" :last-name "Chernenko" :email "chernenko@soviet.org" @@ -323,7 +335,8 @@ :groupid 1 :height (1+ (random 1.00)) :married nil - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Mikhail" :last-name "Gorbachev" :email "gorbachev@soviet.org" @@ -334,7 +347,8 @@ :groupid 1 :married nil :height (1+ (random 1.00)) - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Boris" :last-name "Yeltsin" :email "yeltsin@soviet.org" @@ -345,7 +359,8 @@ :groupid 1 :married nil :height (1+ (random 1.00)) - :birthday (clsql:get-time) + :bd-utime *test-start-utime* + :birthday now-time :first-name "Vladamir" :last-name "Putin" :email "putin@soviet.org" @@ -538,7 +553,7 @@ (defun compute-tests-for-backend (db-type db-underlying-type) (let ((test-forms '()) (skip-tests '())) - (dolist (test-form (append *rt-connection* *rt-basic* *rt-fddl* *rt-fdml* + (dolist (test-form (append *rt-internal* *rt-connection* *rt-basic* *rt-fddl* *rt-fdml* *rt-ooddl* *rt-oodml* *rt-syntax*)) (let ((test (second test-form))) (cond @@ -580,6 +595,10 @@ ((and (eq *test-database-type* :oracle) (clsql-sys:in test :fdml/query/8 :fdml/select/21)) (push (cons test "syntax not supported") skip-tests)) + ((and (not (member *test-database-underlying-type* + '(:postgresql :oracle))) + (clsql-sys:in test :fddl/owner/1)) + (push (cons test "table ownership not supported") skip-tests)) (t (push test-form test-forms))))) (values (nreverse test-forms) (nreverse skip-tests))))