本文整理汇总了Golang中go/skia/org/infra/ct/go/frontend.MockServer.SetCurrentTask方法的典型用法代码示例。如果您正苦于以下问题:Golang MockServer.SetCurrentTask方法的具体用法?Golang MockServer.SetCurrentTask怎么用?Golang MockServer.SetCurrentTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go/skia/org/infra/ct/go/frontend.MockServer
的用法示例。
在下文中一共展示了MockServer.SetCurrentTask方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestPollAndExecOnceMultipleTasks
func TestPollAndExecOnceMultipleTasks(t *testing.T) {
task1 := pendingRecreateWebpageArchivesTask()
mockServer := frontend.MockServer{}
mockServer.SetCurrentTask(&task1.RecreateWebpageArchivesDBTask)
defer frontend.CloseTestServer(frontend.InitTestServer(&mockServer))
mockExec := exec.CommandCollector{}
exec.SetRunForTesting(mockExec.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
// Poll frontend and execute the first task.
pollAndExecOnce()
// Update current task.
task2 := pendingChromiumPerfTask()
mockServer.SetCurrentTask(&task2.DBTask)
// Poll frontend and execute the second task.
pollAndExecOnce()
// Expect two pending task requests.
expect.Equal(t, 2, mockServer.OldestPendingTaskReqCount())
// Expect six commands: git pull; make all; capture_archives_on_workers ...; git pull;
// make all; run_chromium_perf_on_workers ...
commands := mockExec.Commands()
assert.Len(t, commands, 6)
expect.Equal(t, "git pull", exec.DebugString(commands[0]))
expect.Equal(t, "make all", exec.DebugString(commands[1]))
expect.Equal(t, "capture_archives_on_workers", commands[2].Name)
expect.Equal(t, "git pull", exec.DebugString(commands[3]))
expect.Equal(t, "make all", exec.DebugString(commands[4]))
expect.Equal(t, "run_chromium_perf_on_workers", commands[5].Name)
// No updates expected when commands succeed.
expect.Empty(t, mockServer.UpdateTaskReqs())
}
示例2: TestPollAndExecOnceError
func TestPollAndExecOnceError(t *testing.T) {
task := pendingRecreateWebpageArchivesTask()
mockServer := frontend.MockServer{}
mockServer.SetCurrentTask(&task.RecreateWebpageArchivesDBTask)
defer frontend.CloseTestServer(frontend.InitTestServer(&mockServer))
commandCollector := exec.CommandCollector{}
mockRun := exec.MockRun{}
commandCollector.SetDelegateRun(mockRun.Run)
exec.SetRunForTesting(commandCollector.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
mockRun.AddRule("capture_archives_on_workers", fmt.Errorf("workers too lazy"))
pollAndExecOnce()
// Expect only one poll.
expect.Equal(t, 1, mockServer.OldestPendingTaskReqCount())
// Expect three commands: git pull; make all; capture_archives_on_workers ...
commands := commandCollector.Commands()
assert.Len(t, commands, 3)
expect.Equal(t, "git pull", exec.DebugString(commands[0]))
expect.Equal(t, "make all", exec.DebugString(commands[1]))
expect.Equal(t, "capture_archives_on_workers", commands[2].Name)
// Expect an update marking task failed when command fails to execute.
assert.Len(t, mockServer.UpdateTaskReqs(), 1)
updateReq := mockServer.UpdateTaskReqs()[0]
assert.Equal(t, "/"+ctfeutil.UPDATE_RECREATE_WEBPAGE_ARCHIVES_TASK_POST_URI, updateReq.Url)
assert.NoError(t, updateReq.Error)
assert.False(t, updateReq.Vars.TsStarted.Valid)
assert.True(t, updateReq.Vars.TsCompleted.Valid)
assert.True(t, updateReq.Vars.Failure.Valid)
assert.True(t, updateReq.Vars.Failure.Bool)
assert.False(t, updateReq.Vars.RepeatAfterDays.Valid)
assert.Equal(t, int64(42), updateReq.Vars.Id)
}
示例3: TestPollAndExecOnceNoTasks
func TestPollAndExecOnceNoTasks(t *testing.T) {
mockServer := frontend.MockServer{}
mockServer.SetCurrentTask(nil)
defer frontend.CloseTestServer(frontend.InitTestServer(&mockServer))
mockExec := exec.CommandCollector{}
exec.SetRunForTesting(mockExec.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
// Poll frontend, no tasks.
pollAndExecOnce()
pollAndExecOnce()
pollAndExecOnce()
// Expect three polls.
expect.Equal(t, 3, mockServer.OldestPendingTaskReqCount())
// Expect no commands.
expect.Empty(t, mockExec.Commands())
// No updates expected.
expect.Empty(t, mockServer.UpdateTaskReqs())
}
示例4: TestPollAndExecOnce
func TestPollAndExecOnce(t *testing.T) {
task := pendingRecreateWebpageArchivesTask()
mockServer := frontend.MockServer{}
mockServer.SetCurrentTask(&task.RecreateWebpageArchivesDBTask)
defer frontend.CloseTestServer(frontend.InitTestServer(&mockServer))
mockExec := exec.CommandCollector{}
exec.SetRunForTesting(mockExec.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
pollAndExecOnce()
// Expect only one poll.
expect.Equal(t, 1, mockServer.OldestPendingTaskReqCount())
// Expect three commands: git pull; make all; capture_archives_on_workers ...
commands := mockExec.Commands()
assert.Len(t, commands, 3)
expect.Equal(t, "git pull", exec.DebugString(commands[0]))
expect.Equal(t, "make all", exec.DebugString(commands[1]))
expect.Equal(t, "capture_archives_on_workers", commands[2].Name)
// No updates expected. (capture_archives_on_workers would send updates if it were
// executed.)
expect.Empty(t, mockServer.UpdateTaskReqs())
}