mirror of
https://github.com/glebarez/go-sqlite.git
synced 2025-10-04 23:42:40 +08:00
tests: add a test for issue 97
This commit is contained in:

committed by
glebarez

parent
cd7c386357
commit
d561876d85
30
all_test.go
30
all_test.go
@@ -165,7 +165,35 @@ func TestIssue98(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := db.Exec("insert into t values (?)", nil); err == nil {
|
||||
t.Fatal(errors.New("expected statement to fail"))
|
||||
t.Fatal("expected statement to fail")
|
||||
}
|
||||
}
|
||||
|
||||
// https://gitlab.com/cznic/sqlite/issues/97
|
||||
func TestIssue97(t *testing.T) {
|
||||
name := filepath.Join(t.TempDir(), "tmp.db")
|
||||
|
||||
db, err := sql.Open(driverName, fmt.Sprintf("file:%s", name))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
if _, err := db.Exec("create table t(b int)"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
rodb, err := sql.Open(driverName, fmt.Sprintf("file:%s?mode=ro", name))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer rodb.Close()
|
||||
|
||||
_, err = rodb.Exec("drop table t")
|
||||
if err == nil {
|
||||
t.Fatal("expected drop table statement to fail on a read only database")
|
||||
} else if err.Error() != "attempt to write a readonly database (8)" {
|
||||
t.Fatal("expected drop table statement to fail because its a readonly database")
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user