Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: third_party/sqlite/sqlite-src-3080704/test/incrvacuum_ioerr.test

Issue 2363173002: [sqlite] Remove obsolete reference version 3.8.7.4. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite-src-3080704/test/incrvacuum_ioerr.test
diff --git a/third_party/sqlite/sqlite-src-3080704/test/incrvacuum_ioerr.test b/third_party/sqlite/sqlite-src-3080704/test/incrvacuum_ioerr.test
deleted file mode 100644
index 50f7fa2029b2041ad01110e9a3ab03b1358f856e..0000000000000000000000000000000000000000
--- a/third_party/sqlite/sqlite-src-3080704/test/incrvacuum_ioerr.test
+++ /dev/null
@@ -1,182 +0,0 @@
-# 2001 October 12
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-# This file implements regression tests for SQLite library. The
-# focus of this file is testing for correct handling of I/O errors
-# such as writes failing because the disk is full.
-#
-# The tests in this file use special facilities that are only
-# available in the SQLite test fixture.
-#
-# $Id: incrvacuum_ioerr.test,v 1.6 2008/07/12 14:52:20 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-# If this build of the library does not support auto-vacuum, omit this
-# whole file.
-ifcapable {!autovacuum} {
- finish_test
- return
-}
-
-do_ioerr_test incrvacuum-ioerr-1 -cksum 1 -sqlprep {
- PRAGMA auto_vacuum = 'incremental';
- CREATE TABLE abc(a);
- INSERT INTO abc VALUES(randstr(1500,1500));
-} -sqlbody {
- BEGIN;
- CREATE TABLE abc2(a);
- DELETE FROM abc;
- PRAGMA incremental_vacuum;
- COMMIT;
-}
-
-# do_ioerr_test incrvacuum-ioerr-3 -start 1 -cksum 1 -tclprep {
-# db eval {
-# PRAGMA auto_vacuum = 'full';
-# PRAGMA cache_size = 10;
-# BEGIN;
-# CREATE TABLE abc(a, UNIQUE(a));
-# }
-# for {set ii 0} {$ii < 25} {incr ii} {
-# db eval {INSERT INTO abc VALUES(randstr(1500,1500))}
-# }
-# db eval COMMIT
-# } -sqlbody {
-# BEGIN;
-# DELETE FROM abc WHERE (oid%3)==0;
-# INSERT INTO abc SELECT a || '1234567890' FROM abc WHERE oid%2;
-# CREATE INDEX abc_i ON abc(a);
-# DELETE FROM abc WHERE (oid%2)==0;
-# DROP INDEX abc_i;
-# COMMIT;
-# }
-
-do_ioerr_test incrvacuum-ioerr-2 -start 1 -cksum 1 -tclprep {
- db eval {
- PRAGMA auto_vacuum = 'full';
- PRAGMA cache_size = 10;
- BEGIN;
- CREATE TABLE abc(a, UNIQUE(a));
- }
- for {set ii 0} {$ii < 25} {incr ii} {
- db eval {INSERT INTO abc VALUES(randstr(1500,1500))}
- }
- db eval COMMIT
-} -sqlbody {
- BEGIN;
- PRAGMA incremental_vacuum;
- DELETE FROM abc WHERE (oid%3)==0;
- PRAGMA incremental_vacuum;
- INSERT INTO abc SELECT a || '1234567890' FROM abc WHERE oid%2;
- PRAGMA incremental_vacuum;
- CREATE INDEX abc_i ON abc(a);
- DELETE FROM abc WHERE (oid%2)==0;
- PRAGMA incremental_vacuum;
- DROP INDEX abc_i;
- PRAGMA incremental_vacuum;
- COMMIT;
-}
-
-do_ioerr_test incrvacuum-ioerr-3 -start 1 -cksum 1 -tclprep {
- db eval {
- PRAGMA auto_vacuum = 'incremental';
- BEGIN;
- CREATE TABLE a(i integer, b blob);
- INSERT INTO a VALUES(1, randstr(1500,1500));
- INSERT INTO a VALUES(2, randstr(1500,1500));
- }
- db eval COMMIT
- db eval {DELETE FROM a WHERE oid}
-} -sqlbody {
- PRAGMA incremental_vacuum(5);
-} -cleanup {
- sqlite3 db test.db
- integrity_check incrvacuum-ioerr-2.$n.integritycheck
- db close
-}
-
-
-ifcapable shared_cache {
-
- catch { db close }
- forcedelete test.db
- set ::enable_shared_cache [sqlite3_enable_shared_cache 1]
-
- # Create two connections to a single shared-cache:
- #
- sqlite3 db1 test.db
- sqlite3 db2 test.db
-
- # Create a database with around 20 free pages.
- #
- do_test incrvacuum-ioerr-4.0 {
- execsql {
- PRAGMA page_size = 1024;
- PRAGMA locking_mode = exclusive;
- PRAGMA auto_vacuum = 'incremental';
- BEGIN;
- CREATE TABLE a(i integer, b blob);
- } db1
- for {set ii 0} {$ii < 20} {incr ii} {
- execsql { INSERT INTO a VALUES($ii, randstr(800,1500)); } db1
- }
- execsql COMMIT db1
- execsql {DELETE FROM a WHERE oid} db1
- } {}
-
- set ::rc 1
- for {set iTest 1} {$::rc && $iTest<2000} {incr iTest} {
-
- # Figure out how big the database is and how many free pages it
- # has before running incremental-vacuum.
- #
- set nFree [execsql {pragma freelist_count} db1]
- set nPage [execsql {pragma page_count} db1]
- puts "nFree=$nFree nPage=$nPage"
-
- # Now run incremental-vacuum to vacuum 5 pages from the db file.
- # The iTest'th I/O call is set to fail.
- #
- set ::sqlite_io_error_pending $iTest
- set ::sqlite_io_error_persist 1
- do_test incrvacuum-ioerr-4.$iTest.1 {
- set ::rc [catch {execsql {pragma incremental_vacuum(5)} db1} msg]
- expr {$::rc==0 || $msg eq "disk I/O error"}
- } {1}
-
- set ::sqlite_io_error_pending 0
- set ::sqlite_io_error_persist 0
- set ::sqlite_io_error_hit 0
- set ::sqlite_io_error_hardhit 0
-
- set nFree2 [execsql {pragma freelist_count} db1]
- set nPage2 [execsql {pragma page_count} db1]
-
- do_test incrvacuum-ioerr-4.$iTest.2 {
- set shrink [expr {$nPage-$nPage2}]
- expr {$shrink==0 || $shrink==5 || ($nFree<5 && $shrink==$nFree)}
- } {1}
-
- do_test incrvacuum-ioerr-4.$iTest.3 {
- expr {$nPage - $nPage2}
- } [expr {$nFree - $nFree2}]
- }
-
- # Close the two database connections and restore the default
- # shared-cache mode setting.
- #
- db1 close
- db2 close
- sqlite3_enable_shared_cache $::enable_shared_cache
-}
-
-finish_test
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/test/incrvacuum3.test ('k') | third_party/sqlite/sqlite-src-3080704/test/index.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698