Update of /project/elephant/cvsroot/elephant/tests In directory common-lisp:/tmp/cvs-serv6576/tests
Modified Files: Tag: ELEPHANT-0-4-1-rc1-IAN elephant-tests.lisp testindexing.lisp Log Message:
There may be a bug or two left, but the major locking problems have been resolved. Interactions due to reconnecting to databases can be problematic (i.e. indexing a new object when a cursor is walking the indices for that object leads to deadlock in the bdb code where the cursor has a read lock on an index that the persistent indexing wanted to write)
More tests needed, but the system appears largely stable now.
--- /project/elephant/cvsroot/elephant/tests/elephant-tests.lisp 2006/01/30 04:55:00 1.7.2.3 +++ /project/elephant/cvsroot/elephant/tests/elephant-tests.lisp 2006/02/02 21:48:39 1.7.2.4 @@ -127,10 +127,11 @@ (do-all-tests-spec *testsqlite3-path*) ))
-(defun do-all-tests-spec(spec) +(defun do-all-tests-spec (spec) (when spec (with-open-store (spec) (let ((*auto-commit* nil)) + (declare (special *auto-commit*)) (do-tests)))))
(defun do-test-spec (testname &optional (spec *testdb-path*)) @@ -141,14 +142,21 @@ (do-test testname)))))
(defun do-indexing-tests () - (setf *old-store* *store-controller*) - (open-store *testdb-path*) - (print (do-test 'indexing-basic)) - (print (do-test 'indexing-inherit)) - (print (do-test 'indexing-range)) - (print (do-test 'indexing-reconnect-db)) - (close-store) - (setf *store-controller* *old-store*)) + (declare (special *old-store*)) + (setq *old-store* *store-controller*) + (unwind-protect + (progn + (open-store *testdb-path*) + (print (do-test 'indexing-basic)) + (print (do-test 'indexing-inherit)) + (print (do-test 'indexing-range)) + (print (do-test 'indexing-reconnect-db)) + (print (do-test 'indexing-change-class)) + (print (do-test 'indexing-redef-class)) + (print (do-test 'indexing-explicit-changes)) + (print (do-test 'indexing-timing)) + (close-store)) + (setq *store-controller* *old-store*)))
(defun do-crazy-pg-tests() (open-store *testpg-path*)