本文整理汇总了Golang中go/skia/org/infra/go/exec.CommandCollector.SetDelegateRun方法的典型用法代码示例。如果您正苦于以下问题:Golang CommandCollector.SetDelegateRun方法的具体用法?Golang CommandCollector.SetDelegateRun怎么用?Golang CommandCollector.SetDelegateRun使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go/skia/org/infra/go/exec.CommandCollector
的用法示例。
在下文中一共展示了CommandCollector.SetDelegateRun方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestChromiumPerfExecute
func TestChromiumPerfExecute(t *testing.T) {
task := pendingChromiumPerfTask()
mockRun := exec.CommandCollector{}
exec.SetRunForTesting(mockRun.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
mockRun.SetDelegateRun(func(cmd *exec.Command) error {
runId := getRunId(t, cmd)
assertFileContents(t, filepath.Join(os.TempDir(), runId+".chromium.patch"),
"chromiumpatch\n")
assertFileContents(t, filepath.Join(os.TempDir(), runId+".skia.patch"),
"skiapatch\n")
return nil
})
err := task.Execute()
assert.NoError(t, err)
assert.Len(t, mockRun.Commands(), 1)
cmd := mockRun.Commands()[0]
expect.Equal(t, "run_chromium_perf_on_workers", cmd.Name)
expect.Contains(t, cmd.Args, "--gae_task_id=42")
expect.Contains(t, cmd.Args, "--description=description")
expect.Contains(t, cmd.Args, "[email protected]")
expect.Contains(t, cmd.Args, "--benchmark_name=benchmark")
expect.Contains(t, cmd.Args, "--target_platform=Linux")
expect.Contains(t, cmd.Args, "--pageset_type=All")
expect.Contains(t, cmd.Args, "--repeat_benchmark=1")
expect.Contains(t, cmd.Args, "--benchmark_extra_args=benchmarkargs")
expect.Contains(t, cmd.Args, "--browser_extra_args_nopatch=banp")
expect.Contains(t, cmd.Args, "--browser_extra_args_withpatch=bawp")
runId := getRunId(t, cmd)
expect.Contains(t, cmd.Args, "--log_id="+runId)
expect.NotNil(t, cmd.Timeout)
}
示例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: TestLuaScriptExecuteWithAggregator
func TestLuaScriptExecuteWithAggregator(t *testing.T) {
task := pendingLuaScriptTaskWithAggregator()
mockRun := exec.CommandCollector{}
exec.SetRunForTesting(mockRun.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
mockRun.SetDelegateRun(func(cmd *exec.Command) error {
runId := getRunId(t, cmd)
assertFileContents(t, filepath.Join(os.TempDir(), runId+".lua"),
`print("lualualua")`)
assertFileContents(t, filepath.Join(os.TempDir(), runId+".aggregator"),
`print("aaallluuu")`)
return nil
})
err := task.Execute()
assert.NoError(t, err)
assert.Len(t, mockRun.Commands(), 1)
cmd := mockRun.Commands()[0]
expect.Equal(t, "run_lua_on_workers", cmd.Name)
expect.Contains(t, cmd.Args, "--gae_task_id=42")
expect.Contains(t, cmd.Args, "--description=description")
expect.Contains(t, cmd.Args, "[email protected]")
expect.Contains(t, cmd.Args, "--pageset_type=All")
expect.Contains(t, cmd.Args, "--chromium_build=c14d891-586101c")
runId := getRunId(t, cmd)
expect.Contains(t, cmd.Args, "--log_id="+runId)
expect.NotNil(t, cmd.Timeout)
}
示例4: TestDoWorkerHealthCheckError
// Test that an error executing check_workers_health does not bubble up.
func TestDoWorkerHealthCheckError(t *testing.T) {
commandCollector := exec.CommandCollector{}
mockRun := exec.MockRun{}
commandCollector.SetDelegateRun(mockRun.Run)
exec.SetRunForTesting(commandCollector.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
mockRun.AddRule("check_workers_health", fmt.Errorf("I'm not a doctor."))
// Expect error to be logged and ignored.
doWorkerHealthCheck()
// Expect three commands: git pull; make all; check_workers_health --log_dir=/b/storage/glog
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, "check_workers_health --log_dir=/b/storage/glog --local=false",
exec.DebugString(commands[2]))
}
示例5: TestLuaScriptExecuteWithoutAggregator
func TestLuaScriptExecuteWithoutAggregator(t *testing.T) {
task := LuaScriptTask{
DBTask: lua_scripts.DBTask{
CommonCols: pendingCommonCols(),
PageSets: "All",
ChromiumRev: "c14d891d44f0afff64e56ed7c9702df1d807b1ee",
SkiaRev: "586101c79b0490b50623e76c71a5fd67d8d92b08",
LuaScript: `print("lualualua")`,
LuaAggregatorScript: "",
Description: "description",
},
}
mockRun := exec.CommandCollector{}
exec.SetRunForTesting(mockRun.Run)
defer exec.SetRunForTesting(exec.DefaultRun)
mockRun.SetDelegateRun(func(cmd *exec.Command) error {
runId := getRunId(t, cmd)
assertFileContents(t, filepath.Join(os.TempDir(), runId+".lua"),
`print("lualualua")`)
_, err := os.Stat(filepath.Join(os.TempDir(), runId+".aggregator"))
expect.True(t, os.IsNotExist(err))
return nil
})
err := task.Execute()
assert.NoError(t, err)
assert.Len(t, mockRun.Commands(), 1)
cmd := mockRun.Commands()[0]
expect.Equal(t, "run_lua_on_workers", cmd.Name)
expect.Contains(t, cmd.Args, "--gae_task_id=42")
expect.Contains(t, cmd.Args, "[email protected]")
expect.Contains(t, cmd.Args, "--pageset_type=All")
expect.Contains(t, cmd.Args, "--chromium_build=c14d891-586101c")
runId := getRunId(t, cmd)
expect.Contains(t, cmd.Args, "--log_id="+runId)
expect.NotNil(t, cmd.Timeout)
}