Ian Eslick <[EMAIL PROTECTED]> writes: > Sorry about that last test. A better way to do it is to set > regression-test::*catch-errors* to nil, then run the full regress > test. That will be informative. > > Thank you, > Ian
Hi, Ian Can't run the full regress test when set regression-test::*catch-errors* to nil, it will halt on first failure test. But I think I know what's your meaning, set regression-test::*catch-errors* to nil can show the real error message and got a full backtrace: ELE-TESTS 15 > (do-test 'set-range) Error: No applicable methods for #<STANDARD-GENERIC-FUNCTION ELEPHANT::EXECUTE-TRANSACTION 410003059C> with args (NIL #<anonymous interpreted function 401003A8F4> :PARENT NIL :RETRIES 200) 1 (continue) Call #<STANDARD-GENERIC-FUNCTION ELEPHANT::EXECUTE-TRANSACTION 410003059C> again 2 (abort) Return to level 0. 3 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options ELE-TESTS 16 : 1 > :b Call to ERROR Call to CERROR Call to (METHOD NO-APPLICABLE-METHOD (T)) Call to CLOS::GENERIC-FUNCTION-NON-DISCRIMINATOR Call to CLOS::APPLY-NO-APPLICABLE-METHOD Call to FUNCALL Call to LET Call to EVAL Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION REGRESSION-TEST::%DO REGRESSION-TEST::DO-ENTRY) Call to REGRESSION-TEST::DO-ENTRY Call to EVAL Call to CAPI::CAPI-TOP-LEVEL-FUNCTION Call to CAPI::INTERACTIVE-PANE-TOP-LOOP Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION MP::PROCESS-SG-FUNCTION MP::INITIALIZE-PROCESS-STACK) ELE-TESTS 21 > (do-test 'PGET-BOTH-RANGE) Error: The error 'MAKE-INSTANCE is called with keyword :FORMAT-CONTROL among the arguments (CONTROLLER-LOST-ERROR :FORMAT-CONTROL "Store controller for specification ~A for object ~A cannot be found." :FORMAT-ARGUMENTS (# #) :OBJECT #<BDB-BTREE-INDEX oid:25> :SPEC (:BDB "/tmp/testdb/")) which is not one of (:SPEC :OBJECT).' was raised while coercing (CONTROLLER-LOST-ERROR :FORMAT-CONTROL "Store controller for specification ~A for object ~A cannot be found." :FORMAT-ARGUMENTS (#<BDB-BTREE-INDEX oid:25> (:BDB "/tmp/testdb/")) :OBJECT #<BDB-BTREE-INDEX oid:25> :SPEC (:BDB "/tmp/testdb/")) to a condition. 1 (continue) Open a new instance and continue? 2 (abort) Return to level 0. 3 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options ELE-TESTS 22 : 1 > :b Call to ERROR Call to CERROR Call to ELEPHANT::SIGNAL-CONTROLLER-LOST-ERROR Call to (METHOD ELEPHANT::GET-CON (PERSISTENT)) Call to (METHOD MAKE-CURSOR (DB-BDB::BDB-BTREE-INDEX)) Call to LET Call to EVAL Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION REGRESSION-TEST::%DO REGRESSION-TEST::DO-ENTRY) Call to REGRESSION-TEST::DO-ENTRY Call to EVAL Call to CAPI::CAPI-TOP-LEVEL-FUNCTION Call to CAPI::INTERACTIVE-PANE-TOP-LOOP Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION MP::PROCESS-SG-FUNCTION MP::INITIALIZE-PROCESS-STACK) ELE-TESTS 25 > (do-test 'PCURSOR) Test PCURSOR failed Form: (WITH-BTREE-CURSOR (C INDEX3) (VALUES (PCURSOR-PKEY (CURSOR-PFIRST C)) (PCURSOR-PKEY (CURSOR-PNEXT C)) (PCURSOR-PKEY (CURSOR-PNEXT-NODUP C)) (PCURSOR-PKEY (CURSOR-PNEXT-DUP C)) (PCURSOR-PKEY (CURSOR-PPREV C)) (PCURSOR-PKEY (CURSOR-PPREV-NODUP C)) (PCURSOR-PKEY (CURSOR-PLAST C)) (PCURSOR-PKEY (CURSOR-PSET C 300)) (PCURSOR-PKEY (CURSOR-PSET-RANGE C 199.5)) (PCURSOR-PKEY (CURSOR-PGET-BOTH C 10 101)) (PCURSOR-PKEY (CURSOR-PGET-BOTH-RANGE C 11 111.4)))) Expected values: 0 2 10 11 10 9 9999 3000 2000 101 112 Actual values: 0 2 10 11 10 9 9999 3000 NIL 101 NIL. NIL ELE-TESTS 27 > (do-test 'PCURSOR2) Test PCURSOR2 failed Form: (WITH-BTREE-CURSOR (C INDEX4) (VALUES (PCURSOR-PKEY (CURSOR-PFIRST C)) (PCURSOR-PKEY (CURSOR-PNEXT C)) (PCURSOR-PKEY (CURSOR-PNEXT-NODUP C)) (PCURSOR-PKEY (CURSOR-PNEXT-DUP C)) (PCURSOR-PKEY (CURSOR-PPREV C)) (PCURSOR-PKEY (CURSOR-PPREV-NODUP C)) (PCURSOR-PKEY (CURSOR-PLAST C)) (PCURSOR-PKEY (CURSOR-PSET C 300)) (PCURSOR-PKEY (CURSOR-PSET-RANGE C 199.5)) (PCURSOR-PKEY (CURSOR-PGET-BOTH C 10 101)) (PCURSOR-PKEY (CURSOR-PGET-BOTH-RANGE C 11 111.4)))) Expected values: 0 2 10 11 10 9 9999 3000 2000 101 112 Actual values: 0 2 10 11 10 9 9999 3000 NIL 101 NIL. NIL Seems the last two test has no error reported, just wrong answer. Is this informative? Thanks. Chun Tian (binghe) > > On Jun 12, 2007, at 12:35 PM, Chun Tian (binghe) wrote: > >> Ian Eslick <[EMAIL PROTECTED]> writes: >> >>> Chun Tian, >>> >>> Were you able to run the tests on PostgreSQL as well? Did they show >>> similar failures? >> >> No. On PostgreSQL, only INDEXING-TIMING failes: (but this test is >> much slower than bdb) >> >> Test INDEXING-TIMING failed >> Form: (PROGN >> (MAKE-STRESS-CLASSES) >> (LET ((INSTS (GET-INSTANCES-BY-CLASS 'STRESS-INDEX)) >> (START NIL) >> (END NIL) >> (NORMAL-CHECK NIL) >> (INDEX-CHECK NIL) >> (NORMAL-TIME 0) >> (INDEX-TIME 0)) >> (WHEN INSTS (DROP-INSTANCES INSTS :SC *STORE-CONTROLLER*)) >> (WITH-TRANSACTION NIL >> (NORMAL-STRESS-SETUP *STRESS-COUNT* 'STRESS- >> NORMAL :STRESS2 10)) >> (WITH-TRANSACTION NIL >> (INDEXED-STRESS-SETUP *STRESS-COUNT* 'STRESS- >> INDEX :STRESS2 10)) >> (SETF START (GET-INTERNAL-RUN-TIME)) >> (SETF NORMAL-CHECK (NORMAL-LOOKUP)) >> (SETF END (GET-INTERNAL-RUN-TIME)) >> (SETF NORMAL-TIME (/ (- END START 0.0) INTERNAL-TIME- >> UNITS-PER-SECOND)) >> (SETF START (GET-INTERNAL-RUN-TIME)) >> (SETF INDEX-CHECK (INDEX-LOOKUP)) >> (SETF END (GET-INTERNAL-RUN-TIME)) >> (SETF INDEX-TIME (/ (- END START 0.0) INTERNAL-TIME-UNITS- >> PER-SECOND)) >> (FORMAT T >> "~%Ranged get of ~A/~A objects = Linear: ~A sec >> Indexed: ~A sec~%" >> *RANGE-SIZE* >> *STRESS-COUNT* >> NORMAL-TIME >> INDEX-TIME) >> (AND (EQUAL NORMAL-CHECK INDEX-CHECK) (> NORMAL-TIME >> INDEX-TIME)))) >> Expected value: T >> Actual value: NIL. >> >> And I rerun the BDB test, some fails like before: >> >> 4 out of 132 total tests failed: SET-RANGE, PGET-BOTH-RANGE, PCURSOR, >> PCURSOR2. >> >> >>> >>> The set range features have always been a little fragile, but I'm not >>> sure how 64-bits would effect it. I can try to run Lispworks 32bit >>> on Linux as I think there have been some differences between Linux >>> and other platforms in the past. >>> >>> I also noticed that the test 'SET-RANGE' failed with an error. Could >>> you do the following test? >>> >>> (setf regression-test::*catch-errors* nil) >>> (open-store *testbdb-spec*) >>> (do-test 'set-range) >>> >>> And let me know what the error is? >> >> OK, but something wrong happened: >> >> CL-USER 1 > (clc:clc-require :elephant-tests) >> >> CL-USER 2 > (in-package :elephant-tests) >> #<The ELEPHANT-TESTS package, 459/1024 internal, 0/16 external> >> >> ELE-TESTS 3 > (clc:clc-require :ele-bdb) >> >> ELE-TESTS 4 > *testbdb-spec* >> (:BDB "/afs/163.org/user/b/binghe/lisp/elephant/tests/testdb/") >> >> ELE-TESTS 5 > (setf *testbdb-spec* '(:bdb "/tmp/testdb/")) >> (:BDB "/tmp/testdb/") >> >> ELE-TESTS 6 > (setf *default-spec* *testbdb-spec*) >> (:BDB "/tmp/testdb/") >> >> ELE-TESTS 7 > (setf regression-test::*catch-errors* nil) >> NIL >> >> ELE-TESTS 8 > (open-store *testbdb-spec*) >> #<BDB-STORE-CONTROLLER /tmp/testdb/> >> >> ELE-TESTS 9 > (do-test 'set-range) >> >> Error: The variable INDEX1 is unbound. >> 1 (continue) Try evaluating INDEX1 again. >> 2 Specify a value to use this time instead of evaluating INDEX1. >> 3 Specify a value to set INDEX1 to. >> 4 (abort) Return to level 0. >> 5 Return to top loop level 0. >> >> Type :b for backtrace, :c <option number> to proceed, or :? for >> other options >> >> ELE-TESTS 10 : 1 > :c 5 >> >> ELE-TESTS 11 > >> >> Sorry, cannot adjust it myself. >> >>> >>> Thank you, >>> Ian >>> _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel