mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Further coverage tests.
FossilOrigin-Name: 98a9713e0030a36ea99a18a12a2e7685c6db72b3
This commit is contained in:
22
manifest
22
manifest
@ -1,5 +1,5 @@
|
|||||||
C Update\sconfigure\sscripts\sfor\sWAL\ssupport.
|
C Further\scoverage\stests.
|
||||||
D 2010-05-06T15:36:00
|
D 2010-05-06T15:56:28
|
||||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||||
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
|
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
|
||||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||||
@ -154,7 +154,7 @@ F src/os_common.h 0d6ee583b6ee3185eb9d951f890c6dd03021a08d
|
|||||||
F src/os_os2.c 8ad77a418630d7dee91d1bb04f79c2096301d3a0
|
F src/os_os2.c 8ad77a418630d7dee91d1bb04f79c2096301d3a0
|
||||||
F src/os_unix.c 2ce91d5d9a8d0e8d4d2ed3bcb510d19945b77bc5
|
F src/os_unix.c 2ce91d5d9a8d0e8d4d2ed3bcb510d19945b77bc5
|
||||||
F src/os_win.c a8fc01d8483be472e495793c01064fd87e56a5c1
|
F src/os_win.c a8fc01d8483be472e495793c01064fd87e56a5c1
|
||||||
F src/pager.c 224df6ad5f8c1fed238570092199db1e57233779
|
F src/pager.c d6e9edb629d43a7762882fe2e2950886cdb95606
|
||||||
F src/pager.h 934b598583a9d936bb13c37d62a2fe68ac48781c
|
F src/pager.h 934b598583a9d936bb13c37d62a2fe68ac48781c
|
||||||
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
||||||
F src/pcache.c ace8f6a5ecd4711cc66a1b23053be7109bd437cf
|
F src/pcache.c ace8f6a5ecd4711cc66a1b23053be7109bd437cf
|
||||||
@ -207,7 +207,7 @@ F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
|
|||||||
F src/test_server.c bbba05c144b5fc4b52ff650a4328027b3fa5fcc6
|
F src/test_server.c bbba05c144b5fc4b52ff650a4328027b3fa5fcc6
|
||||||
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
|
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
|
||||||
F src/test_thread.c aa9919c885a1fe53eafc73492f0898ee6c0a0726
|
F src/test_thread.c aa9919c885a1fe53eafc73492f0898ee6c0a0726
|
||||||
F src/test_vfs.c e38d3619a85b11b14a16fdb7354bdaf25f9d39fc
|
F src/test_vfs.c a6a8b594b4b9ce884fcf7d822887b8e16e61f797
|
||||||
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
|
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
|
||||||
F src/tokenize.c 25ceb0f0a746ea1d0f9553787f3f0a56853cfaeb
|
F src/tokenize.c 25ceb0f0a746ea1d0f9553787f3f0a56853cfaeb
|
||||||
F src/trigger.c 8927588cb9e6d47f933b53bfe74200fbb504100d
|
F src/trigger.c 8927588cb9e6d47f933b53bfe74200fbb504100d
|
||||||
@ -224,7 +224,7 @@ F src/vdbeblob.c 5327132a42a91e8b7acfb60b9d2c3b1c5c863e0e
|
|||||||
F src/vdbemem.c 2a82f455f6ca6f78b59fb312f96054c04ae0ead1
|
F src/vdbemem.c 2a82f455f6ca6f78b59fb312f96054c04ae0ead1
|
||||||
F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2
|
F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2
|
||||||
F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda
|
F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda
|
||||||
F src/wal.c cc0c15289777ce3bad07769f762040089492a917
|
F src/wal.c d152a78f6c98418bf3ebd9edc24cf23bc6f6e866
|
||||||
F src/wal.h b4c42014b5fa3b4e6244ac8c65de7ff67adeb27c
|
F src/wal.h b4c42014b5fa3b4e6244ac8c65de7ff67adeb27c
|
||||||
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
|
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
|
||||||
F src/where.c 75fee9e255b62f773fcadd1d1f25b6f63ac7a356
|
F src/where.c 75fee9e255b62f773fcadd1d1f25b6f63ac7a356
|
||||||
@ -606,7 +606,7 @@ F test/tclsqlite.test 013133fa83128569c6fb8a7a48dc7c4507e6ff1c
|
|||||||
F test/tempdb.test 1bf52da28a9c24e29717362a87722dff08feb72b
|
F test/tempdb.test 1bf52da28a9c24e29717362a87722dff08feb72b
|
||||||
F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
|
F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
|
||||||
F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
|
F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
|
||||||
F test/tester.tcl 17082172a11795f9bc3e843aadb463ff76050c68
|
F test/tester.tcl f6b79073ad3a18439ad3a643f812e1d0c47dbb7b
|
||||||
F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
|
F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
|
||||||
F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
|
F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
|
||||||
F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
|
F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
|
||||||
@ -765,7 +765,7 @@ F test/wal.test 7dda3fc1637aa035510199e166941bfe987846ba
|
|||||||
F test/wal2.test 4a8e20416020f83b792464edee18107321dea99a
|
F test/wal2.test 4a8e20416020f83b792464edee18107321dea99a
|
||||||
F test/walbak.test a0e45187c7d8928df035dfea29b99b016b21ca3c
|
F test/walbak.test a0e45187c7d8928df035dfea29b99b016b21ca3c
|
||||||
F test/walcrash.test f6d5fb2bb108876f04848720a488065d9deef69f
|
F test/walcrash.test f6d5fb2bb108876f04848720a488065d9deef69f
|
||||||
F test/walfault.test e3e96418015d31fd492a4862fc3cd0c5936b2087
|
F test/walfault.test ae37204f4375e0e5eba75094d0d0db7148de70a8
|
||||||
F test/walhook.test a1c375ae791d5d7d511c166159729230791c574d
|
F test/walhook.test a1c375ae791d5d7d511c166159729230791c574d
|
||||||
F test/walmode.test bac6f06544a8554588a1543def996bbe2fc41792
|
F test/walmode.test bac6f06544a8554588a1543def996bbe2fc41792
|
||||||
F test/walslow.test d21625e2e99e11c032ce949e8a94661576548933
|
F test/walslow.test d21625e2e99e11c032ce949e8a94661576548933
|
||||||
@ -813,7 +813,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
|||||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
P 429f437fb776fc974a6adf791b729e25bea82fef
|
P 2edc5129f216abec9b13a0ad9b6640606caa9f72
|
||||||
R 22117ca51e36332ab6a2a984f998d4a1
|
R b6c7487b1e45fddee5b55391d5b620e7
|
||||||
U shaneh
|
U dan
|
||||||
Z fff7a55e20ef41dd52576d77252b3f59
|
Z 73a0d98dae929bcd07f7907cdc405ac1
|
||||||
|
@ -1 +1 @@
|
|||||||
2edc5129f216abec9b13a0ad9b6640606caa9f72
|
98a9713e0030a36ea99a18a12a2e7685c6db72b3
|
@ -5263,6 +5263,7 @@ int sqlite3PagerRollback(Pager *pPager){
|
|||||||
rc = sqlite3PagerSavepoint(pPager, SAVEPOINT_ROLLBACK, -1);
|
rc = sqlite3PagerSavepoint(pPager, SAVEPOINT_ROLLBACK, -1);
|
||||||
rc2 = pager_end_transaction(pPager, pPager->setMaster);
|
rc2 = pager_end_transaction(pPager, pPager->setMaster);
|
||||||
if( rc==SQLITE_OK ) rc = rc2;
|
if( rc==SQLITE_OK ) rc = rc2;
|
||||||
|
rc = pager_error(pPager, rc);
|
||||||
}else if( !pPager->dbModified || !isOpen(pPager->jfd) ){
|
}else if( !pPager->dbModified || !isOpen(pPager->jfd) ){
|
||||||
rc = pager_end_transaction(pPager, pPager->setMaster);
|
rc = pager_end_transaction(pPager, pPager->setMaster);
|
||||||
}else if( pPager->errCode && pPager->errCode!=SQLITE_FULL ){
|
}else if( pPager->errCode && pPager->errCode!=SQLITE_FULL ){
|
||||||
|
@ -495,7 +495,9 @@ static int tvfsShmGet(
|
|||||||
Tcl_NewStringObj(pShm->pBuffer->zFile, -1), pShm->id, 0
|
Tcl_NewStringObj(pShm->pBuffer->zFile, -1), pShm->id, 0
|
||||||
);
|
);
|
||||||
tvfsResultCode(p, &rc);
|
tvfsResultCode(p, &rc);
|
||||||
*pp = pShm->pBuffer->a;
|
if( rc==SQLITE_OK ){
|
||||||
|
*pp = pShm->pBuffer->a;
|
||||||
|
}
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -399,6 +399,7 @@ static int walIndexMap(Wal *pWal, int reqSize){
|
|||||||
assert( pWal->szWIndex==0 );
|
assert( pWal->szWIndex==0 );
|
||||||
pWal->pWiData = &pWal->iCallback;
|
pWal->pWiData = &pWal->iCallback;
|
||||||
}
|
}
|
||||||
|
assert( rc==SQLITE_OK || pWal->pWiData==0 );
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -1117,12 +1118,13 @@ int sqlite3WalWriteLock(Wal *pWal, int op){
|
|||||||
*/
|
*/
|
||||||
int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *pUndoCtx){
|
int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *pUndoCtx){
|
||||||
int unused;
|
int unused;
|
||||||
int rc = SQLITE_OK;
|
int rc;
|
||||||
Pgno iMax = pWal->hdr.iLastPg;
|
Pgno iMax = pWal->hdr.iLastPg;
|
||||||
Pgno iFrame;
|
Pgno iFrame;
|
||||||
|
|
||||||
|
assert( pWal->pWiData==0 );
|
||||||
rc = walIndexReadHdr(pWal, &unused);
|
rc = walIndexReadHdr(pWal, &unused);
|
||||||
for(iFrame=pWal->hdr.iLastPg+1; iFrame<=iMax && rc==SQLITE_OK; iFrame++){
|
for(iFrame=pWal->hdr.iLastPg+1; rc==SQLITE_OK && iFrame<=iMax; iFrame++){
|
||||||
assert( pWal->lockState==SQLITE_SHM_WRITE );
|
assert( pWal->lockState==SQLITE_SHM_WRITE );
|
||||||
rc = xUndo(pUndoCtx, pWal->pWiData[walIndexEntry(iFrame)]);
|
rc = xUndo(pUndoCtx, pWal->pWiData[walIndexEntry(iFrame)]);
|
||||||
}
|
}
|
||||||
|
@ -749,6 +749,7 @@ proc do_ioerr_test {testname args} {
|
|||||||
# 1. We never hit the IO error and the SQL returned OK
|
# 1. We never hit the IO error and the SQL returned OK
|
||||||
# 2. An IO error was hit and the SQL failed
|
# 2. An IO error was hit and the SQL failed
|
||||||
#
|
#
|
||||||
|
#puts "s=$s r=$r q=$q"
|
||||||
expr { ($s && !$r && !$q) || (!$s && $r && $q) }
|
expr { ($s && !$r && !$q) || (!$s && $r && $q) }
|
||||||
} {1}
|
} {1}
|
||||||
|
|
||||||
|
@ -105,6 +105,7 @@ proc do_shmfault_test {name args} {
|
|||||||
set A(-sqlprep) ""
|
set A(-sqlprep) ""
|
||||||
set A(-sqlbody) ""
|
set A(-sqlbody) ""
|
||||||
set A(-methods) [list xShmGet xShmOpen xShmSize]
|
set A(-methods) [list xShmGet xShmOpen xShmSize]
|
||||||
|
set A(-coverageonly) 0
|
||||||
array set A $args
|
array set A $args
|
||||||
|
|
||||||
# Create a VFS to use:
|
# Create a VFS to use:
|
||||||
@ -130,6 +131,7 @@ proc do_shmfault_test {name args} {
|
|||||||
|
|
||||||
catch { db close }
|
catch { db close }
|
||||||
|
|
||||||
|
if {$A(-coverageonly)} { set rc $hit_error }
|
||||||
do_test $name-$mode.$nDelay.1 [list set {} $hit_error] $rc
|
do_test $name-$mode.$nDelay.1 [list set {} $hit_error] $rc
|
||||||
|
|
||||||
if {$hit_error==0} break
|
if {$hit_error==0} break
|
||||||
@ -139,7 +141,6 @@ proc do_shmfault_test {name args} {
|
|||||||
shmfault delete
|
shmfault delete
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
do_shmfault_test walfault-shm-1 -sqlbody {
|
do_shmfault_test walfault-shm-1 -sqlbody {
|
||||||
PRAGMA journal_mode = WAL;
|
PRAGMA journal_mode = WAL;
|
||||||
CREATE TABLE t1(a PRIMARY KEY, b);
|
CREATE TABLE t1(a PRIMARY KEY, b);
|
||||||
@ -235,5 +236,19 @@ do_shmfault_test walfault-shm-4 -tclprep {
|
|||||||
SELECT count(*) FROM t1;
|
SELECT count(*) FROM t1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_shmfault_test walfault-shm-5 -coverageonly 1 -sqlprep {
|
||||||
|
PRAGMA cache_size = 10;
|
||||||
|
PRAGMA journal_mode = WAL;
|
||||||
|
CREATE TABLE abc(a PRIMARY KEY);
|
||||||
|
INSERT INTO abc VALUES(randomblob(900));
|
||||||
|
} -sqlbody {
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO abc SELECT randomblob(900) FROM abc; /* 1 */
|
||||||
|
INSERT INTO abc SELECT randomblob(900) FROM abc; /* 2 */
|
||||||
|
INSERT INTO abc SELECT randomblob(900) FROM abc; /* 4 */
|
||||||
|
INSERT INTO abc SELECT randomblob(900) FROM abc; /* 8 */
|
||||||
|
ROLLBACK;
|
||||||
|
}
|
||||||
|
|
||||||
finish_test
|
finish_test
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user