Fixed a bunch more tests

This commit is contained in:
Zach Musgrave
2021-06-24 16:24:07 -07:00
parent 1ce2a60f1c
commit 22e0ad8365
18 changed files with 48 additions and 47 deletions
+1
View File
@@ -1088,6 +1088,7 @@ func processNonBatchableQuery(ctx *sql.Context, se *sqlEngine, query string, sql
}
// DOLT SQL functions like DOLT_COMMIT require an updated repo state to work correctly.
// TODO: kill this entire mess
if foundDoltSQLFunc {
err = updateRepoState(ctx, se)
if err != nil {
@@ -159,7 +159,7 @@ func (q Query) Exec(t *testing.T, dEnv *env.DoltEnv) error {
root, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
sqlDb := dsqle.NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := dsqle.NewTestEngine(context.Background(), sqlDb, root)
engine, sqlCtx, err := dsqle.NewTestEngine(t, dEnv, context.Background(), sqlDb, root)
require.NoError(t, err)
_, iter, err := engine.Query(sqlCtx, q.Query)
@@ -535,7 +535,7 @@ func checkSchema(t *testing.T, r *doltdb.RootValue, tableName string, expectedSc
func checkRows(t *testing.T, dEnv *env.DoltEnv, root *doltdb.RootValue, tableName string, sch schema.Schema, selectQuery string, expectedRows []row.Row) {
sqlDb := dsqle.NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := dsqle.NewTestEngine(context.Background(), sqlDb, root)
engine, sqlCtx, err := dsqle.NewTestEngine(t, dEnv, context.Background(), sqlDb, root)
require.NoError(t, err)
s, rowIter, err := engine.Query(sqlCtx, selectQuery)
@@ -51,17 +51,17 @@ func RunModifyTypeTests(t *testing.T, tests []ModifyTypeTest) {
dEnv := dtestutils.CreateTestEnv()
root, err := dEnv.WorkingRoot(ctx)
require.NoError(t, err)
root, err = executeModify(ctx, dEnv, root, fmt.Sprintf("CREATE TABLE test(pk BIGINT PRIMARY KEY, v1 %s);", test.FromType))
root, err = executeModify(t, ctx, dEnv, root, fmt.Sprintf("CREATE TABLE test(pk BIGINT PRIMARY KEY, v1 %s);", test.FromType))
require.NoError(t, err)
root, err = executeModify(ctx, dEnv, root, fmt.Sprintf("INSERT INTO test VALUES %s;", test.InsertValues))
root, err = executeModify(t, ctx, dEnv, root, fmt.Sprintf("INSERT INTO test VALUES %s;", test.InsertValues))
require.NoError(t, err)
root, err = executeModify(ctx, dEnv, root, fmt.Sprintf("ALTER TABLE test MODIFY v1 %s;", test.ToType))
root, err = executeModify(t, ctx, dEnv, root, fmt.Sprintf("ALTER TABLE test MODIFY v1 %s;", test.ToType))
if test.ExpectedErr {
assert.Error(t, err)
return
}
require.NoError(t, err)
res, err := executeSelect(ctx, dEnv, root, "SELECT v1 FROM test ORDER BY pk;")
res, err := executeSelect(t, ctx, dEnv, root, "SELECT v1 FROM test ORDER BY pk;")
require.NoError(t, err)
assert.Equal(t, test.SelectRes, res)
})
@@ -113,10 +113,10 @@ func parseTime(timestampLayout bool, value string) time.Time {
return t.UTC()
}
func executeSelect(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) ([]interface{}, error) {
func executeSelect(t *testing.T, ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) ([]interface{}, error) {
var err error
db := sqle.NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := sqle.NewTestEngine(ctx, db, root)
engine, sqlCtx, err := sqle.NewTestEngine(t, dEnv, ctx, db, root)
if err != nil {
return nil, err
}
@@ -142,9 +142,9 @@ func executeSelect(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValu
return vals, nil
}
func executeModify(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) (*doltdb.RootValue, error) {
func executeModify(t *testing.T, ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) (*doltdb.RootValue, error) {
db := sqle.NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := sqle.NewTestEngine(ctx, db, root)
engine, sqlCtx, err := sqle.NewTestEngine(t, dEnv, ctx, db, root)
if err != nil {
return nil, err
}
+4 -4
View File
@@ -40,10 +40,10 @@ type SetupFn func(t *testing.T, dEnv *env.DoltEnv)
// Runs the query given and returns the result. The schema result of the query's execution is currently ignored, and
// the targetSchema given is used to prepare all rows.
func executeSelect(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) ([]sql.Row, sql.Schema, error) {
func executeSelect(t *testing.T, ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) ([]sql.Row, sql.Schema, error) {
var err error
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(ctx, db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, ctx, db, root)
if err != nil {
return nil, nil, err
}
@@ -67,9 +67,9 @@ func executeSelect(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValu
}
// Runs the query given and returns the error (if any).
func executeModify(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) (*doltdb.RootValue, error) {
func executeModify(t *testing.T, ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue, query string) (*doltdb.RootValue, error) {
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(ctx, db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, ctx, db, root)
if err != nil {
return nil, err
@@ -18,6 +18,7 @@ import (
"context"
"testing"
"github.com/dolthub/dolt/go/libraries/doltcore/sqle"
"github.com/dolthub/go-mysql-server/enginetest"
"github.com/dolthub/go-mysql-server/sql"
"github.com/stretchr/testify/require"
@@ -134,7 +135,8 @@ func TestDoltTransactionCommitOneClient(t *testing.T) {
},
},
})
db := harness.databases[0].GetDoltDB()
db := harness.databases[0].Db.(sqle.Database).GetDoltDB()
cs, err := doltdb.NewCommitSpec("HEAD")
require.NoError(t, err)
headRefs, err := db.GetHeadRefs(context.Background())
@@ -251,7 +253,7 @@ func TestDoltTransactionCommitTwoClients(t *testing.T) {
},
},
})
db := harness.databases[0].GetDoltDB()
db := harness.databases[0].Db.(sqle.Database).GetDoltDB()
cs, err := doltdb.NewCommitSpec("HEAD")
require.NoError(t, err)
headRefs, err := db.GetHeadRefs(context.Background())
@@ -314,7 +316,7 @@ func TestDoltTransactionCommitAutocommit(t *testing.T) {
},
},
})
db := harness.databases[0].GetDoltDB()
db := harness.databases[0].Db.(sqle.Database).GetDoltDB()
cs, err := doltdb.NewCommitSpec("HEAD")
require.NoError(t, err)
headRefs, err := db.GetHeadRefs(context.Background())
@@ -38,7 +38,7 @@ func setupMergeableIndexes(t *testing.T, tableName, insertQuery string) (*sqle.E
root, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(context.Background(), db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, context.Background(), db, root)
require.NoError(t, err)
_, iter, err := engine.Query(sqlCtx, fmt.Sprintf(`CREATE TABLE %s (
@@ -19,8 +19,6 @@ import (
"fmt"
"testing"
"github.com/dolthub/dolt/go/libraries/doltcore/env"
"github.com/dolthub/dolt/go/libraries/doltcore/ref"
"github.com/dolthub/go-mysql-server/sql"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+3 -3
View File
@@ -64,7 +64,7 @@ func TestSqlBatchInserts(t *testing.T) {
root, _ := dEnv.WorkingRoot(ctx)
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(ctx, db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, ctx, db, root)
require.NoError(t, err)
DSessFromSess(sqlCtx.Session).EnableBatchedMode()
@@ -153,7 +153,7 @@ func TestSqlBatchInsertIgnoreReplace(t *testing.T) {
root, _ := dEnv.WorkingRoot(ctx)
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(ctx, db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, ctx, db, root)
require.NoError(t, err)
DSessFromSess(sqlCtx.Session).EnableBatchedMode()
@@ -192,7 +192,7 @@ func TestSqlBatchInsertErrors(t *testing.T) {
root, _ := dEnv.WorkingRoot(ctx)
db := NewDatabase("dolt", dEnv.DbData())
engine, sqlCtx, err := NewTestEngine(ctx, db, root)
engine, sqlCtx, err := NewTestEngine(t, dEnv, ctx, db, root)
require.NoError(t, err)
DSessFromSess(sqlCtx.Session).EnableBatchedMode()
+2 -2
View File
@@ -241,7 +241,7 @@ func testDeleteQuery(t *testing.T, test DeleteTest) {
var err error
root, _ := dEnv.WorkingRoot(context.Background())
root, err = executeModify(context.Background(), dEnv, root, test.DeleteQuery)
root, err = executeModify(t, context.Background(), dEnv, root, test.DeleteQuery)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
return
@@ -249,7 +249,7 @@ func testDeleteQuery(t *testing.T, test DeleteTest) {
require.NoError(t, err)
}
actualRows, sch, err := executeSelect(context.Background(), dEnv, root, test.SelectQuery)
actualRows, sch, err := executeSelect(t, context.Background(), dEnv, root, test.SelectQuery)
require.NoError(t, err)
assert.Equal(t, test.ExpectedRows, actualRows)
+2 -2
View File
@@ -481,7 +481,7 @@ func testInsertQuery(t *testing.T, test InsertTest) {
var err error
root, _ := dEnv.WorkingRoot(context.Background())
root, err = executeModify(context.Background(), dEnv, root, test.InsertQuery)
root, err = executeModify(t, context.Background(), dEnv, root, test.InsertQuery)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
return
@@ -489,7 +489,7 @@ func testInsertQuery(t *testing.T, test InsertTest) {
require.NoError(t, err)
}
actualRows, sch, err := executeSelect(context.Background(), dEnv, root, test.SelectQuery)
actualRows, sch, err := executeSelect(t, context.Background(), dEnv, root, test.SelectQuery)
require.NoError(t, err)
assert.Equal(t, test.ExpectedRows, actualRows)
@@ -315,7 +315,7 @@ func testReplaceQuery(t *testing.T, test ReplaceTest) {
var err error
root, _ := dEnv.WorkingRoot(context.Background())
root, err = executeModify(context.Background(), dEnv, root, test.ReplaceQuery)
root, err = executeModify(t, context.Background(), dEnv, root, test.ReplaceQuery)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
return
@@ -323,7 +323,7 @@ func testReplaceQuery(t *testing.T, test ReplaceTest) {
require.NoError(t, err)
}
actualRows, sch, err := executeSelect(context.Background(), dEnv, root, test.SelectQuery)
actualRows, sch, err := executeSelect(t, context.Background(), dEnv, root, test.SelectQuery)
require.NoError(t, err)
assert.Equal(t, test.ExpectedRows, actualRows)
+2 -2
View File
@@ -1544,7 +1544,7 @@ func testSelectQuery(t *testing.T, test SelectTest) {
}
root, _ := dEnv.WorkingRoot(context.Background())
actualRows, sch, err := executeSelect(context.Background(), dEnv, root, test.Query)
actualRows, sch, err := executeSelect(t, context.Background(), dEnv, root, test.Query)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
// Too much work to synchronize error messages between the two implementations, so for now we'll just assert that an error occurred.
@@ -1602,7 +1602,7 @@ func testSelectDiffQuery(t *testing.T, test SelectTest) {
err = dEnv.UpdateWorkingRoot(ctx, root)
require.NoError(t, err)
actualRows, sch, err := executeSelect(ctx, dEnv, root, test.Query)
actualRows, sch, err := executeSelect(t, ctx, dEnv, root, test.Query)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
return
+2 -2
View File
@@ -439,7 +439,7 @@ func testUpdateQuery(t *testing.T, test UpdateTest) {
var err error
root, _ := dEnv.WorkingRoot(context.Background())
root, err = executeModify(context.Background(), dEnv, root, test.UpdateQuery)
root, err = executeModify(t, context.Background(), dEnv, root, test.UpdateQuery)
if len(test.ExpectedErr) > 0 {
require.Error(t, err)
return
@@ -447,7 +447,7 @@ func testUpdateQuery(t *testing.T, test UpdateTest) {
require.NoError(t, err)
}
actualRows, sch, err := executeSelect(context.Background(), dEnv, root, test.SelectQuery)
actualRows, sch, err := executeSelect(t, context.Background(), dEnv, root, test.SelectQuery)
require.NoError(t, err)
assert.Equal(t, test.ExpectedRows, actualRows)
@@ -165,7 +165,7 @@ ALTER TABLE three ADD FOREIGN KEY (v1, v2) REFERENCES two(v1, v2) ON DELETE CASC
root := testRoot
for _, sqlStatement := range strings.Split(test.sqlStatement, ";") {
var err error
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
require.NoError(t, err)
}
@@ -212,7 +212,7 @@ ALTER TABLE two ADD FOREIGN KEY (v1) REFERENCES one(v1) ON DELETE SET NULL ON UP
root := testRoot
for _, sqlStatement := range strings.Split(test.sqlStatement, ";") {
var err error
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
require.NoError(t, err)
}
@@ -296,14 +296,14 @@ func TestTableEditorForeignKeyRestrict(t *testing.T) {
root := testRoot
for _, sqlStatement := range strings.Split(test.setup, ";") {
var err error
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
require.NoError(t, err)
}
if test.expectedErr {
root, err = executeModify(context.Background(), dEnv, root, test.trigger)
root, err = executeModify(t, context.Background(), dEnv, root, test.trigger)
assert.Error(t, err)
} else {
root, err = executeModify(context.Background(), dEnv, root, test.trigger)
root, err = executeModify(t, context.Background(), dEnv, root, test.trigger)
assert.NoError(t, err)
}
})
@@ -367,10 +367,10 @@ ALTER TABLE three ADD FOREIGN KEY (v1, v2) REFERENCES two(v1, v2) ON DELETE CASC
root := testRoot
for _, sqlStatement := range strings.Split(test.setup, ";") {
var err error
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
require.NoError(t, err)
}
root, err = executeModify(context.Background(), dEnv, root, test.trigger)
root, err = executeModify(t, context.Background(), dEnv, root, test.trigger)
assert.Error(t, err)
})
}
@@ -435,7 +435,7 @@ func TestTableEditorSelfReferentialForeignKeyRestrict(t *testing.T) {
}
for _, test := range sequentialTests {
newRoot, err := executeModify(ctx, dEnv, root, test.statement)
newRoot, err := executeModify(t, ctx, dEnv, root, test.statement)
if test.expectedErr {
require.Error(t, err)
continue
@@ -535,7 +535,7 @@ func TestTableEditorSelfReferentialForeignKeyCascade(t *testing.T) {
}
for _, test := range sequentialTests {
newRoot, err := executeModify(ctx, dEnv, root, test.statement)
newRoot, err := executeModify(t, ctx, dEnv, root, test.statement)
if test.expectedErr {
require.Error(t, err)
continue
@@ -635,7 +635,7 @@ func TestTableEditorSelfReferentialForeignKeySetNull(t *testing.T) {
}
for _, test := range sequentialTests {
newRoot, err := executeModify(ctx, dEnv, root, test.statement)
newRoot, err := executeModify(t, ctx, dEnv, root, test.statement)
if test.expectedErr {
require.Error(t, err)
continue
@@ -124,7 +124,7 @@ UPDATE onepk SET pk1 = v1 + pk1 ORDER BY pk1 DESC;
root := initialRoot
for _, sqlStatement := range strings.Split(test.sqlStatement, ";") {
var err error
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
require.NoError(t, err)
}
@@ -282,7 +282,7 @@ UPDATE oneuni SET v1 = v1 + pk1;
root := initialRoot
var err error
for _, sqlStatement := range strings.Split(test.sqlStatement, ";") {
root, err = executeModify(context.Background(), dEnv, root, sqlStatement)
root, err = executeModify(t, context.Background(), dEnv, root, sqlStatement)
if err != nil {
break
}
@@ -183,7 +183,7 @@ func TestTableEditor(t *testing.T) {
root, err = db.GetRoot(ctx)
require.NoError(t, err)
actualRows, _, err := executeSelect(context.Background(), dEnv, root, test.selectQuery)
actualRows, _, err := executeSelect(t, context.Background(), dEnv, root, test.selectQuery)
require.NoError(t, err)
assert.Equal(t, test.expectedRows, actualRows)
+1 -1
View File
@@ -47,7 +47,7 @@ func TestViews(t *testing.T) {
{int64(3)},
{int64(4)},
}
rows, _, err := executeSelect(context.Background(), dEnv, root, "select * from plus1")
rows, _, err := executeSelect(t, context.Background(), dEnv, root, "select * from plus1")
require.NoError(t, err)
assert.Equal(t, expectedRows, rows)