disttask: mock to start multiple scheduler/taskexecutor (#50801)

ref pingcap/tidb#49008
This commit is contained in:
D3Hunter
2024-01-30 17:48:23 +08:00
committed by GitHub
parent 4e416993cc
commit be57d2fd87
21 changed files with 493 additions and 236 deletions

View File

@ -24,15 +24,13 @@ import (
)
func TestFrameworkRollback(t *testing.T) {
ctx, ctrl, testContext, distContext := testutil.InitTestContext(t, 2)
defer ctrl.Finish()
testutil.RegisterRollbackTaskMeta(t, ctrl, testutil.GetMockRollbackSchedulerExt(ctrl), testContext)
c := testutil.NewTestDXFContext(t, 2)
testutil.RegisterRollbackTaskMeta(t, c.MockCtrl, testutil.GetMockRollbackSchedulerExt(c.MockCtrl), c.TestContext)
require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/pkg/disttask/framework/scheduler/cancelTaskAfterRefreshTask", "2*return(true)"))
defer func() {
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/pkg/disttask/framework/scheduler/cancelTaskAfterRefreshTask"))
}()
task := testutil.SubmitAndWaitTask(ctx, t, "key1")
task := testutil.SubmitAndWaitTask(c.Ctx, t, "key1")
require.Equal(t, proto.TaskStateReverted, task.State)
distContext.Close()
}