Skip to content

Commit 5674e19

Browse files
committed
Test read-only databases
1 parent a3efcea commit 5674e19

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

sqlite3_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,27 @@ func TestOpen(t *testing.T) {
8383
}
8484
}
8585

86+
func TestReadonly(t *testing.T) {
87+
tempFilename := TempFilename(t)
88+
defer os.Remove(tempFilename)
89+
90+
db1, err := sql.Open("sqlite3", "file:" + tempFilename)
91+
if err != nil {
92+
t.Fatal(err)
93+
}
94+
db1.Exec("CREATE TABLE test (x int, y float)")
95+
96+
db2, err := sql.Open("sqlite3", "file:" + tempFilename + "?mode=ro")
97+
if err != nil {
98+
t.Fatal(err)
99+
}
100+
_ = db2
101+
_, err = db2.Exec("INSERT INTO test VALUES (1, 3.14)")
102+
if err == nil {
103+
t.Fatal("didn't expect INSERT into read-only database to work")
104+
}
105+
}
106+
86107
func TestClose(t *testing.T) {
87108
tempFilename := TempFilename(t)
88109
db, err := sql.Open("sqlite3", tempFilename)

0 commit comments

Comments
 (0)