github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/database/sqlite3/error_test.go (about) 1 package sqlite3 2 3 import ( 4 "database/sql" 5 "io/ioutil" 6 "os" 7 "path" 8 "testing" 9 ) 10 11 func TestFailures(t *testing.T) { 12 dirName, err := ioutil.TempDir("", "sqlite3") 13 if err != nil { 14 t.Fatal(err) 15 } 16 defer os.RemoveAll(dirName) 17 18 dbFileName := path.Join(dirName, "test.db") 19 f, err := os.Create(dbFileName) 20 if err != nil { 21 t.Error(err) 22 } 23 f.Write([]byte{1, 2, 3, 4, 5}) 24 f.Close() 25 26 db, err := sql.Open("sqlite3", dbFileName) 27 if err == nil { 28 _, err = db.Exec("drop table foo") 29 } 30 if err != ErrNotADB { 31 t.Error("wrong error code for corrupted DB") 32 } 33 if err.Error() == "" { 34 t.Error("wrong error string for corrupted DB") 35 } 36 db.Close() 37 }