Test output for sql-de-lite [ok]
Testing time: 1s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null -- testing autocommit -------------------------------------------------------- autocommit? reports #t outside transaction ........................... [ PASS] autocommit? reports #f during transaction ............................ [ PASS] 2 tests completed in 0.0 seconds. 2 out of 2 (100%) tests passed. -- done testing autocommit --------------------------------------------------- -- testing rollback ---------------------------------------------------------- Open read queries ok with SQL COMMIT ................................. [ PASS] (rollback) resets open cached queries ................................ [ PASS] (rollback) resets open transient queries (and warns) ................. Warning: resetting transient prepared statement: "select 1 union select 2" Warning: leaked open database handle: #<sqlite-database #<pointer 0x1576c08> on ":memory:"> [ PASS] with-transaction rollback resets open queries ........................ [ PASS] 4 tests completed in 0.001 seconds. 4 out of 4 (100%) tests passed. -- done testing rollback ----------------------------------------------------- -- testing reset ------------------------------------------------------------- query resets statement immediately (normal exit) ..................... [ PASS] query resets statement immediately (error exit) ...................... [ PASS] exec resets query immediately ........................................ [ PASS] exec resets even when column count = 0 ............................... [ PASS] 4 tests completed in 0.001 seconds. 4 out of 4 (100%) tests passed. -- done testing reset -------------------------------------------------------- -- testing fetch ------------------------------------------------------------- fetch first row via fetch ............................................ [ PASS] fetch first row via exec ............................................. [ PASS] fetch first row via (query fetch ...) ................................ [ PASS] fetch all rows twice via fetch-all + reset + fetch-all ............... [ PASS] fetch all rows twice via (query fetch-all ...) x 2 ................... [ PASS] fetch-all reads remaining rows mid-query ............................. [ PASS] 6 tests completed in 0.001 seconds. 6 out of 6 (100%) tests passed. -- done testing fetch -------------------------------------------------------- Finalizing previously finalized statement OK even after DB is closed . [ PASS] Open transient statements leave database open after call/db .......... Warning: leaked open database handle: #<sqlite-database #<pointer 0x159acc8> on ":memory:"> [ PASS] Prepared stmts FINALIZED? after QUERY bind error (cache disabled) .... [ PASS] Prepared stmts FINALIZED? after EXEC bind error (cache disabled) ..... [ PASS] sql/transient statements are initially finalized ..................... [ PASS] sql/transient statements are finalized after QUERY error ............. [ PASS] Cached statements are finalized on error in call-with-database ....... [ PASS] query* on non-statement does not enter infinite loop ................. [ PASS] Reset cached statement may be pulled from cache ...................... [ PASS] create / insert one row via execute-sql .............................. [ PASS] empty SQL is illegal ................................................. [ PASS] whitespace SQL is illegal ............................................ [ PASS] comment-only SQL is illegal .......................................... [ PASS] -- testing finalization ------------------------------------------------------ exec after finalize succeeds (statement resurrected) ................. [ PASS] reset after finalize ok .............................................. [ PASS] Exec prepared statement fails after database close (cache enabled) ... [ PASS] Exec prepared statement succeeds due to failed database close ........ Warning: leaked open database handle: #<sqlite-database #<pointer 0x15adfc8> on ":memory:"> [ PASS] Operating on transient statement succeeds due to failed database close Warning: leaked open database handle: #<sqlite-database #<pointer 0x15c1128> on ":memory:"> [ PASS] Resurrected transient statement is still transient ................... [ PASS] 6 tests completed in 0.002 seconds. 6 out of 6 (100%) tests passed. -- done testing finalization ------------------------------------------------- Successful rollback outside transaction .............................. [ PASS] Successful commit outside transaction ................................ [ PASS] insert ... select executes in one step ............................... [ PASS] cached statement may be exec'ed multiple times ....................... [ PASS] -- testing open-database ----------------------------------------------------- open in-memory database using 'memory ................................ [ PASS] open temp database using 'temp ....................................... [ PASS] open temp database using 'temporary .................................. [ PASS] 3 tests completed in 0.0 seconds. 3 out of 3 (100%) tests passed. -- done testing open-database ------------------------------------------------ -- testing statement traversal ----------------------------------------------- map-rows ............................................................. [ PASS] map-rows* ............................................................ [ PASS] for-each-row ......................................................... [ PASS] for-each-row* ........................................................ [ PASS] fold-rows ............................................................ [ PASS] fold-rows* ........................................................... [ PASS] 6 tests completed in 0.0 seconds. 6 out of 6 (100%) tests passed. -- done testing statement traversal ------------------------------------------ -- testing large integers ---------------------------------------------------- last-insert-rowid on int64 rowid (fails w/ numbers) 1234567890125 .... [ PASS] retrieve row containing int64 rowid (fails w/ numbers) 1234567890125 . [ PASS] last-insert-rowid on int64 rowid (numbers ok) 1234567890125 .......... [ PASS] 3 tests completed in 0.001 seconds. 3 out of 3 (100%) tests passed. -- done testing large integers ----------------------------------------------- -- testing binding types ----------------------------------------------------- insert short blob value .............................................. [ PASS] select short blob value .............................................. [ PASS] invalid bound parameter type (procedure) throws error ................ [ PASS] select null blob value ............................................... [ PASS] 4 tests completed in 0.001 seconds. 4 out of 4 (100%) tests passed. -- done testing binding types ------------------------------------------------ -- testing named parameters -------------------------------------------------- ?,? (1 2) -> (1 2) ................................................... [ PASS] ?1,?2 (3 4) -> (3 4) ................................................. [ PASS] ?2,?1 (6 5) -> (5 6) ................................................. [ PASS] :foo,:bar (foo: 7 bar: 8) -> (7 8) ................................... [ PASS] :bar,:foo (foo: 10 bar: 9) -> (9 10) ................................. [ PASS] ?3,?1 (12 13 11) -> (11 12) .......................................... [ PASS] :foo,:bar (foo: 30) -> error ......................................... [ PASS] :foo,:bar (fuu: 30 bar: 31) -> error ................................. [ PASS] -- testing mixed named and positional ------------------------------------ :foo,? (foo: 13 14) -> (13 14) ................................... [ PASS] :foo,? (15 foo: 16) -> (16 ()) ................................... [ PASS] ?,:foo (17 foo: 18) -> (17 18) ................................... [ PASS] :foo,?1 (100) -> (100 100) ....................................... [ PASS] ?1,:foo (101) -> error ........................................... [ PASS] ?1,:foo (foo: 102) -> error ...................................... [ PASS] :foo,:bar (foo: 103 104) -> (103 104) ............................ [ PASS] :foo,:bar (103 104) -> (103 104) ................................. [ PASS] ?3,:foo (1 2 3 4) -> (3 4) ....................................... [ PASS] ?3,:foo (foo: 1 2 3 4) -> (3 4) .................................. [ PASS] 10 tests completed in 0.001 seconds. 10 out of 10 (100%) tests passed. -- done testing mixed named and positional ------------------------------- -- testing known issues -------------------------------------------------- :foo,:bar (foo: 0 foo: 0) -> (0 ()) .............................. [ PASS] :foo,:bar (foo: 1 bar: 2 bar: 3) -> error ........................ [ PASS] 2 tests completed in 0.001 seconds. 2 out of 2 (100%) tests passed. -- done testing known issues --------------------------------------------- 8 tests and 2 subgroups completed in 0.003 seconds. 8 out of 8 (100%) tests passed. 2 out of 2 (100%) subgroups passed. -- done testing named parameters --------------------------------------------- -- testing schema changes ---------------------------------------------------- Baseline: Initial table setup ........................................ [ PASS] Existing statements recognize new column after ALTER TABLE ADD COLUMN [ PASS] Existing statements recognize column changes after table copy ........ [ PASS] Existing statements recognize column changes after table copy (2) .... [ PASS] Baseline: Column changes take effect if cache bypassed ............... [ PASS] Baseline: Column changes take effect after cache flush ............... [ PASS] Baseline: Test column count of prepared statement .................... [ PASS] Baseline: Test column names of prepared statement .................... [ PASS] Column count of idle statement does not reflect ADD COLUMN ........... [ PASS] Column names of idle statement do not reflect ADD COLUMN ............. [ PASS] Column count of running statement reflects ADD COLUMN ................ [ PASS] Column names of running statement reflects ADD COLUMN ................ [ PASS] Column count of reset statement reflects ADD COLUMN .................. [ PASS] Column count of reset statement reflects ADD COLUMN .................. [ PASS] 14 tests completed in 0.002 seconds. 14 out of 14 (100%) tests passed. -- done testing schema changes ----------------------------------------------- -- testing user defined functions -------------------------------------------- -- testing scalar functions ---------------------------------------------- pass int, receive int ............................................ [ PASS] pass double, receive double ...................................... [ PASS] pass null, receive null .......................................... [ PASS] pass string, receive string ...................................... [ PASS] pass null blob, receive null blob ................................ [ PASS] pass blob, receive blob .......................................... [ PASS] pass 2 args ...................................................... [ PASS] pass multiple args ............................................... [ PASS] overload argument count .......................................... [ PASS] unregister overloaded function ................................... [ PASS] sum multiple columns ............................................. [ PASS] raise error in function .......................................... [ PASS] 12 tests completed in 0.004 seconds. 12 out of 12 (100%) tests passed. -- done testing scalar functions ----------------------------------------- -- testing aggregate functions ------------------------------------------- sum one column ................................................... [ PASS] sum multiple columns ............................................. [ PASS] raise error in step function ..................................... [ PASS] raise error in final function .................................... [ PASS] active statements prevent unregister ............................. [ PASS] overload and unregister .......................................... [ PASS] varargs overload and unregister .................................. [ PASS] 7 tests completed in 0.002 seconds. 7 out of 7 (100%) tests passed. -- done testing aggregate functions -------------------------------------- 2 subgroups completed in 0.006 seconds. 2 out of 2 (100%) subgroups passed. -- done testing user defined functions --------------------------------------- -- testing multiple connections ---------------------------------------------- select step in db1 ................................................... [ PASS] insert step in db2 during select in db1 returns busy ................. [ PASS] retry the busy insert, expecting busy again .......................... [ PASS] different insert in db2 also returns busy ............................ [ PASS] another step in db1 .................................................. [ PASS] another step in db1 .................................................. [ PASS] reset and restep read in db1 ok, insert lock was reset ............... [ PASS] prepare on executing select fails .................................... [ PASS] rollback of immediate trans. releases write lock ..................... [ PASS] 9 tests completed in 0.6 seconds. 9 out of 9 (100%) tests passed. -- done testing multiple connections -----------------------------------------