+10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.6.3
+ * test/test-init.lisp: Signal correctly
+ if any errors occurred in any test suite
+ * base/loop-extensions.lisp: Fix error
+ introduced for Lispworks
+ * base/pool.lisp: Fix locking for CMUCL
+ * base/objects.lisp: Remove schema-version cruft
+
10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
* Version 2.6.2: New CLSQL API functions:
DESCRIBE-TABLE AND TRUNCATE-DATABASE
(defmethod slot-value-using-class ((class standard-db-class) instance slot-def)
(declare (optimize (speed 3)))
(unless *db-deserializing*
- (let ((slot-name (slot-defition-name-name slot-def))
+ (let ((slot-name (slot-definition-name slot-def))
(slot-kind (view-class-slot-db-kind slot-def)))
(when (and (eql slot-kind :join)
(not (slot-boundp instance slot-name)))
(let* ((att (view-class-slot-column sd))
(val (db-value-from-slot sd (slot-value obj slot) database)))
(cond ((and vct sd stored?)
- (update-records :table (sql-expression :table vct)
+ (update-records (sql-expression :table vct)
:attributes (list (sql-expression :attribute att))
:values (list val)
:where (key-qualifier-for-instance obj :database database)
(db-value-from-slot s val database))))
sds)))
(cond ((and avps stored?)
- (update-records :table (sql-expression :table vct)
+ (update-records (sql-expression :table vct)
:av-pairs avps
:where (key-qualifier-for-instance
obj :database database)
(unless record-values
(error "No settable slots."))
(if (slot-value obj 'stored)
- (update-records :table (sql-expression :table view-class-table)
+ (update-records (sql-expression :table view-class-table)
:av-pairs record-values
:where (key-qualifier-for-instance
obj :database database)
(clsql:update-records-from-instance employee10)
(clsql:update-records-from-instance company1))
+(defvar *error-count* 0)
+
(defun run-tests ()
- (let ((specs (read-specs)))
+ (let ((specs (read-specs))
+ (*error-count* 0))
(unless specs
(warn "Not running tests because test configuration file is missing")
(return-from run-tests :skipped))
(dolist (db-type +all-db-types+)
(let ((spec (db-type-spec db-type specs)))
(when spec
- (do-tests-for-backend spec db-type))))))
+ (do-tests-for-backend spec db-type))))
+ (zerop *error-count*)))
(defun load-necessary-systems (specs)
(dolist (db-type +all-db-types+)
*** Running CLSQL tests with ~A backend.
*******************************************************************
" db-type)
+ (regression-test:rem-all-tests)
;; Tests of clsql-base
(ignore-errors (destroy-database spec :database-type db-type))
(ignore-errors (create-database spec :database-type db-type))
(with-tests (:name "CLSQL")
(test-basic spec db-type))
-
- (regression-test:rem-all-tests)
+ (incf *error-count* *test-errors*)
+
+ (ignore-errors (destroy-database spec :database-type db-type))
+ (ignore-errors (create-database spec :database-type db-type))
(dolist (test (append *rt-connection* *rt-fddl* *rt-fdml*
*rt-ooddl* *rt-oodml* *rt-syntax*))
(eval test))
-
- (ignore-errors (destroy-database spec :database-type db-type))
- (ignore-errors (create-database spec :database-type db-type))
(test-connect-to-database db-type spec)
-
- (assert *default-database*)
(test-initialise-database)
+ (let ((remaining (rtest:do-tests)))
+ (when (consp remaining)
+ (incf *error-count* (length remaining)))))
- (assert *default-database*)
- (rtest:do-tests)
- (disconnect))