diff options
author | dan <dan@noemail.net> | 2010-06-21 18:29:40 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2010-06-21 18:29:40 +0000 |
commit | 0e986f51a45f57d85a6c0fbb8ea9870af3dcd02d (patch) | |
tree | 2cc4d57114f7486bc9f5d9bab1d4f0e3baee1ec0 /src | |
parent | 24f0f7716a8963454d77e0224c98dc76f1eebfd2 (diff) | |
download | sqlite-0e986f51a45f57d85a6c0fbb8ea9870af3dcd02d.tar.gz sqlite-0e986f51a45f57d85a6c0fbb8ea9870af3dcd02d.zip |
Add test cases to pager1.test and pager2.test.
FossilOrigin-Name: cc9ddae6d72b214f52b8949e644b91f4ab340a28
Diffstat (limited to 'src')
-rw-r--r-- | src/test_vfs.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/test_vfs.c b/src/test_vfs.c index 46f3a0630..7d37430a1 100644 --- a/src/test_vfs.c +++ b/src/test_vfs.c @@ -90,7 +90,7 @@ struct Testvfs { #define TESTVFS_ALL_MASK 0x00003FFF -#define TESTVFS_MAX_PAGES 256 +#define TESTVFS_MAX_PAGES 1024 /* ** A shared-memory buffer. There is one of these objects for each shared @@ -907,20 +907,23 @@ static int testvfs_obj_cmd( if( objc==4 ){ int n; u8 *a = Tcl_GetByteArrayFromObj(objv[3], &n); - assert( pBuffer->pgsz==0 || pBuffer->pgsz==32768 ); - for(i=0; i*32768<n; i++){ - int nByte = 32768; - tvfsAllocPage(pBuffer, i, 32768); - if( n-i*32768<32768 ){ + int pgsz = pBuffer->pgsz; + if( pgsz==0 ) pgsz = 32768; + for(i=0; i*pgsz<n; i++){ + int nByte = pgsz; + tvfsAllocPage(pBuffer, i, pgsz); + if( n-i*pgsz<pgsz ){ nByte = n; } - memcpy(pBuffer->aPage[i], &a[i*32768], nByte); + memcpy(pBuffer->aPage[i], &a[i*pgsz], nByte); } } pObj = Tcl_NewObj(); for(i=0; pBuffer->aPage[i]; i++){ - Tcl_AppendObjToObj(pObj, Tcl_NewByteArrayObj(pBuffer->aPage[i], 32768)); + int pgsz = pBuffer->pgsz; + if( pgsz==0 ) pgsz = 32768; + Tcl_AppendObjToObj(pObj, Tcl_NewByteArrayObj(pBuffer->aPage[i], pgsz)); } Tcl_SetObjResult(interp, pObj); break; |