Skip to content

Commit

Permalink
Added Skip flag to WriteQueryTest
Browse files Browse the repository at this point in the history
  • Loading branch information
nicktobey committed Apr 16, 2024
1 parent 6f3da5c commit de62fb0
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 14 deletions.
21 changes: 13 additions & 8 deletions enginetest/enginetests.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,6 @@ import (
"testing"
"time"

"github.com/dolthub/vitess/go/sqltypes"
"github.com/dolthub/vitess/go/vt/proto/query"
_ "github.com/go-sql-driver/mysql"
"github.com/gocraft/dbr/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/src-d/go-errors.v1"

sqle "github.com/dolthub/go-mysql-server"
"github.com/dolthub/go-mysql-server/enginetest/queries"
"github.com/dolthub/go-mysql-server/enginetest/scriptgen/setup"
Expand All @@ -51,6 +43,11 @@ import (
"github.com/dolthub/go-mysql-server/sql/types"
"github.com/dolthub/go-mysql-server/sql/variables"
"github.com/dolthub/go-mysql-server/test"
"github.com/dolthub/vitess/go/sqltypes"
"github.com/dolthub/vitess/go/vt/proto/query"
_ "github.com/go-sql-driver/mysql"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

// TestQueries tests a variety of queries against databases and tables provided by the given harness.
Expand Down Expand Up @@ -367,6 +364,10 @@ func TestReadOnlyDatabases(t *testing.T, harness ReadOnlyDatabaseHarness) {
} {
for _, tt := range querySet {
t.Run(tt.WriteQuery, func(t *testing.T) {
if tt.Skip {
t.Skip()
return
}
AssertErrWithBindings(t, engine, harness, tt.WriteQuery, tt.Bindings, analyzererrors.ErrReadOnlyDatabase)
})
}
Expand Down Expand Up @@ -1236,6 +1237,10 @@ func TestDelete(t *testing.T, harness Harness) {
t.Run(name+" join", func(t *testing.T) {
for _, tt := range queries.DeleteJoinTests {
t.Run(tt.WriteQuery, func(t *testing.T) {
if tt.Skip {
t.Skip()
return
}
e := mustNewEngine(t, harness)
e.EngineAnalyzer().Coster = coster
defer e.Close()
Expand Down
8 changes: 8 additions & 0 deletions enginetest/evaluation.go
Original file line number Diff line number Diff line change
Expand Up @@ -1047,6 +1047,10 @@ func ExtractQueryNode(node sql.Node) sql.Node {
// RunWriteQueryTest runs the specified |tt| WriteQueryTest using the specified harness.
func RunWriteQueryTest(t *testing.T, harness Harness, tt queries.WriteQueryTest) {
t.Run(tt.WriteQuery, func(t *testing.T) {
if tt.Skip {
t.Skip()
return
}
e := mustNewEngine(t, harness)
defer e.Close()
RunWriteQueryTestWithEngine(t, harness, e, tt)
Expand Down Expand Up @@ -1077,6 +1081,10 @@ func RunWriteQueryTestWithEngine(t *testing.T, harness Harness, e QueryEngine, t

func runWriteQueryTestPrepared(t *testing.T, harness Harness, tt queries.WriteQueryTest) {
t.Run(tt.WriteQuery, func(t *testing.T) {
if tt.Skip {
t.Skip()
return
}
if sh, ok := harness.(SkippingHarness); ok {
if sh.SkipQueryTest(tt.WriteQuery) {
t.Logf("Skipping query %s", tt.WriteQuery)
Expand Down
4 changes: 2 additions & 2 deletions enginetest/queries/insert_queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -476,20 +476,20 @@ var InsertQueries = []WriteQueryTest{
SelectQuery: "SELECT * FROM mytable WHERE i = 1",
ExpectedSelect: []sql.Row{{int64(1), "hi"}},
},
/* Disabled, see https://github.com/dolthub/dolt/issues/7638
{
WriteQuery: "INSERT INTO mytable (i,s) values (1, 'hi') AS dt(new_i,new_s) ON DUPLICATE KEY UPDATE s=new_s",
ExpectedWriteResult: []sql.Row{{types.NewOkResult(2)}},
SelectQuery: "SELECT * FROM mytable WHERE i = 1",
ExpectedSelect: []sql.Row{{int64(1), "hi"}},
Skip: true,
},
{
WriteQuery: "INSERT INTO mytable (i,s) values (1, 'hi') AS dt ON DUPLICATE KEY UPDATE mytable.s=dt.s",
ExpectedWriteResult: []sql.Row{{types.NewOkResult(2)}},
SelectQuery: "SELECT * FROM mytable WHERE i = 1",
ExpectedSelect: []sql.Row{{int64(1), "hir"}},
Skip: true,
},
*/
{
WriteQuery: "INSERT INTO mytable (s,i) values ('dup',1) ON DUPLICATE KEY UPDATE s=CONCAT(VALUES(s), 'licate')",
ExpectedWriteResult: []sql.Row{{types.NewOkResult(2)}},
Expand Down
7 changes: 3 additions & 4 deletions enginetest/queries/queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,13 @@ import (
"math"
"time"

"github.com/dolthub/vitess/go/sqltypes"
"github.com/dolthub/vitess/go/vt/proto/query"
"gopkg.in/src-d/go-errors.v1"

"github.com/dolthub/go-mysql-server/sql"
"github.com/dolthub/go-mysql-server/sql/analyzer/analyzererrors"
"github.com/dolthub/go-mysql-server/sql/expression"
"github.com/dolthub/go-mysql-server/sql/planbuilder"
"github.com/dolthub/go-mysql-server/sql/types"
"github.com/dolthub/vitess/go/sqltypes"
"github.com/dolthub/vitess/go/vt/proto/query"
)

type QueryTest struct {
Expand Down Expand Up @@ -10763,6 +10761,7 @@ type WriteQueryTest struct {
SelectQuery string
ExpectedSelect []sql.Row
Bindings map[string]*query.BindVariable
Skip bool
SkipServerEngine bool
}

Expand Down

0 comments on commit de62fb0

Please sign in to comment.