本文整理汇总了Golang中github.com/flynn/go-check.C.Failed方法的典型用法代码示例。如果您正苦于以下问题:Golang C.Failed方法的具体用法?Golang C.Failed怎么用?Golang C.Failed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/flynn/go-check.C
的用法示例。
在下文中一共展示了C.Failed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: testClusterBackup
func (s *ZZBackupSuite) testClusterBackup(t *c.C, index int, path string) {
debugf(t, "restoring cluster backup %s", filepath.Base(path))
// boot the cluster using an RFC 5737 TEST-NET IP, avoiding conflicts
// with those used by script/bootstrap-flynn so the test can be run in
// development
ip := fmt.Sprintf("192.0.2.%d", index+100)
device := fmt.Sprintf("eth0:%d", index+10)
t.Assert(run(t, exec.Command("sudo", "ifconfig", device, ip)), Succeeds)
dir := t.MkDir()
debugf(t, "using tempdir %s", dir)
debug(t, "starting flynn-host")
cmd := exec.Command(
"sudo",
"../host/bin/flynn-host",
"daemon",
"--id", fmt.Sprintf("backup%d", index),
"--external-ip", ip,
"--listen-ip", ip,
"--bridge-name", fmt.Sprintf("backupbr%d", index),
"--state", filepath.Join(dir, "host-state.bolt"),
"--volpath", filepath.Join(dir, "volumes"),
"--log-dir", filepath.Join(dir, "logs"),
"--flynn-init", "../host/bin/flynn-init",
)
out, err := os.Create(filepath.Join(dir, "flynn-host.log"))
t.Assert(err, c.IsNil)
defer out.Close()
cmd.Stdout = out
cmd.Stderr = out
t.Assert(cmd.Start(), c.IsNil)
go cmd.Process.Wait()
defer func() {
// collect-debug-info if the tests failed then kill flynn-host
if t.Failed() {
cmd := exec.Command(
"sudo",
"-E",
"../host/bin/flynn-host",
"collect-debug-info",
"--log-dir", filepath.Join(dir, "logs"),
)
cmd.Env = []string{fmt.Sprintf("DISCOVERD=%s:1111", ip)}
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Run()
}
exec.Command("sudo", "kill", strconv.Itoa(cmd.Process.Pid)).Run()
}()
debugf(t, "bootstrapping flynn from backup")
cmd = exec.Command(
"../host/bin/flynn-host",
"bootstrap",
"--peer-ips", ip,
"--from-backup", path,
"../bootstrap/bin/manifest.json",
)
cmd.Env = []string{
"CLUSTER_DOMAIN=1.localflynn.com",
fmt.Sprintf("DISCOVERD=%s:1111", ip),
fmt.Sprintf("FLANNEL_NETWORK=100.%d.0.0/16", index+101),
}
logR, logW := io.Pipe()
defer logW.Close()
go func() {
buf := bufio.NewReader(logR)
for {
line, err := buf.ReadString('\n')
if err != nil {
return
}
debug(t, line[0:len(line)-1])
}
}()
cmd.Stdout = logW
cmd.Stderr = logW
t.Assert(cmd.Run(), c.IsNil)
debug(t, "waiting for nodejs-web service")
disc := discoverd.NewClientWithURL(fmt.Sprintf("http://%s:1111", ip))
_, err = disc.Instances("nodejs-web", 30*time.Second)
t.Assert(err, c.IsNil)
debug(t, "checking HTTP requests")
req, err := http.NewRequest("GET", "http://"+ip, nil)
t.Assert(err, c.IsNil)
req.Host = "nodejs.1.localflynn.com"
var res *http.Response
// try multiple times in case we get a 503 from the router as it has
// not seen the service yet
err = attempt.Strategy{Total: 10 * time.Second, Delay: 100 * time.Millisecond}.Run(func() (err error) {
res, err = http.DefaultClient.Do(req)
if err != nil {
return err
} else if res.StatusCode == http.StatusServiceUnavailable {
return errors.New("router returned 503")
//.........这里部分代码省略.........