/ Check-in [474196d6]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Exclude a test case from the inmemory_journal permutation of multiplex.test.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 474196d6452f5868a712a9b0116d5f64c90d67c1
User & Date: dan 2010-12-02 14:47:06
Context
2010-12-02
17:39
Fix a bug causing fts3 to incorrectly return SQLITE_CORRUPT. check-in: 099195b1 user: dan tags: trunk
14:47
Exclude a test case from the inmemory_journal permutation of multiplex.test. check-in: 474196d6 user: dan tags: trunk
11:24
Fix a (harmless) valgrind warning in the rtree extension. check-in: a94b9a39 user: dan tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/multiplex.test.

448
449
450
451
452
453
454






455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490

491
492
  catch { sqlite3_multiplex_shutdown }
} -body {
  sqlite3_multiplex_initialize "" 1
  multiplex_set 32768 16
}

# test that mismatch filesize is detected






set all_journal_modes {delete persist truncate memory off}
foreach jmode $all_journal_modes {
  do_test multiplex-5.6.1.$jmode {
    sqlite3_multiplex_shutdown
    multiplex_delete test.db
    sqlite3 db test.db
    db eval {
      PRAGMA page_size = 1024;
      PRAGMA auto_vacuum = off;
    }
    db eval "PRAGMA journal_mode = $jmode;"
  } $jmode
  do_test multiplex-5.6.2.$jmode {
    execsql {
      CREATE TABLE t1(a, b);
      INSERT INTO t1 VALUES(1, randomblob(1100));
      INSERT INTO t1 VALUES(2, randomblob(1100));
      INSERT INTO t1 VALUES(3, randomblob(1100));
      INSERT INTO t1 VALUES(4, randomblob(1100));
      INSERT INTO t1 VALUES(5, randomblob(1100));
    }
    db close
    sqlite3_multiplex_initialize "" 1
    multiplex_set 4096 16
    sqlite3 db test.db
  } {}
  do_test multiplex-5.6.3.$jmode {
    catchsql {
      INSERT INTO t1 VALUES(6, randomblob(1100));
    }
  } {1 {disk I/O error}}
  do_test multiplex-5.6.4.$jmode {
    db close
  } {}
}


catch { sqlite3_multiplex_shutdown }
finish_test







>
>
>
>
>
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>


448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
  catch { sqlite3_multiplex_shutdown }
} -body {
  sqlite3_multiplex_initialize "" 1
  multiplex_set 32768 16
}

# test that mismatch filesize is detected
#
# Do not run this test if $::G(perm:presql) is set. If it is set, then the
# expected IO error will occur within the Tcl [sqlite3] wrapper, not within
# the first SQL statement executed below. This breaks the test case.
#
if {0==[info exists ::G(perm:presql)] || $::G(perm:presql) == ""} {
  set all_journal_modes {delete persist truncate memory off}
  foreach jmode $all_journal_modes {
    do_test multiplex-5.6.1.$jmode {
      sqlite3_multiplex_shutdown
      multiplex_delete test.db
      sqlite3 db test.db
      db eval {
        PRAGMA page_size = 1024;
        PRAGMA auto_vacuum = off;
      }
      db eval "PRAGMA journal_mode = $jmode;"
    } $jmode
    do_test multiplex-5.6.2.$jmode {
      execsql {
        CREATE TABLE t1(a, b);
        INSERT INTO t1 VALUES(1, randomblob(1100));
        INSERT INTO t1 VALUES(2, randomblob(1100));
        INSERT INTO t1 VALUES(3, randomblob(1100));
        INSERT INTO t1 VALUES(4, randomblob(1100));
        INSERT INTO t1 VALUES(5, randomblob(1100));
      }
      db close
      sqlite3_multiplex_initialize "" 1
      multiplex_set 4096 16
      sqlite3 db test.db
    } {}
    do_test multiplex-5.6.3.$jmode {
      catchsql {
        INSERT INTO t1 VALUES(6, randomblob(1100));
      }
    } {1 {disk I/O error}}
    do_test multiplex-5.6.4.$jmode {
      db close
    } {}
  }
}

catch { sqlite3_multiplex_shutdown }
finish_test