Skip to content

Commit

Permalink
updated the test
Browse files Browse the repository at this point in the history
Signed-off-by: Harshit Gangal <[email protected]>
  • Loading branch information
harshit-gangal committed Jul 5, 2023
1 parent 9c958e5 commit 74d0c35
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 12 deletions.
30 changes: 20 additions & 10 deletions go/test/endtoend/vtgate/queries/kill/kill_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package kill
import (
"context"
"fmt"
"strings"
"testing"
"time"

Expand Down Expand Up @@ -179,30 +180,30 @@ func TestKillStmtOnHugeData(t *testing.T) {

t.Run("oltp - kill conn", func(t *testing.T) {
testHugeData(t, "oltp", func(conn *mysql.Conn, killConn *mysql.Conn) {
utils.Exec(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
utils.ExecAllowError(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "context canceled (errno 1317) (sqlstate 70100)")
})

t.Run("oltp - kill query", func(t *testing.T) {
testHugeData(t, "oltp", func(conn *mysql.Conn, killConn *mysql.Conn) {
utils.Exec(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "context canceled (errno 1317) (sqlstate 70100)")
utils.ExecAllowError(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "(errno 1317) (sqlstate 70100)")
})

t.Run("olap - kill conn", func(t *testing.T) {
testHugeData(t, "olap", func(conn *mysql.Conn, killConn *mysql.Conn) {
utils.Exec(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "EOF (errno 2013) (sqlstate HY000)")
utils.ExecAllowError(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "context canceled (errno 1317) (sqlstate 70100)", "EOF (errno 2013) (sqlstate HY000)")
})

t.Run("olap - kill query", func(t *testing.T) {
testHugeData(t, "olap", func(conn *mysql.Conn, killConn *mysql.Conn) {
utils.Exec(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "EOF (errno 2013) (sqlstate HY000)")
utils.ExecAllowError(t, killConn, fmt.Sprintf("kill query %d", conn.ConnectionID))
}, "context canceled (errno 1317) (sqlstate 70100)", "EOF (errno 2013) (sqlstate HY000)")
})
}

func testHugeData(t *testing.T, workload string, killFunc func(*mysql.Conn, *mysql.Conn), errMsg string) {
func testHugeData(t *testing.T, workload string, killFunc func(*mysql.Conn, *mysql.Conn), errMsgs ...string) {
conn, err := mysql.Connect(context.Background(), &vtParams)
require.NoError(t, err)
defer conn.Close()
Expand All @@ -223,9 +224,18 @@ func testHugeData(t *testing.T, workload string, killFunc func(*mysql.Conn, *mys
for {
select {
case execErr := <-ch:
require.ErrorContains(t, execErr, errMsg)
require.Error(t, execErr)
if execErr == nil {
return
}
for _, errMsg := range errMsgs {
if strings.Contains(execErr.Error(), errMsg) {
return
}
}
require.Failf(t, "error message does not match", "%v does not contain any of %v", execErr.Error(), errMsgs)
return
case <-time.After(100 * time.Millisecond):
case <-time.After(10 * time.Millisecond):
killFunc(conn, killConn)
case <-totalTime:
t.Fatal("test did not complete in 5 seconds.")
Expand Down
4 changes: 2 additions & 2 deletions go/test/endtoend/vtgate/queries/kill/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ func setupData(t *testing.T, huge bool) {
defer conn.Close()

initialRow := 9999
multiplier := 64
multiplier := 32
if !huge {
initialRow = 4
multiplier = 0
Expand All @@ -124,7 +124,7 @@ func setupData(t *testing.T, huge bool) {
for i := 1; i < multiplier; i = i << 1 {
utils.Exec(t, conn, fmt.Sprintf("insert into test(id, msg, extra) select id+%d, msg, extra from test", (initialRow+1)*i))
}
utils.AssertMatches(t, conn, `select count(*), min(id), max(id) from test`, `[[INT64(640000) INT64(0) INT64(639999)]]`)
utils.AssertMatches(t, conn, `select count(*), min(id), max(id) from test`, `[[INT64(320000) INT64(0) INT64(319999)]]`)
}

func dropData(t *testing.T) {
Expand Down

0 comments on commit 74d0c35

Please sign in to comment.