+
+ (dolist (test-form (append *rt-connection* *rt-fddl* *rt-fdml*
+ *rt-ooddl* *rt-oodml* *rt-syntax*))
+ (let ((test (second test-form)))
+ (cond
+ ((and (null (db-type-has-views? *test-database-underlying-type*))
+ (clsql-base-sys::in test :fddl/view/1 :fddl/view/2 :fddl/view/3 :fddl/view/4))
+ ;; skip test
+ )
+ ((and (null (db-type-has-boolean-where? *test-database-underlying-type*))
+ (clsql-base-sys::in test :fdml/select/11 :oodml/select/5))
+ ;; skip tests
+ )
+ ((and (null (db-type-has-subqueries? *test-database-underlying-type*))
+ (clsql-base-sys::in test :fdml/select/5 :fdml/select/10))
+ ;; skip tests
+ )
+ ((and (null (db-type-transaction-capable? *test-database-underlying-type* *default-database*))
+ (clsql-base-sys::in test :fdml/transaction/1 :fdml/transaction/2 :fdml/transaction/3 :fdml/transaction/4))
+ ;; skip tests
+ )
+ ((and (eql *test-database-type* :sqlite)
+ (clsql-base-sys::in test :fddl/view/4 :fdml/select/10))
+ ;; skip tests
+ )
+ (t
+ (eval test-form)))))
+