[elephant-cvs] CVS elephant/tests

ieslick ieslick at common-lisp.net
Thu Feb 2 21:48:39 UTC 2006


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*)




More information about the Elephant-cvs mailing list