Files
tidb/dumpling/export/util_test.go
2021-12-14 18:06:36 +08:00

32 lines
994 B
Go

// Copyright 2021 PingCAP, Inc. Licensed under Apache-2.0.
package export
import (
"fmt"
"testing"
"github.com/pingcap/tidb/br/pkg/version"
"github.com/stretchr/testify/require"
)
func TestRepeatableRead(t *testing.T) {
data := [][]interface{}{
{version.ServerTypeUnknown, consistencyTypeNone, true},
{version.ServerTypeMySQL, consistencyTypeFlush, true},
{version.ServerTypeMariaDB, consistencyTypeLock, true},
{version.ServerTypeTiDB, consistencyTypeNone, true},
{version.ServerTypeTiDB, consistencyTypeSnapshot, false},
{version.ServerTypeTiDB, consistencyTypeLock, true},
}
dec := func(d []interface{}) (version.ServerType, string, bool) {
return version.ServerType(d[0].(int)), d[1].(string), d[2].(bool)
}
for tag, datum := range data {
serverTp, consistency, expectRepeatableRead := dec(datum)
comment := fmt.Sprintf("test case number: %d", tag)
rr := needRepeatableRead(serverTp, consistency)
require.True(t, rr == expectRepeatableRead, comment)
}
}