snowcrash+sqlite <[EMAIL PROTECTED]> wrote: > whittling down the last few testsuite errors, > > % ./testfixture ../sqlite-3.3.8/test/conflict.test > > > the tests that FAIL, all have config param "t0 == 0", where, > > > i _think_ that's the "what" in this error. > > now, the "why" ... > > ideas? >
Recompile testfixture with debugging (-g) turned on. Then modify the conflict.test script as follows: *** conflict.test 17 Jan 2006 09:35:02 -0000 1.27 --- conflict.test 3 Jan 2007 12:29:28 -0000 *************** *** 309,314 **** --- 309,315 ---- if {$conf1!=""} {set conf1 "ON CONFLICT $conf1"} execsql {pragma temp_store=file} set ::sqlite_opentemp_count 0 + if {i==2} btree_breakpoint set r0 [catch {execsql [subst { DROP TABLE t1; CREATE TABLE t1(a,b,c, UNIQUE(a) $conf1); Bring up your debugger (gdb?) and set a breakpoint on the C routine "btree_breakpoint". Run the conflict.test script. The script will stop just before running test 6.2. Then set a breakpoint on the function sqlite3pager_opentemp. Continue until this second breakpoing is hit. Now single-step through sqlite3pager_opentemp and figure out why the sqlite3_opentemp_count variable is not being incremented. If it is being incremented, figure out why this variable is somehow different from the sqlite3_opentemp_count variable found in test1.c. Might be some kind of strange linker problem.... -- D. Richard Hipp <[EMAIL PROTECTED]> ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------