func (s *Suite) TestCleanKillTimeout(c *gc.C) { w := workertest.NewForeverWorker(nil) defer w.ReallyKill() workertest.CleanKill(c, w) s.CheckFailed(c) }
func (*WorkerSuite) TestStopWaits(c *gc.C) { w := workertest.NewForeverWorker(nil) defer workertest.CheckKilled(c, w) defer w.ReallyKill() done := make(chan struct{}) go func() { defer close(done) worker.Stop(w) }() select { case <-time.After(coretesting.ShortWait): case <-done: c.Fatalf("Stop returned early") } w.ReallyKill() select { case <-done: case <-time.After(coretesting.LongWait): c.Fatalf("Stop never returned") } }
func (s *Suite) TestCheckKillTimeout(c *gc.C) { w := workertest.NewForeverWorker(nil) defer w.ReallyKill() err := workertest.CheckKill(c, w) s.CheckFailed(c) c.Check(err, gc.ErrorMatches, "workertest: worker not stopping") }