From 7f0fe9412532f2f987010cc88a897820cc03053c Mon Sep 17 00:00:00 2001 From: budougumi0617 Date: Tue, 19 Oct 2021 14:05:47 +0900 Subject: [PATCH 1/3] executor/aggfuncs: migrate test-infra to testify for func_json_arrayagg_test.go --- executor/aggfuncs/aggfunc_test.go | 33 ++++++++++---------- executor/aggfuncs/func_json_arrayagg_test.go | 21 ++++++++----- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/executor/aggfuncs/aggfunc_test.go b/executor/aggfuncs/aggfunc_test.go index c1ea91ff4a0a5..fb6e0ad05c041 100644 --- a/executor/aggfuncs/aggfunc_test.go +++ b/executor/aggfuncs/aggfunc_test.go @@ -898,7 +898,7 @@ func (s *testSuite) testAggFunc(c *C, p aggTest) { c.Assert(result, Equals, 0, Commentf("%v != %v", dt.String(), p.results[0])) } -func (s *testSuite) testAggFuncWithoutDistinct(c *C, p aggTest) { +func testAggFuncWithoutDistinct(t *testing.T, p aggTest) { srcChk := p.genSrcChk() args := []expression.Expression{&expression.Column{RetType: p.dataType, Index: 0}} @@ -908,39 +908,40 @@ func (s *testSuite) testAggFuncWithoutDistinct(c *C, p aggTest) { if p.funcName == ast.AggFuncApproxPercentile { args = append(args, &expression.Constant{Value: types.NewIntDatum(50), RetType: types.NewFieldType(mysql.TypeLong)}) } - desc, err := aggregation.NewAggFuncDesc(s.ctx, p.funcName, args, false) - c.Assert(err, IsNil) + ctx := mock.NewContext() + desc, err := aggregation.NewAggFuncDesc(ctx, p.funcName, args, false) + require.NoError(t, err) if p.orderBy { desc.OrderByItems = []*util.ByItems{ {Expr: args[0], Desc: true}, } } - finalFunc := aggfuncs.Build(s.ctx, desc, 0) + finalFunc := aggfuncs.Build(ctx, desc, 0) finalPr, _ := finalFunc.AllocPartialResult() resultChk := chunk.NewChunkWithCapacity([]*types.FieldType{desc.RetTp}, 1) iter := chunk.NewIterator4Chunk(srcChk) for row := iter.Begin(); row != iter.End(); row = iter.Next() { - _, err = finalFunc.UpdatePartialResult(s.ctx, []chunk.Row{row}, finalPr) - c.Assert(err, IsNil) + _, err = finalFunc.UpdatePartialResult(ctx, []chunk.Row{row}, finalPr) + require.NoError(t, err) } p.messUpChunk(srcChk) - err = finalFunc.AppendFinalResult2Chunk(s.ctx, finalPr, resultChk) - c.Assert(err, IsNil) + err = finalFunc.AppendFinalResult2Chunk(ctx, finalPr, resultChk) + require.NoError(t, err) dt := resultChk.GetRow(0).GetDatum(0, desc.RetTp) - result, err := dt.CompareDatum(s.ctx.GetSessionVars().StmtCtx, &p.results[1]) - c.Assert(err, IsNil) - c.Assert(result, Equals, 0, Commentf("%v != %v", dt.String(), p.results[1])) + result, err := dt.CompareDatum(ctx.GetSessionVars().StmtCtx, &p.results[1]) + require.NoError(t, err) + require.Zerof(t, result, "%v != %v", dt.String(), p.results[1]) // test the empty input resultChk.Reset() finalFunc.ResetPartialResult(finalPr) - err = finalFunc.AppendFinalResult2Chunk(s.ctx, finalPr, resultChk) - c.Assert(err, IsNil) + err = finalFunc.AppendFinalResult2Chunk(ctx, finalPr, resultChk) + require.NoError(t, err) dt = resultChk.GetRow(0).GetDatum(0, desc.RetTp) - result, err = dt.CompareDatum(s.ctx.GetSessionVars().StmtCtx, &p.results[0]) - c.Assert(err, IsNil) - c.Assert(result, Equals, 0, Commentf("%v != %v", dt.String(), p.results[0])) + result, err = dt.CompareDatum(ctx.GetSessionVars().StmtCtx, &p.results[0]) + require.NoError(t, err) + require.Zerof(t, result, "%v != %v", dt.String(), p.results[0]) } func testAggMemFunc(t *testing.T, p aggMemTest) { diff --git a/executor/aggfuncs/func_json_arrayagg_test.go b/executor/aggfuncs/func_json_arrayagg_test.go index 2f5382fd8d518..46511bfb8a4ae 100644 --- a/executor/aggfuncs/func_json_arrayagg_test.go +++ b/executor/aggfuncs/func_json_arrayagg_test.go @@ -15,7 +15,8 @@ package aggfuncs_test import ( - . "github.com/pingcap/check" + "testing" + "github.com/pingcap/errors" "github.com/pingcap/tidb/executor/aggfuncs" "github.com/pingcap/tidb/parser/ast" @@ -25,7 +26,9 @@ import ( "github.com/pingcap/tidb/util/chunk" ) -func (s *testSuite) TestMergePartialResult4JsonArrayagg(c *C) { +func TestMergePartialResult4JsonArrayagg(t *testing.T) { + t.Parallel() + typeList := []byte{mysql.TypeLonglong, mysql.TypeDouble, mysql.TypeString, mysql.TypeJSON} var tests []aggTest @@ -58,11 +61,13 @@ func (s *testSuite) TestMergePartialResult4JsonArrayagg(c *C) { } for _, test := range tests { - s.testMergePartialResult(c, test) + testMergePartialResult(t, test) } } -func (s *testSuite) TestJsonArrayagg(c *C) { +func TestJsonArrayagg(t *testing.T) { + t.Parallel() + typeList := []byte{mysql.TypeLonglong, mysql.TypeDouble, mysql.TypeString, mysql.TypeJSON} var tests []aggTest @@ -84,7 +89,7 @@ func (s *testSuite) TestJsonArrayagg(c *C) { } for _, test := range tests { - s.testAggFuncWithoutDistinct(c, test) + testAggFuncWithoutDistinct(t, test) } } @@ -125,7 +130,9 @@ func jsonArrayaggMemDeltaGens(srcChk *chunk.Chunk, dataType *types.FieldType) (m return memDeltas, nil } -func (s *testSuite) TestMemJsonArrayagg(c *C) { +func TestMemJsonArrayagg(t *testing.T) { + t.Parallel() + typeList := []byte{mysql.TypeLonglong, mysql.TypeDouble, mysql.TypeString, mysql.TypeJSON} var tests []aggMemTest @@ -135,6 +142,6 @@ func (s *testSuite) TestMemJsonArrayagg(c *C) { } for _, test := range tests { - s.testAggMemFunc(c, test) + testAggMemFunc(t, test) } } From ff4a93e3ef9418f22b158c0b8eb1eaebed57934c Mon Sep 17 00:00:00 2001 From: budougumi0617 Date: Tue, 19 Oct 2021 14:08:26 +0900 Subject: [PATCH 2/3] executor/aggfuncs: migrate test-infra to testify for func_first_row_test.go --- executor/aggfuncs/func_first_row_test.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/executor/aggfuncs/func_first_row_test.go b/executor/aggfuncs/func_first_row_test.go index acd971454406e..1967bb0da3a95 100644 --- a/executor/aggfuncs/func_first_row_test.go +++ b/executor/aggfuncs/func_first_row_test.go @@ -15,19 +15,20 @@ package aggfuncs_test import ( + "testing" "time" - . "github.com/pingcap/check" + "github.com/pingcap/tidb/executor/aggfuncs" "github.com/pingcap/tidb/parser/ast" "github.com/pingcap/tidb/parser/mysql" - - "github.com/pingcap/tidb/executor/aggfuncs" "github.com/pingcap/tidb/types" "github.com/pingcap/tidb/types/json" "github.com/pingcap/tidb/util/chunk" ) -func (s *testSuite) TestMergePartialResult4FirstRow(c *C) { +func TestMergePartialResult4FirstRow(t *testing.T) { + t.Parallel() + elems := []string{"e", "d", "c", "b", "a"} enumC, _ := types.ParseEnumName(elems, "c", mysql.DefaultCollationName) enumE, _ := types.ParseEnumName(elems, "e", mysql.DefaultCollationName) @@ -48,11 +49,13 @@ func (s *testSuite) TestMergePartialResult4FirstRow(c *C) { buildAggTester(ast.AggFuncFirstRow, mysql.TypeSet, 5, setE, setED, setE), } for _, test := range tests { - s.testMergePartialResult(c, test) + testMergePartialResult(t, test) } } -func (s *testSuite) TestMemFirstRow(c *C) { +func TestMemFirstRow(t *testing.T) { + t.Parallel() + tests := []aggMemTest{ buildAggMemTester(ast.AggFuncFirstRow, mysql.TypeLonglong, 5, aggfuncs.DefPartialResult4FirstRowIntSize, defaultUpdateMemDeltaGens, false), @@ -76,7 +79,7 @@ func (s *testSuite) TestMemFirstRow(c *C) { aggfuncs.DefPartialResult4FirstRowSetSize, firstRowUpdateMemDeltaGens, false), } for _, test := range tests { - s.testAggMemFunc(c, test) + testAggMemFunc(t, test) } } From 935e1eff829545b7970eaf0e5e4f6b511d5327da Mon Sep 17 00:00:00 2001 From: budougumi0617 Date: Wed, 20 Oct 2021 18:21:36 +0900 Subject: [PATCH 3/3] executor/aggfuncs: migrate test-infra to testify for func_avg_test.go, and func_bitfuncs_test.go --- executor/aggfuncs/func_avg_test.go | 20 +++++++++++++------- executor/aggfuncs/func_bitfuncs_test.go | 15 ++++++++++----- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/executor/aggfuncs/func_avg_test.go b/executor/aggfuncs/func_avg_test.go index cd896f7027c43..9e06611444b3d 100644 --- a/executor/aggfuncs/func_avg_test.go +++ b/executor/aggfuncs/func_avg_test.go @@ -17,34 +17,40 @@ package aggfuncs_test import ( "testing" - . "github.com/pingcap/check" "github.com/pingcap/tidb/executor/aggfuncs" "github.com/pingcap/tidb/parser/ast" "github.com/pingcap/tidb/parser/mysql" "github.com/pingcap/tidb/util/set" ) -func (s *testSuite) TestMergePartialResult4Avg(c *C) { +func TestMergePartialResult4Avg(t *testing.T) { + t.Parallel() + tests := []aggTest{ buildAggTester(ast.AggFuncAvg, mysql.TypeNewDecimal, 5, 2.0, 3.0, 2.375), buildAggTester(ast.AggFuncAvg, mysql.TypeDouble, 5, 2.0, 3.0, 2.375), } for _, test := range tests { - s.testMergePartialResult(c, test) + testMergePartialResult(t, test) } } -func (s *testSuite) TestAvg(c *C) { +func TestAvg(t *testing.T) { + t.Parallel() + tests := []aggTest{ buildAggTester(ast.AggFuncAvg, mysql.TypeNewDecimal, 5, nil, 2.0), buildAggTester(ast.AggFuncAvg, mysql.TypeDouble, 5, nil, 2.0), } + for _, test := range tests { - s.testAggFunc(c, test) + testAggFunc(t, test) } } -func (s *testSuite) TestMemAvg(c *C) { +func TestMemAvg(t *testing.T) { + t.Parallel() + tests := []aggMemTest{ buildAggMemTester(ast.AggFuncAvg, mysql.TypeNewDecimal, 5, aggfuncs.DefPartialResult4AvgDecimalSize, defaultUpdateMemDeltaGens, false), @@ -56,7 +62,7 @@ func (s *testSuite) TestMemAvg(c *C) { aggfuncs.DefPartialResult4AvgDistinctFloat64Size+set.DefFloat64SetBucketMemoryUsage, distinctUpdateMemDeltaGens, true), } for _, test := range tests { - s.testAggMemFunc(c, test) + testAggMemFunc(t, test) } } diff --git a/executor/aggfuncs/func_bitfuncs_test.go b/executor/aggfuncs/func_bitfuncs_test.go index 6f3570bde8f1b..7560c43e80e6a 100644 --- a/executor/aggfuncs/func_bitfuncs_test.go +++ b/executor/aggfuncs/func_bitfuncs_test.go @@ -15,24 +15,29 @@ package aggfuncs_test import ( - . "github.com/pingcap/check" + "testing" + "github.com/pingcap/tidb/executor/aggfuncs" "github.com/pingcap/tidb/parser/ast" "github.com/pingcap/tidb/parser/mysql" ) -func (s *testSuite) TestMergePartialResult4BitFuncs(c *C) { +func TestMergePartialResult4BitFuncs(t *testing.T) { + t.Parallel() + tests := []aggTest{ buildAggTester(ast.AggFuncBitAnd, mysql.TypeLonglong, 5, 0, 0, 0), buildAggTester(ast.AggFuncBitOr, mysql.TypeLonglong, 5, 7, 7, 7), buildAggTester(ast.AggFuncBitXor, mysql.TypeLonglong, 5, 4, 5, 1), } for _, test := range tests { - s.testMergePartialResult(c, test) + testMergePartialResult(t, test) } } -func (s *testSuite) TestMemBitFunc(c *C) { +func TestMemBitFunc(t *testing.T) { + t.Parallel() + tests := []aggMemTest{ buildAggMemTester(ast.AggFuncBitAnd, mysql.TypeLonglong, 5, aggfuncs.DefPartialResult4BitFuncSize, defaultUpdateMemDeltaGens, false), @@ -42,6 +47,6 @@ func (s *testSuite) TestMemBitFunc(c *C) { aggfuncs.DefPartialResult4BitFuncSize, defaultUpdateMemDeltaGens, false), } for _, test := range tests { - s.testAggMemFunc(c, test) + testAggMemFunc(t, test) } }