aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Buitinck <l.buitinck@esciencecenter.nl>2015-06-05 16:02:14 +0200
committerLars Buitinck <l.buitinck@esciencecenter.nl>2015-06-05 16:38:51 +0200
commitcebbf42ff60a87f038ef03b3c5734817d41ef0d6 (patch)
treec8c7a0926edc94d8d1b488c92811fcff74455713
parentremove -lpthread. related issue #201 (diff)
downloadgolite-cebbf42ff60a87f038ef03b3c5734817d41ef0d6.tar.gz
golite-cebbf42ff60a87f038ef03b3c5734817d41ef0d6.tar.xz
Get reliable tempfile names from ioutil.TempFile
Also makes them easier to spot (the tests tend to litter /tmp).
-rw-r--r--sqlite3_fts3_test.go2
-rw-r--r--sqlite3_test.go55
2 files changed, 29 insertions, 28 deletions
diff --git a/sqlite3_fts3_test.go b/sqlite3_fts3_test.go
index a1cd217..716a106 100644
--- a/sqlite3_fts3_test.go
+++ b/sqlite3_fts3_test.go
@@ -12,7 +12,7 @@ import (
)
func TestFTS3(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
diff --git a/sqlite3_test.go b/sqlite3_test.go
index 423f30e..ee1ba0c 100644
--- a/sqlite3_test.go
+++ b/sqlite3_test.go
@@ -6,15 +6,13 @@
package sqlite3
import (
- "crypto/rand"
"database/sql"
"database/sql/driver"
- "encoding/hex"
"errors"
"fmt"
+ "io/ioutil"
"net/url"
"os"
- "path/filepath"
"strings"
"testing"
"time"
@@ -22,15 +20,18 @@ import (
"github.com/mattn/go-sqlite3/sqlite3_test"
)
-func TempFilename() string {
- randBytes := make([]byte, 16)
- rand.Read(randBytes)
- return filepath.Join(os.TempDir(), "foo"+hex.EncodeToString(randBytes)+".db")
+func TempFilename(t *testing.T) string {
+ f, err := ioutil.TempFile("", "go-sqlite3-test-")
+ if err != nil {
+ t.Fatal(err)
+ }
+ f.Close()
+ return f.Name()
}
func doTestOpen(t *testing.T, option string) (string, error) {
var url string
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
if option != "" {
url = tempFilename + option
} else {
@@ -82,7 +83,7 @@ func TestOpen(t *testing.T) {
}
func TestClose(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -108,7 +109,7 @@ func TestClose(t *testing.T) {
}
func TestInsert(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -147,7 +148,7 @@ func TestInsert(t *testing.T) {
}
func TestUpdate(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -212,7 +213,7 @@ func TestUpdate(t *testing.T) {
}
func TestDelete(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -273,7 +274,7 @@ func TestDelete(t *testing.T) {
}
func TestBooleanRoundtrip(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -322,7 +323,7 @@ func TestBooleanRoundtrip(t *testing.T) {
}
func TestTimestamp(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -405,7 +406,7 @@ func TestTimestamp(t *testing.T) {
}
func TestBoolean(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -497,7 +498,7 @@ func TestBoolean(t *testing.T) {
}
func TestFloat32(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -535,7 +536,7 @@ func TestFloat32(t *testing.T) {
}
func TestNull(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -567,7 +568,7 @@ func TestNull(t *testing.T) {
}
func TestTransaction(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -627,7 +628,7 @@ func TestTransaction(t *testing.T) {
}
func TestWAL(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -675,7 +676,7 @@ func TestWAL(t *testing.T) {
func TestTimezoneConversion(t *testing.T) {
zones := []string{"UTC", "US/Central", "US/Pacific", "Local"}
for _, tz := range zones {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename+"?_loc="+url.QueryEscape(tz))
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -781,7 +782,7 @@ func TestSuite(t *testing.T) {
// TODO: Execer & Queryer currently disabled
// https://github.com/mattn/go-sqlite3/issues/82
func TestExecer(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -801,7 +802,7 @@ func TestExecer(t *testing.T) {
}
func TestQueryer(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -842,7 +843,7 @@ func TestQueryer(t *testing.T) {
}
func TestStress(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -880,7 +881,7 @@ func TestStress(t *testing.T) {
func TestDateTimeLocal(t *testing.T) {
zone := "Asia/Tokyo"
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename+"?_loc="+zone)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -947,7 +948,7 @@ func TestVersion(t *testing.T) {
}
func TestNumberNamedParams(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -983,7 +984,7 @@ func TestNumberNamedParams(t *testing.T) {
}
func TestStringContainingZero(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)
@@ -1043,7 +1044,7 @@ func (t TimeStamp) Value() (driver.Value, error) {
}
func TestDateTimeNow(t *testing.T) {
- tempFilename := TempFilename()
+ tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)
if err != nil {
t.Fatal("Failed to open database:", err)