From 4000e35ec5a431ed9792c95b640e5949dfb8864b Mon Sep 17 00:00:00 2001 From: wangggong <793160615@qq.com> Date: Sun, 21 Nov 2021 15:12:06 +0800 Subject: [PATCH 1/2] ddl/table_split_test.go: migrate test-infra to testify Signed-off-by: wangggong <793160615@qq.com> --- ddl/table_split_test.go | 45 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/ddl/table_split_test.go b/ddl/table_split_test.go index cc8ee498b2d13..04a82549983a4 100644 --- a/ddl/table_split_test.go +++ b/ddl/table_split_test.go @@ -17,35 +17,36 @@ package ddl_test import ( "context" "sync/atomic" + "testing" "time" - . "github.com/pingcap/check" "github.com/pingcap/tidb/ddl" "github.com/pingcap/tidb/parser/model" "github.com/pingcap/tidb/session" "github.com/pingcap/tidb/store/mockstore" "github.com/pingcap/tidb/tablecodec" - "github.com/pingcap/tidb/util/testkit" + "github.com/pingcap/tidb/testkit" + "github.com/tikv/client-go/v2/tikv" -) -type testDDLTableSplitSuite struct{} + "github.com/stretchr/testify/require" +) -var _ = Suite(&testDDLTableSplitSuite{}) +func TestTableSplit(t *testing.T) { + t.Parallel() -func (s *testDDLTableSplitSuite) TestTableSplit(c *C) { store, err := mockstore.NewMockStore() - c.Assert(err, IsNil) + require.NoError(t, err) defer func() { err := store.Close() - c.Assert(err, IsNil) + require.NoError(t, err) }() session.SetSchemaLease(100 * time.Millisecond) session.DisableStats4Test() atomic.StoreUint32(&ddl.EnableSplitTableRegion, 1) dom, err := session.BootstrapSession(store) - c.Assert(err, IsNil) - tk := testkit.NewTestKit(c, store) + require.NoError(t, err) + tk := testkit.NewTestKit(t, store) tk.MustExec("use test") // Synced split table region. tk.MustExec("set global tidb_scatter_region = 1") @@ -56,17 +57,17 @@ func (s *testDDLTableSplitSuite) TestTableSplit(c *C) { defer dom.Close() atomic.StoreUint32(&ddl.EnableSplitTableRegion, 0) infoSchema := dom.InfoSchema() - c.Assert(infoSchema, NotNil) - t, err := infoSchema.TableByName(model.NewCIStr("mysql"), model.NewCIStr("tidb")) - c.Assert(err, IsNil) - checkRegionStartWithTableID(c, t.Meta().ID, store.(kvStore)) + require.NotNil(t, infoSchema, nil) + tbl, err := infoSchema.TableByName(model.NewCIStr("mysql"), model.NewCIStr("tidb")) + require.NoError(t, err) + checkRegionStartWithTableID(t, tbl.Meta().ID, store.(kvStore)) - t, err = infoSchema.TableByName(model.NewCIStr("test"), model.NewCIStr("t_part")) - c.Assert(err, IsNil) - pi := t.Meta().GetPartitionInfo() - c.Assert(pi, NotNil) + tbl, err = infoSchema.TableByName(model.NewCIStr("test"), model.NewCIStr("t_part")) + require.NoError(t, err) + pi := tbl.Meta().GetPartitionInfo() + require.NotNil(t, pi, nil) for _, def := range pi.Definitions { - checkRegionStartWithTableID(c, def.ID, store.(kvStore)) + checkRegionStartWithTableID(t, def.ID, store.(kvStore)) } } @@ -74,14 +75,14 @@ type kvStore interface { GetRegionCache() *tikv.RegionCache } -func checkRegionStartWithTableID(c *C, id int64, store kvStore) { +func checkRegionStartWithTableID(t *testing.T, id int64, store kvStore) { regionStartKey := tablecodec.EncodeTablePrefix(id) var loc *tikv.KeyLocation var err error cache := store.GetRegionCache() loc, err = cache.LocateKey(tikv.NewBackoffer(context.Background(), 5000), regionStartKey) - c.Assert(err, IsNil) + require.NoError(t, err) // Region cache may be out of date, so we need to drop this expired region and load it again. cache.InvalidateCachedRegion(loc.Region) - c.Assert(loc.StartKey, BytesEquals, []byte(regionStartKey)) + require.Equal(t, []byte(regionStartKey), loc.StartKey) } From bdcc16b19e65cb9a4aa3bc7db4164fdc7a9e45da Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 22 Nov 2021 21:43:20 +0800 Subject: [PATCH 2/2] Apply suggestions from code review --- ddl/table_split_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ddl/table_split_test.go b/ddl/table_split_test.go index 04a82549983a4..a7f7462a8400e 100644 --- a/ddl/table_split_test.go +++ b/ddl/table_split_test.go @@ -57,7 +57,7 @@ func TestTableSplit(t *testing.T) { defer dom.Close() atomic.StoreUint32(&ddl.EnableSplitTableRegion, 0) infoSchema := dom.InfoSchema() - require.NotNil(t, infoSchema, nil) + require.NotNil(t, infoSchema) tbl, err := infoSchema.TableByName(model.NewCIStr("mysql"), model.NewCIStr("tidb")) require.NoError(t, err) checkRegionStartWithTableID(t, tbl.Meta().ID, store.(kvStore)) @@ -65,7 +65,7 @@ func TestTableSplit(t *testing.T) { tbl, err = infoSchema.TableByName(model.NewCIStr("test"), model.NewCIStr("t_part")) require.NoError(t, err) pi := tbl.Meta().GetPartitionInfo() - require.NotNil(t, pi, nil) + require.NotNil(t, pi) for _, def := range pi.Definitions { checkRegionStartWithTableID(t, def.ID, store.(kvStore)) }