// RunRestart starts a RestartWorkers inside a fresh Context and // supplies it to a test func. func (fix Fixture) RunRestart(c *gc.C, test func(Context, *workers.RestartWorkers)) { fix.Run(c, func(ctx Context) { rw, err := workers.NewRestartWorkers(workers.RestartConfig{ Factory: ctx.Factory(), Logger: loggo.GetLogger("test"), Clock: ctx.Clock(), Delay: fiveSeconds, }) c.Assert(err, jc.ErrorIsNil) defer workertest.DirtyKill(c, rw) test(ctx, rw) }) }
// FailRestart verifies that a RestartWorkers cannot start successfully, and // checks that the returned error matches. func (fix Fixture) FailRestart(c *gc.C, match string) { fix.Run(c, func(ctx Context) { rw, err := workers.NewRestartWorkers(workers.RestartConfig{ Factory: ctx.Factory(), Logger: loggo.GetLogger("test"), Clock: ctx.Clock(), Delay: fiveSeconds, }) if !c.Check(rw, gc.IsNil) { workertest.DirtyKill(c, rw) } c.Check(err, gc.ErrorMatches, match) }) }
func checkInvalidRestartConfig(c *gc.C, config workers.RestartConfig, match string) { check := func(err error) { c.Check(err, jc.Satisfies, errors.IsNotValid) c.Check(err, gc.ErrorMatches, match) } err := config.Validate() check(err) rw, err := workers.NewRestartWorkers(config) if !c.Check(rw, gc.IsNil) { workertest.DirtyKill(c, rw) } check(err) }