wasCSharpSQLite – Blame information for rev 7
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # 2010 July 15 |
2 | # |
||
3 | # The author disclaims copyright to this source code. In place of |
||
4 | # a legal notice, here is a blessing: |
||
5 | # |
||
6 | # May you do good and not evil. |
||
7 | # May you find forgiveness for yourself and forgive others. |
||
8 | # May you share freely, never taking more than you give. |
||
9 | # |
||
10 | #*********************************************************************** |
||
11 | # This file implements regression tests for SQLite library. |
||
12 | # |
||
13 | |||
14 | set testdir [file dirname $argv0] |
||
15 | source $testdir/tester.tcl |
||
16 | source $testdir/lock_common.tcl |
||
17 | source $testdir/malloc_common.tcl |
||
18 | |||
19 | #------------------------------------------------------------------------- |
||
20 | # If a connection is required to create a journal file, it creates it with |
||
21 | # the same file-system permissions as the database file itself. Test this. |
||
22 | # |
||
23 | if {$::tcl_platform(platform) == "unix"} { |
||
24 | |||
25 | set umask [exec /bin/sh -c umask] |
||
26 | faultsim_delete_and_reopen |
||
27 | do_test journal3-1.1 { execsql { CREATE TABLE tx(y, z) } } {} |
||
28 | |||
29 | foreach {tn permissions} { |
||
30 | 1 00644 |
||
31 | 2 00666 |
||
32 | 3 00600 |
||
33 | 4 00755 |
||
34 | } { |
||
35 | db close |
||
36 | set effective [format %.5o [expr $permissions & ~$umask]] |
||
37 | do_test journal3-1.2.$tn.1 { |
||
38 | catch { file delete -force test.db-journal } |
||
39 | file attributes test.db -permissions $permissions |
||
40 | file attributes test.db -permissions |
||
41 | } $permissions |
||
42 | do_test journal3-1.2.$tn.2 { file exists test.db-journal } {0} |
||
43 | do_test journal3-1.2.$tn.3 { |
||
44 | sqlite3 db test.db |
||
45 | execsql { |
||
46 | BEGIN; |
||
47 | INSERT INTO tx DEFAULT VALUES; |
||
48 | } |
||
49 | file exists test.db-journal |
||
50 | } {1} |
||
51 | do_test journal3-1.2.$tn.4 { |
||
52 | file attr test.db-journal -perm |
||
53 | } $effective |
||
54 | do_execsql_test journal3-1.2.$tn.5 { ROLLBACK } {} |
||
55 | } |
||
56 | |||
57 | |||
58 | } |
||
59 | |||
60 | finish_test |