Only reuse main db files.

This commit is contained in:
Nuno Cruces
2023-02-23 02:22:57 +00:00
parent 75f2644b0e
commit d52e0371eb
5 changed files with 34 additions and 48 deletions

View File

@@ -41,7 +41,9 @@ func (t params) mustExec(sql string, args ...interface{}) sql.Result {
}
func (sqliteDB) RunTest(t *testing.T, fn func(params)) {
db, err := sql.Open("sqlite3", filepath.Join(t.TempDir(), "foo.db"))
db, err := sql.Open("sqlite3", "file:"+
filepath.Join(t.TempDir(), "foo.db")+
"?_pragma=busy_timeout(10000)&_pragma=locking_mode(normal)&_pragma=synchronous(off)")
if err != nil {
t.Fatalf("foo.db open fail: %v", err)
}
@@ -104,7 +106,7 @@ func testTxQuery(t params) {
}
defer tx.Rollback()
_, err = t.DB.Exec("create table " + TablePrefix + "foo (id integer primary key, name varchar(50))")
_, err = tx.Exec("create table " + TablePrefix + "foo (id integer primary key, name varchar(50))")
if err != nil {
t.Logf("cannot drop table "+TablePrefix+"foo: %s", err)
}

View File

@@ -1,7 +1,6 @@
package tests
import (
"errors"
"io"
"os"
"os/exec"
@@ -16,7 +15,7 @@ import (
func TestParallel(t *testing.T) {
name := filepath.Join(t.TempDir(), "test.db")
testParallel(t, name, 100)
testParallel(t, name, 1000)
testIntegrity(t, name)
}
@@ -46,10 +45,6 @@ func TestMultiProcess(t *testing.T) {
testParallel(t, name, 1000)
if err := cmd.Wait(); err != nil {
t.Error(err)
var eerr *exec.ExitError
if errors.As(err, &eerr) {
t.Error(eerr.Stderr)
}
}
testIntegrity(t, name)
}
@@ -72,8 +67,10 @@ func testParallel(t *testing.T, name string, n int) {
defer db.Close()
err = db.Exec(`
PRAGMA locking_mode = NORMAL;
PRAGMA busy_timeout = 10000;
PRAGMA busy_timeout=10000;
PRAGMA synchronous=off;
PRAGMA locking_mode=normal;
PRAGMA journal_mode=truncate;
`)
if err != nil {
return err
@@ -100,8 +97,8 @@ func testParallel(t *testing.T, name string, n int) {
defer db.Close()
err = db.Exec(`
PRAGMA locking_mode = NORMAL;
PRAGMA busy_timeout = 10000;
PRAGMA busy_timeout=10000;
PRAGMA locking_mode=normal;
`)
if err != nil {
return err
@@ -148,7 +145,7 @@ func testParallel(t *testing.T, name string, n int) {
}
err = group.Wait()
if err != nil {
t.Fatal(err)
t.Error(err)
}
}