示例#1
0
文件: worker_test.go 项目: bac/juju
func (*WorkerSuite) TestDeadAlready(c *gc.C) {
	w := workertest.NewDeadWorker(nil)

	select {
	case _, ok := <-worker.Dead(w):
		c.Check(ok, jc.IsFalse)
	case <-time.After(coretesting.LongWait):
		c.Fatalf("Dead never sent")
	}
}
示例#2
0
文件: worker_test.go 项目: bac/juju
func (*WorkerSuite) TestDeadWaits(c *gc.C) {
	w := workertest.NewErrorWorker(nil)
	defer workertest.CleanKill(c, w)

	dead := worker.Dead(w)
	select {
	case <-time.After(coretesting.ShortWait):
	case _, ok := <-dead:
		if !ok {
			c.Fatalf("Dead closed early")
		} else {
			c.Fatalf("Dead sent unexpectedly")
		}
	}

	w.Kill()
	select {
	case _, ok := <-dead:
		c.Check(ok, jc.IsFalse)
	case <-time.After(coretesting.LongWait):
		c.Fatalf("Dead never closed")
	}
}
示例#3
0
文件: restart.go 项目: kat-co/juju
func (r *leaseWorkerReplacer) needed() <-chan struct{} {
	return worker.Dead(r.current)
}